web-dev-qa-db-ja.com

iptablesの構成(検証、アクティブサービス、FTP許可)

XubuntuでIPT(iptables)を試しています。

最初の実験では、既存のTCP接続を除くすべてのOUTPUTトラフィックを許可し、すべてのINPUTをブロックします。

enter image description here

もう少し高度にするために、ワークステーション上のアクティブなサービスへのTCP接続を許可しようとしています。私の考えは、nmapスキャンを実行し、リスニング/オープンポートをgrepすることですが、おそらくそれを考えすぎています。

最後に、FTPを許可しようとしています。
この追加ルールを使用してFTPを許可しましたが、まだブロックされているようです

Sudo iptables -A INPUT -p tcp --dport 21 -m state --state NEW、ESTABLISHED -j ACCEPT
1
user1082381

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

http://bodhizazen.com/Tutorials/iptables

https://help.ubuntu.com/community/UFW

4
Panther

Iptablesを初めて使用する場合は、 gufw または fw を使用して、ルールを最初に設定することをお勧めします。動作させるために特別なフラグをすべて理解する必要はなく、「着信FTPを許可する」などの単純なルールを使用できます。また、必要に応じて高度なルールを設定できます。

Ufwとgufwはどちらも、舞台裏でiptablesルールを作成します。

1
ImaginaryRobots