◆ FTPアクティブモードのACL
FTPアクティブモードでは、コントロールコネクションにポート番号 21 を使用し、データコネクションに
ポート番号 20 を使用します。アクティブモードでは、コントロールコネクションはクライアントからFTP
サーバに接続を開始しますが、データコネクションでは、FTPサーバからクライアントに接続を開始します。
アクティブモードを前提として、FTPトラフィックのみを許可したいACLを IN で適用する設定は以下です。
Catalyst(config)# access-list 101 permit tcp host 192.168.1.1 host 10.1.1.1 eq ftp
Catalyst(config)# access-list 101 permit tcp host 192.168.1.1 host 10.1.1.1 eq ftp-data
Catalyst(config)# interface GigabitEthernet 0/1
Catalyst(config-if)# ip access-group 101 in
|
◆ FTPパッシブモードのACL
FTPのアクティブモードの場合、FTPサーバからクライアントにデータコネクションの接続開始を行うこと
から、ファイアウォール環境下では、外部からの接続開始となりセキュリティ上問題になることがあります。
FTPのパッシブモードでは、データコネクションもコントロールコネクションもクライアントからの接続開始
となります。パッシブモードでは、アクティブ同様にFTPサーバ側でコントロールコネクションにポート番号
21 を使用しますが、データコネクションにはポート番号 20 ではなくウェルノウンポート番号以外の番号を
使用します。データコネクション接続前にサーバからクライアントに、FTPサーバのポート番号を通知します。
FTPパッシブモードを前提として、FTPトラフィックのみを許可したいACLを IN で適用する設定は以下です。
パッシブモードでは、サーバで使用するデータコネクション用のポート番号はウェルノウンポート番号以外。
Catalyst(config)# access-list 101 permit tcp host 192.168.1.1 host 10.1.1.1 eq ftp
Catalyst(config)# access-list 101 permit tcp host 192.168.1.1 host 10.1.1.1 gt 1023
Catalyst(config)# interface GigabitEthernet 0/1
Catalyst(config-if)# ip access-group 101 in
|
FTPクライアントがパッシブモードであるにもかかわらず、ポート番号 20 と 21 を指定したアクティブ
モード用のACLでも通信することができる現象が発生した場合、それはFTPにおいてパッシブモードから
アクティブモードへと自動的に変更しています。詳しくはキャプチャー解析する際に ICMP type3 cod13
を受信した後のFTPシーケンスをご確認ください。
◆ FTPアクティブモードのACL - establishedを使用
FTPアクティブモードの場合は、データコネクションはサーバ側からTCPセッションを開始することから、
クライアント側から送信される、データコネクションにおけるFTPパケットには必ずAckビットが立ちます。
また、コントロールコネクションはクライアント側からTCPセッションが開始されることから、サーバから
送信されるFTPパケットには Ack ビットが立ちます。この特性を生かして、より厳密なACL定義ができます。
Catalyst(config)# access-list 101 permit tcp host 192.168.1.1 host 10.1.1.1 eq ftp
Catalyst(config)# access-list 101 permit tcp host 192.168.1.1 host 10.1.1.1 eq ftp-data established
Catalyst(config)# interface GigabitEthernet 0/1
Catalyst(config-if)# ip access-group 101 in
Catalyst(config)# access-list 102 permit tcp host 10.1.1.1 eq ftp host 192.168.1.1 established
Catalyst(config)# access-list 102 permit tcp host 10.1.1.1 eq ftp-data host 192.168.1.1
Catalyst(config)# interface GigabitEthernet 0/0
Catalyst(config-if)# ip access-group 102 in
|
上記と同様に考えて、FTPのパッシブモードで両方のI/FにACLを適用させた場合のコンフィグは以下です。
Catalyst(config)# access-list 101 permit tcp host 192.168.1.1 host 10.1.1.1 eq ftp
Catalyst(config)# access-list 101 permit tcp host 192.168.1.1 host 10.1.1.1 gt 1023
Catalyst(config)# interface GigabitEthernet 0/1
Catalyst(config-if)# ip access-group 101 in
Catalyst(config)# access-list 102 permit tcp host 10.1.1.1 eq ftp host 192.168.1.1 established
Catalyst(config)# access-list 102 permit tcp host 10.1.1.1 gt 1023 host 192.168.1.1 established
Catalyst(config)# interface GigabitEthernet 0/0
Catalyst(config-if)# ip access-group 102 in
|
|