iptables設定ファイルを編集することと、iptablesコマンドを使用してルールを追加することの長所と短所は何ですか?

iptables設定ファイルを編集することと、iptablesコマンドを使用してルールを追加することの長所と短所は何ですか?

CentOSで製品を使用しているため、iptables設定でルールを自動的に追加および削除する必要がある場合があります。たとえば、更新中に更新が完了するまで、着信サービストラフィックを明示的に拒否したいとします。現在のコードの更新に使用される方法は、sed別のテキスト処理ユーティリティを使用して構成ファイルの関連行をコメントアウトし、iptables新しい構成ファイルでサービスを再起動し、更新が完了したらプロセスを元に戻して再起動することです。再サービス。

iptables -D table rule-specification私の考えでは、プロセスの始まりとiptables -A table rule-specification更新の終わりにコマンドを使用する方が良い方法です。

構成ファイルを自動化するときに私が見る最大の問題は脆弱性です。設定ファイルを上書きしてパラメータの順序を変更できるシステムツールがあるため、テキストの解析が潜在的に中断される可能性があります(service iptables saveはい)。

コードでシステム構成を変更するための推奨される方法は何ですか?なぜ?

答え1

このような状況に直面しているほとんどの人は、抽象的な方法で問題を処理します。

例えば。ルールセットを含む単一のファイルを使用する代わりに、ルールを含むファイルセットを作成してリンクすることをお勧めします。

たとえば、このような名前のファイルに個々のルールを追加できます。

/etc/iptables-rules/00_flush_drop
/etc/iptables-rules/20_permitotherstuff
/etc/iptables-rules/10_permitssh
/etc/iptables-rules/99_drop

次にルールセットを実行しますrun-parts /etc/iptables-rules。別のルールセットを追加する必要がある場合は、一時的にファイルを追加するだけです。その後、必要に応じて削除します。

また、構成でチェーンを設定して使用することに焦点を当てる必要があります。チェーンはサブルーチンと少し似ています。たとえば、ファイアウォールの上部にルールを追加してチェーンに移動できます。チェーンにはデフォルトのRETURNポリシーがあります。したがって、一時ルールを追加する必要がある場合は、このチェーンに挿入するだけです。これ以上必要ない場合は、特定のチェーンを更新してください。

関連情報