firewalldは、
Linuxオペレーティングシステム向けの強力な
ファイアウォール管理ツールです。このツールは、
Linuxカーネルのnetfilterフレームワークを基盤にし、そのための
フロントエンドとしての役割を果たしています。その名前はUnixの命名慣習に従って「d」を末尾に付けており、システムデーモンとして機能することを示しています。
機能概要
firewalldは、
IPv4と
IPv6の両方をサポートし、異なる信頼レベルを持つネットワークを異なる
ファイアウォールゾーンとして管理できます。管理者は
NetworkManagerを通じて、既存の
Wi-Fiや有線ネットワークに応じて自動的にゾーンプロファイルを切り替えることが可能ですが、firewalld自体が切り替えを行うわけではありません。これにより、ネットワーク環境に応じた柔軟な設定が可能です。
また、firewalldは
D-Busインタフェースを提供しており、サービスやアプリケーションからのクエリや設定の管理ができるようになっています。例えば、timed rulesを用いて特定のサービスへの接続数を制限することができ、これによりブルートフォース攻撃や分散
DoS攻撃への防御が可能です。ただし、IPアドレスごとの接続拒否機能はサポートされていない点に注意が必要です。
コマンドラインの使い方
firewalldのコマンドは、他のiptables
フロントエンド、例えば
Ubuntuの
Uncomplicated Firewall (ufw) などに似ていますが、若干冗長な作りになっています。コマンドラインインターフェースでは、プロトコル、ポート、送信先、送信元を指定し、
ファイアウォールルールを簡単に管理できます。また、サービスの定義はXMLファイル形式で記述され、ポート番号やプロトコルの情報を含むことができます。
例えば、TCPポート443のウェブサーバー用のサービスファイルは、次のような構成になります。
```xml
http
```
GUIを使った運用
firewall-configはfirewalldのためのグラフィカルな
フロントエンドで、機能のほとんどをサポートしています。また、firewall-appletはイベントログの通知や、firewall-configを迅速に開く機能を提供する小型ユーティリティです。これは、GNOMEデスクトップの変更に伴い、
Qtフレームワークに移植されています。
採用状況
firewalldは、CentOS 7以上、
Fedora 18以上、Red Hat Enterprise
Linux 7以上、
OpenSUSE Leap 15以上およびSUSE
Linux Enterprise 15以上の各ディストリビューションで、デフォルトの
ファイアウォールツールとして利用されています。人気のあるディストリビューション、例えばDebianのパッケージ
リポジトリにも含まれています。
このように、firewalldは
Linuxシステムにおける
ファイアウォール設定を簡素化し、管理者がセキュリティを確保するための重要なツールとなっています。