Linux(ここではAlmaLinux)のファイアウォール(ここでは、firewalld)を設定する際に、オプションはどうだったかを調べることが多いので、覚えておくと便利なコマンドを記録しておきます。サーバのインターネット側にファイアウォールやUTMがあっても油断せず、サーバのファイアウォールも設定してセキュリティを高めておきましょう。
こちらに記載していた一部の内容は、だっしぃのテクニカルブログに引っ越ししました。
ダイレクトルールの設定
firewalldでは、一般的なzoneを使用した場合は、外から入ってくるインバウンドの通信の制御を実施します。そこでダイレクトルールを使用することで、アウトバウンドの通信も制御可能にするなど、細かいルールを記載することが可能となります。この時、zoneに関係なくルールを適用することができます。
ダイレクトルールの確認
# firewall-cmd --direct --get-all-rules
ダイレクトルールへの追加
# firewall-cmd --direct --add-rule ipv4 filter INPUT_direct 1 -p tcp --dport 443 -s 192.168.1.0/24 -j ACCEPT
ダイレクトルールの削除
# firewall-cmd --direct --remove-rule ipv4 filter INPUT_direct 1 -p icmp -s 192.168.1.0/24 -j ACCEPT
その他お役立ち設定
特定のIPをドロップ
# firewall-cmd --zone=drop --permanent --add-source=XXX.XXX.XX.0/22
ログの出力(DENYされたログを出力)
# firewall-cmd --set-log-denied=all
# firewall-cmd --get-log-denied
allの代わりに、unicast、broadcast、multicast、off というオプションもあって、broadcastやmulticastのログが多くて嫌な場合は、unicastにすればいいらしい。
なお、上記のいずれも設定後は、以下のreloadコマンドを忘れずに!
# firewall-cmd --reload
(2023.9.13追記)
こちらにFirewalldで国内IPアドレスからのみアクセス許可設定する手順を掲載しています。
今回はここまでです。最後までお読みいただきありがとうございました。