Linux備忘録3:firewall-cmd基本操作(firewalld)

firewall-cmdのあんちょこ

1【ホワイトリスト: 特定のIPアドレス/ネットワークだけアクセスを許可】

 マルチゾーンで片方ゾーンにのみソースIP許可設定を追加し、ホワイトリスト登録を行う。

 

注意点と理由
NICに適用のゾーン(=--get-active-zones)にサービスを登録すると、そこにソースを追加してもソースを限定できない。
ソースだけの登録ではゾーンは有効になってもアクセスできないので、サービス等と組み合わせて登録。⇒複数ゾーンを作成する。

 

・使用するオプション

--list-sources: ゾーンに追加済みの一覧
--add-source: ゾーンに追加
--remove-source: ゾーンから削除
ゾーンを新作するには--new-zoneを使う

 

作業例
※httpサービスをネットワーク192.168.1.0/24からのアクセスだけ許可したい:

 

※test-wallというゾーンを作る
# firewall-cmd --permanent --new-zone=test-wall

※test-walltゾーンに以下ルールを適用
# firewall-cmd --zone=http-client --add-source=192.168.1.0/24
# firewall-cmd --zone=http-client --add-service=http

 

※さらに恒久設定にしたいなら
firewall-cmd --runtime-to-permanent

 ⇒どちらもactiveなゾーンになる

※ 適用済みゾーンとそのインターフェース
# firewall-cmd --get-active-zones
http-client
sources: 192.168.1.0/24
public
interfaces: enp0s25

 

 

2【 基本操作とオプション備忘録】

 ・アクティブゾーン(現在各NICに割り当てられているゾーン)の確認

firewall-cmd --get-active-zone

  ⇒デフォルトゾーン(指定が無ければ割り当てられるゾーン)

 

 ・デフォルトゾーンのFW設定確認

 # firewall-cmd --list-all

      ⇒基本的な状態確認に使えると思う。

 

 ・任意のゾーンのFW設定確認

 # firewall-cmd --list-all --zone={ゾーン名} 

 ・全ゾーン情報表示

 # firewall-cmd --list-all-zone

 <firewalldでのサービス>

ゾーンにサービスを追加することで、そのサービス用のFW設定が実施。
サービスのFW設定は、XMLファイルで定義されており、以下の場所に格納されています。
/usr/lib/firewalld/services/

 ・登録可能なサービス確認

 # firewall-cmd --get-services 

 

 ・サービスの追加

# firewall-cmd --add-service={サービス名} --zone={ゾーン名} --permanent 

     ⇒恒久的な設定とする場合、<--permanent>オプションを追加

 

 ・ポートの追加

# firewall-cmd --add-port={ポート番号}/udp --zone={ゾーン名}  

  ⇒<udp>の場合、<tcp>指定も可。