セキュリティ強化対策(Iptables編)セキュリティ強化対策(Iptables編)セキュリティを強化するため、こちらでネットワーク構成とルータの設定を大幅に変更しましたが、今まで手を抜いていたサーバ機のファイヤウォールの設定を合わせて見直しました。8.0では、iptablesを使ったファイヤウォールがインストールされていますので、この設定を見直しました。DNSはUDP:53と思っていたのですが、クライアントが名前解決するときに512byteを越えた場合、DNSは512byte以上のデータはUDPで送信できないため、クライアントは再度TCPで牽き直していることが判明したので、TCPの設定を追加しました。外部FTPサーバへのPASVアクセス時のデータコネクション設定を、ip_conntrack_ftpでのステートフルインスペクション対応に変更しました。ntpdの初期同期のためのntpdateコマンドへの配慮が不足していました。ntpdateコマンドによるntpサーバへのアクセスはソースポートは不定なので、対応するサーバ(ここではNTP1とする)のフィルタにはソースポートは指定しないようにした。ProのVLAN機能でサーバとクライアントを別セグメントで分離した構成です。■フィルタリングポリシーここでは、iptablesの使い方については言及しません。インターネット上に数多くの情報がありますので、そちらを参考にしてください。一般的にはルータとして動作させたときの事例が大半であり、おやじのようなルータ外付け環境での例がほとんどないので、こちらにまとめておくことにしました。一般的な環境では、サーバとクライアントは同じセグメント上にあると思いますが、考え方は同じです。HOMEのネットワークアドレスのところと、サービス毎に必要なポートを調べ、通信が始まる方向を考慮して下記を参考に追加すればいいと思います。おやじのフィルタリングポリシーは、以下のとおりです。設定は面倒くさいが、デフォルトルールは暗黙のdeny(DROP)とし、パケットを通過させる必要があるものだけを明示的に指定する。基本的に新規にセッションが設定されるものを制御し、セッション確立後の応答パケット(ESTABLISHED)やセッション確立したプロトコルに関連したパケット(FTP-DATA等。RELATED)の通過は許可する。パケットの出入り口がeth0しかないので、INPUT/OUTPUTチェーンのみを使用し、インターネット側との通信(図中2)か家庭内との通信(図中3)かは、アドレスで識別して制御する。(ルータでのプラベートアドレス偽装対策は行っているが、フィルタとしては少し弱い。flood等)は、ルータに任せる。iptablesはコマンド投入時点から有効になりますが、セーブしないと再起動すると元の設定に戻ってしまうこと、いちいち入力するには量が多くミスをしやすいことなどから、下記のようなスクリプトを適当な名前で作成・保存しておけば、設定変更も楽です。ntpdの初期同期のためのntpdateコマンドへの配慮が不足していました。ntpdateコマンドによるntpサーバへのアクセスはソースポートは不定なので、対応するサーバ(ここではNTP1とする)のフィルタにはソースポートは指定しないようにした。