dinamic filter

<html>
<title>dinamic filter</title>
<body>
<body bgcolor="rosybrown">
/etc/sysconfig/iptables-config
<br>
IPTABLES_MODULES="ip_conntrack_ftp"
<br>
<pre>
NEWがないと一切の通信がダメ。ポートが開かない。NEWだけは特別なのだ
アプリ    I/O    SA    DA    PROT    SP    DP    CONN.STAT
FTP    OUT    自分    FTP鯖    TCP    ー    21    NEW(一番最初のステータスですよ)、ESTABLISHED コマンドチャンネル?
FTP    IN    FTP鯖    自分    TCP    21    ー    ESTABLISHED(全部ACKがついてますから?) コマンドチャンネル?
ポート番号21ってFTPの制御用のポートだよね
何番のポートと何番のポートで通信しますよでRELATED(関係のある)通信になる
↓データチャンネル
FTP    OUT    自分    FTP鯖    TCP    ー    ー    RELATED、ESTABLISHED
FTP    IN    FTP鯖    自分    TCP    ー    ー    ESTABLISHED

<font size=5 color=darkblue><b>iptables追加ftpパッシブモードクライアントルール</b></font>
#dinamicfilter ftp comand-ch
-A OUTPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT
#dinamicfilter ftp date-ch
-A OUTPUT -p tcp -m state --state RELATED,ESTABLISHED -m helper --helper ftp -j ACCEPT
-A INPUT -p tcp -m state --state ESTABLISHED -m helper --helper ftp -j ACCEPT

-m state
接続状態の指定
接続状態にはNEW、INVALID、ESTABLISHED、RELATEDが指定できる

-m helper
unknown

-A
指定したチェインにルールを追加する
-F
-Aとは逆でチェインの内容を削除する

<font size=5 color=darkblue><b>検証</b></font>
[root@neteng18 ~]#
[root@neteng18 ~]# ftp 192.168.128.1
Connected to 192.168.128.1.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (192.168.128.1:root): neteng18
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ascii
200 Switching to ASCII mode.
ftp> get welcome
local: welcome remote: welcome
227 Entering Passive Mode (192,168,128,1,115,140)
150 Opening BINARY mode data connection for welcome (24 bytes).
WARNING! 2 bare linefeeds received in ASCII mode
File may not have transferred correctly.
226 File send OK.
24 bytes received in 0.00013 seconds (1.9e+02 Kbytes/s)
ftp> quit
221 Goodbye.
[root@neteng18 ~]# cat /proc/net/ip_conntrack
tcp      6 112 TIME_WAIT src=192.168.128.212 dst=192.168.128.1 sport=45107 dport=29580 packets=4 bytes=216 src=192.168.128.1 dst=192.168.128.212 sport=29580 dport=45107 packets=4 bytes=240 [ASSURED] mark=0 secmark=0 use=1
tcp      6 117 TIME_WAIT src=192.168.128.212 dst=192.168.128.1 sport=54614 dport=21 packets=21 bytes=1201 src=192.168.128.1 dst=192.168.128.212 sport=21 dport=54614 packets=15 bytes=1139 [ASSURED] mark=0 secmark=0 use=2
[root@neteng18 ~]# cat welcome
Welcome to ftp server!

<b><font size=4 color=darkblue>ノーマルモード</font></b>
FTP上でpassiveと打つとON/OFFを切り替えることができる
パッシブモードの設定だとコマンドをやっても通信ができないのですよう
ー私案ー
合意はもうできている上で
要はノーマルということはFTP鯖からの20番ポートからのTCPデータを受信できればよいだから
アプリ    I/O    SA    DA    Prot    SP    DP    State
FTP    IN    FTP鯖    自分    TCP    20    ー    RELATED,ESTABLISHED
FTP    OUT    自分    FTP鯖    TCP    ー    20    ESTABLISHED
FTPクライアントの設定ノーマルデータCHを送受信するにはこれだけで良い
#dinamicfilter ftp date-ch
-A INPUT -p tcp --sport 20 -m state --state RELATED,ESTABLISHED -m helper --helper ftp -j ACCEPT
-A OUTPUT -p tcp --dport 20 -m state --state ESTABLISHED -m helper --helper ftp -j ACCEPT
<font size=5 color=darkblue><b>検証</b></font>
[root@neteng18 ~]# ftp 192.168.128.1
Connected to 192.168.128.1.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (192.168.128.1:root): neteng18
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
ftp> quit
221 Goodbye.
[root@neteng18 ~]# ftp 192.168.128.1
Connected to 192.168.128.1.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (192.168.128.1:root): neteng18
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> passive
Passive mode off.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-r--r--    1 518      500            24 Feb 25 02:34 welcome
226 Directory send OK.
ftp> get welcome
local: welcome remote: welcome
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for welcome (24 bytes).
226 File send OK.
24 bytes received in 8.6e-05 seconds (2.7e+02 Kbytes/s)
ftp> quit
221 Goodbye.
[root@neteng18 ~]# cat /proc/net/ip_conntrack
tcp      6 96 TIME_WAIT src=192.168.128.1 dst=192.168.128.212 sport=20 dport=35862 packets=5 bytes=333 src=192.168.128.212 dst=192.168.128.1 sport=35862 dport=20 packets=3 bytes=164 [ASSURED] mark=0 secmark=0 use=1
tcp      6 79 TIME_WAIT src=192.168.128.212 dst=192.168.128.1 sport=35714 dport=21 packets=16 bytes=911 src=192.168.128.1 dst=192.168.128.212 sport=21 dport=35714 packets=13 bytes=888 [ASSURED] mark=0 secmark=0 use=1
tcp      6 112 TIME_WAIT src=192.168.128.212 dst=192.168.128.1 sport=35715 dport=21 packets=23 bytes=1364 src=192.168.128.1 dst=192.168.128.212 sport=21 dport=35715 packets=18 bytes=1410 [ASSURED] mark=0 secmark=0 use=3
tcp      6 107 TIME_WAIT src=192.168.128.1 dst=192.168.128.212 sport=20 dport=60047 packets=5 bytes=292 src=192.168.128.212 dst=192.168.128.1 sport=60047 dport=20 packets=3 bytes=164 [ASSURED] mark=0 secmark=0 use=1
[root@neteng18 ~]#

<a href="index.html">戻る</a>
</body>
</html>

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2008年03月06日 14:33
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。