XubuntuでIPT(iptables)を試しています。
最初の実験では、既存のTCP接続を除くすべてのOUTPUTトラフィックを許可し、すべてのINPUTをブロックします。
もう少し高度にするために、ワークステーション上のアクティブなサービスへのTCP接続を許可しようとしています。私の考えは、nmapスキャンを実行し、リスニング/オープンポートをgrepすることですが、おそらくそれを考えすぎています。
最後に、FTPを許可しようとしています。
この追加ルールを使用してFTPを許可しましたが、まだブロックされているようです
Sudo iptables -A INPUT -p tcp --dport 21 -m state --state NEW、ESTABLISHED -j ACCEPT
FTPは、ポート21で着信トラフィックを許可し、ポート20で発信トラフィックを許可するという点で少し奇妙です。
Sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
Sudo iptables -A OUTPUT -p tcp --sport 20 -j ACCEPT
さらに、ftpはランダムな上位ポートを使用します。これを許可するには、起動時にip_conntrack_ftpモジュールをロードする必要があります。/etc/sysconfig/iptables-configファイルのIPTABLES_MODULES行のコメントを解除して変更し、読み取ります
IPTABLES_MODULES="ip_conntrack_ftp"
それでも、iptablesの設定を保存し、起動時に復元する方法が必要です。 Ubuntuにはこれを行う簡単な方法がありません。基本的に、/etc/rc.local
を使用するか、NetworkManagerを無効にしてネットワークスクリプトを使用できます。
最初にルールを保存します。
Sudo iptables-save /etc/iptables.save
方法1:/etc/rc.local
を編集し、行を追加します
iptables-restore /etc/iptables.save
方法2:/etc/network/interfaces
を編集し、「ポストアップ」を使用してiptablesルールを起動します。
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
post-up /sbin/iptables-restore /etc/iptables.save
次に再起動します。
推奨される方法は、おそらくUFWを使用することです
Sudo ufw allow ftp
UFWはUbuntuのフェデレーションツールであり、iptablesと非常によく似た構文を使用し、再起動時に有効化および復元されます。
見る:
https://serverfault.com/questions/38398/allowing-ftp-with-iptables
http://slacksite.com/other/ftp.html