10/05/2021firewalldのデフォルトゾーンをDROPで運用するこんにちは!Azusaです。昨日に引き続きfirewalldについて書いていきたいと思います。firewalldのデフォルトゾーンとしてインターフェースが設定されている”public”ですが、”taget=default”に設定されており、許可されていないプロトコルやポートへの通信には拒否メッセージが返されます。サーバのセキュリティとしては、許可されていない通信に対しては無視してもらうのが好ましいため、”target=DROP”で運用することにしました。基本的にはコマンドラインから”zone=public”のtargetをDROPに設定するだけで問題はないのですが、IPv6での環境に対応させるには少しルールを追加してあげる必要があります。DHCPv6を使ってアドレスを設定している方はserviceに”dhcpv6-client”が必要です。--reloadIPv4ではIPアドレスの設定等にARPを使うようで、firewalldのtargetがDROPであっても、その通信は通すようになっています。IPv6ではICMPでのやりとりが必要なようで、ARPのようにデフォルトでは許可されていないのでICMPでの必要なメッセージを受け入れるように設定しないと名前解決等ができずに通信ができません。最低限必要だと思われるメッセージは、ルータから使えるアドレス空間を伝達してIPv6アドレスを設定するための”router-advertisement”、名前解決のために応答及び問い合わせをするための”neighbour-advertisement”,”neighbour-solicitation”で、合計3種類のメッセージを受け入れるように設定する必要があります。ipv6-icmpそして、デフォルトではブラックリスト方式でICMPメッセージを選択する方式ですが、不要なメッセージを返さないようにホワイトリスト方式にするため、”icmp-block-inversion”を有効にします。先程挙げた3種類のメッセージを追加します。--reload以上でIPv6環境でも”target=DROP”で運用できるかと思います。その他に公開しているサービスやポート等があれば普段どおりに追加していけば問題ありません。前回の記事と合わせて設定することで、ブラックリストに入っているIPからの全通信を無視して、ブラックリストから漏れているものに関しても不正アクセスを試みる通信に返答を返さなくなるのでよりセキュアな運用ができるのではないかと思います。興味がある方はIPSetを利用して不正アクセスを遮断するための前回の記事も御覧ください。Laboratory.-。