- PR -

iptables で FTP 21ポート制限できない??

1
投稿者投稿内容
MATSU
会議室デビュー日: 2007/11/20
投稿数: 8
投稿日時: 2007-12-12 11:53
CentOS5上のiptables で FTP 21ポート制限がしたいのですが、なかなかうまくいかないのでご教授いただければ幸いです。

VMWare上にCentOS5をインストールし、このOS上でhttpポートだけ空けようと思い

iptables -F
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --sport 80 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/rc.d/init.d/iptables restart

を実行しました。
その後、WindowsPCクライアントからnmapで上記OSのポートを確認すると、ftp(21)ポートが開いたままとの結果がでてしまいます。(110ポートもなぜか開いている)

> nmap 192.168.1.110
Interesting ports on 192.168.1.110:
Not shown: 1694 filtered ports
PORT STATE SERVICE
21/tcp open ftp
80/tcp open http
110/tcp open pop3
Nmap finished: 1 IP address (1 host up) scanned in 121.610 seconds

CentOS上のiptables設定は以下とおりです。

# iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere tcp spt:http

Chain FORWARD (policy DROP)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

何か足りない設定があるのでしょうか?
もしご存知の方がいればアドバイス頂ければ幸いです。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2007-12-12 12:51
こんにちは.

別の node に nmap してしまっているなんてことはありませんよね?
ftp daemon や pop3 daemon は本当に起動していますか?
MATSU
会議室デビュー日: 2007/11/20
投稿数: 8
投稿日時: 2007-12-12 13:34
ご返答ありがとうございます。

> 別の node に nmap してしまっているなんてことはありませんよね?

はい、別ノードではありません。

> ftp daemon や pop3 daemon は本当に起動していますか?

これらは起動していません。
ただポートが開いて見えている現象が知りたいのです。
しかもWindows PC から telnet 192.168.1.110(CentOS5) 21 を行うと拒否されず、何もメッセージを表示しない状態になります(受け入れられている?)
拒否される場合は「接続に失敗しました」と表示されると考えるためです。

ちなみに、VMWareのCentOS5自身からnmapを行うと

PORT STATE SERVICE
80/tcp open http

と表示され、httpdのみしか開いてないので期待した動作となります。
ルーターを介してPCからServerにアクセスしてますが、特にポート制限などは行っていません。
なぜ自分自身から自分自身(ServerからServer)のアクセスの時だけ、21, 110 が閉じていることになり、WindowsPcからServerへのアクセスは21,110が閉じていないのかが、理解できないのです。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2007-12-12 19:58
こんばんは.
引用:

MATSUさんの書き込み (2007-12-12 13:34) より:

なぜ自分自身から自分自身(ServerからServer)のアクセスの時だけ、21, 110 が閉じていることになり、WindowsPcからServerへのアクセスは21,110が閉じていないのかが、理解できないのです。


「なぜ閉じているか?」というのはあまり考えなくて良いと思います.
むしろ「起動していない daemon の port が listen されている」ことが
大きな問題だと思います.
その CentOS で他に 21/tcp や 110/tcp を
listen している software はありませんか?
また,nmap した際に access log を吐くように iptables で設定して,
確実に問題の CentOS へ向けて nmap で接続していることを
確認することをお奨めします.
MATSU
会議室デビュー日: 2007/11/20
投稿数: 8
投稿日時: 2007-12-13 15:18
いろいろ試してみたのですが、CentOS5上のiptablesは効いているようです。
以下手順で確認しました。

1.CentOS5上でvsftpインストール
2.CentOS5上でiptablesを停止
3.WindowsPC上で telnet 192.168.1.110 21 実行
 220 (vsFTPd 2.0.5)
 と表示され、接続されていることが確認できました
4.CentOS5上でiptablesを起動
5.再度、WindowsPC上で telnet 192.168.1.110 21 実行
 何も表示されないが、一応受け付けている
 → DOSプロンプトに何も表示されないまま、カーソルプロンプトが点滅したまま

この結果FTP接続できていないようです。FTPコマンドうっても反応ないので。
ただ、接続拒否とは異なる状態?なのですよね。

う〜ん・・・不思議だ。。
progman
大ベテラン
会議室デビュー日: 2005/06/08
投稿数: 227
投稿日時: 2007-12-13 15:37
nmapを実行してるマシンの
netstat -an
の結果はどうなってますか?
その結果とnetstat見方をネットで検索されてはどうでしょう?

接続拒否は相手ノードが、そんなポート開いてませんよ。と教えてくれるのです。
それだとnmapは即時にそのポートが使える。使えない。と判断できてしまいます。
ダンマリは無視しているのです。それだとnmapはタイムアウトするまで延々と
パケットを投げます。

つまり無視されるとクラッカーはポートが開いているのか、閉じているのか容易に
判断しづらい状況となるということです。
よりクラックされづらい状況とするために、否定応答を返さず、無視するように
設定するのが一般的です。

はむ
会議室デビュー日: 2006/12/15
投稿数: 8
投稿日時: 2007-12-18 08:54
Norton Internet Firewall などクライアントWindows上で
パーソナルファイアウォールが稼動していると、相手サーバ側の
状態がどうであろうと、TCP の3WayHandshake だけ
成功することがありました。
1

スキルアップ/キャリアアップ(JOB@IT)