firewalld†
firewalldの特徴†
- 設定の変更がサービスを再起動せずに反映される
- NICごとにセキュリティポリシーを設定できる
firewalldの機能†
ゾーン†
- Zone
- ゾーンの単位でセキュリティポリシーを設定する
- ゾーンにNICを割り当てることで、NICごとに異なるをセキュリティポリシーを適用できる
アクティブゾーン†
- Active Zone
- NICが割り当てられているゾーンのこと
デフォルトゾーン†
- Default Zone
- 新しく接続されたNICに対して自動的に適用されるゾーン
- 明示的にゾーンを設定していないNICには、デフォルトゾーンが自動的に適用される
ゾーンの種類(デフォルト)†
| zone | 説明 |
| drop | 全てのパケットを破棄する |
| block | 全てのパケットを受信拒否する(ICMP Prohibitedメッセージを応答する) |
| external | サービス(ssh)、IPマスカレードが有効 |
| dmz | サービス(ssh) |
| public | サービス(ssh,cockpit,dhcpv6-client) |
| work | サービス(ssh,cockpit,dhcpv6-client) |
| home | サービス(ssh,cockpit,dhcpv6-client,mdns,samba-client) |
| internal | サービス(ssh,cockpit,dhcpv6-client,mdns,samba-client) |
| nm-shared | サービス(icmp,ipv6-icmp) |
| trusted | 全てのパケットを受信許可する |
コマンド†
サービスの操作(systemctl)†
systemctl status firewalld
systemctl start firewalld
systemctl stop firewalld
systemctl reload firewalld
firewalld†
firewall-cmd†
- サービスの起動状態を確認
firewall-cmd --state
- ゾーンの設定を確認
- アクティブなゾーン
firewall-cmd --list-all
firewall-cmd --list-all --permanent
- 指定したゾーン
firewall-cmd --list-all --zone=<zone-name>
- 全てのゾーン
firewall-cmd --list-all-zones
- アクティブなゾーンの公開されているサービス
firewall-cmd --list-services
firewall-cmd --list-services --permanent
- アクティブなゾーンの公開されているポート
firewall-cmd --list-ports
firewall-cmd --list-ports --permanent
- 登録されているリッチルール
firewall-cmd --list-rich-rules
- ゾーンの設定を変更 ※zoneを指定しなかった場合、defaultゾーンに設定される
- ポート
firewall-cmd --add-port=<port-no> --zone=<zone-name> --permanent ※追加(公開)
firewall-cmd --remove-port=<port-no> --zone=<zone-name> --permanent ※削除(非公開)
- 接続元IPv4アドレス
firewall-cmd --add-source=<ipv4-address>/<cidr> --zone=<zone-name> --permanent ※追加(許可)
firewall-cmd --remove-source=<ipv4-address>/<cidr> --zone=<zone-name> --permanent ※削除(不許可)
- ICMP
- icmp-block-inversion
firewall-cmd --add-icmp-block-inversion --zone=<zone-name> ※有効(yes)
firewall-cmd --remove-icmp-block-inversion --zone=<zone-name> ※無効(no)
firewall-cmd --query-icmp-block-inversion --zone=<zone-name> ※現在の設定を表示
- icmp-blocks
firewall-cmd --add-icmp-block=<icmp-type> --zone=<zone-name> ※追加(許可)
firewall-cmd --remove-icmp-block=<icmp-type> --zone=<zone-name> ※削除(不許可)
firewall-cmd --query-icmp-block=<icmp-type> --zone=<zone-name> ※現在の設定を確認
- IPマスカレード
firewall-cmd --add-masquerade --zone=<zone-name> ※有効(yes)
firewall-cmd --remove-masquerade --zone=<zone-name> ※無効(no)
firewall-cmd --query-masquerade --zone=<zone-name> ※現在の設定を確認
- IPv4フォワードポート(DNAT)
firewall-cmd --add-forward-port=<変換ルール> --zone=<zone-name> ※追加
firewall-cmd --remove-forward-port=<変換ルール> --zone=<zone-name> ※削除
firewall-cmd --query-forward-port=<変換ルール> --zone=<zone-name> ※現在の設定を確認
firewall-cmd --list-forward-ports --zone=<zone-name> ※現在の設定を確認
※変換ルールの例:
port=443:proto=tcp:toaddr=192.168.1.1
- 永続設定を反映する ※永続的に設定する場合、--parmanentオプションを指定して実行後、--reloadする必要があります
firewall-cmd --reload
設定ファイル†
- /etc/firewalld/firewalld.conf
- ゾーンの定義ファイル
- /usr/lib/firewalld/zones/<zone-name>.xml ※デフォルト
- /etc/firewalld/zones/<zone-name>.xml
- サービスの定義ファイル
- /usr/lib/ rewalld/services/<service-name>.xml ※デフォルト
- インターフェイスの設定ファイル(明示的に指定したゾーンが設定される)
関連サイト†
関連用語†