ファイアウォールルールが期待どおりに機能しない

ファイアウォールルールが期待どおりに機能しない

eth0Linuxデバイスの起動中に、オンボードネットワーク(インターフェイスを介して接続されているデバイスのリスト)のファイアウォールルールを設定する必要があります。

デフォルトでは、FTPアクセスはeth0無効になっている必要があります。

conf.xml次に、通信が許可されているIPアドレス、URL、またはポートのみを含む設定ファイル()を読み込みます。つまり、ホワイトリストにあるデバイスだけが通信できます。

以下のようにしてみましたが、期待どおりに動作しません

例えば。conf.xml構成ファイル()に記載されている特定のIPへのFTPアクセスを有効にするには、次のコマンドを使用します。

iptables -A INPUT -p tcp -s 10.10.10.10 --dport 21 -i eth0 -j ACCEPT
iptables -A OUTPUT -p tcp -s 10.10.10.10 --dport 21 -o eth0 -j ACCEPT

その後、デフォルトで通信を無効にするには、スクリプトの最後に次の2行を追加しますeth0

iptables -A INPUT -i eth0 -j DROP
iptables -A OUTPUT -o eth0 -j DROP

eth0しかし、通信が永久に無効になり、ipaddressが10.10.10.10FTPサーバーにアクセスすることも許可されていないことを確認しました。

ベストアンサー1

あなたの例では、特定のホストのホワイトリストFTPに誤字がある可能性があります。iptables -A INPUT -p tcp -s 10.10.10.10 --dport 21 -i eth0 -j ACCEPTホスト10.10.10.10からシステムの一部のFTPデーモンへの接続を許可したい場合は、着信トラフィック(ルール)を許可することをお勧めします。 2番目のルール()は、おそらくターゲット(ソースではない)ホストを許可する必要があります(代わりにiptables -A OUTPUT -p tcp -s 10.10.10.10 --dport 21 -o eth0 -j ACCEPT宣言する必要があります)。-d-s

言い換えれば、チェーンの最後のルールは、iptables -A ... -j DROPFTPだけでなく、すべての通信(以前のルールと一致しない)が無効になることを意味します。

おすすめ記事