#author("2021-09-15T22:51:26+00:00","default:wikiadmin","wikiadmin")
#author("2022-09-10T00:07:07+00:00","default:wikiadmin","wikiadmin")
-LinuxのFirewallについて

#contents

*firewalld [#o5e76a1f]

CentOS7で導入された。動的にルールを変更できる(iptablesは再起動時に切断発生)。基本的なルールセットであるゾーンという概念があり、デフォルトはpublicゾーン。

**ZONEについて [#t4094414]

publicだと外向けに必要最小限のポートしか開放していない。

-以下のコマンドで定義済みのzoneを表示できる

 firewall-cmd --list-all-zone

|zone名|開放ポート|利用ケース|
|public|SSHなど最小限|インターネット環境|
|internal|sambaなども解放|自宅内などの閉じた環境|

**起動や有効化など [#b6d67d5c]

|有効化|systemctl enable firewalld|
|起動|systemctl start firewalld|
|デフォルトゾーン確認|firewall-cmd --get-default-zone|
|デフォルトゾーン変更|firewall-cmd --set-default-zone=external|

**設定確認 [#n079a8f6]

|設定を見る|firewall-cmd --list-all|
|すべての定義済み設定を見る|firewall-cmd --list-all-zones|
|publicの定義済みポートを見る|firewall-cmd --list-ports --zone=public|
|publicのすべてのルール|firewall-cmd --list-all --zone=OriginalZ|

**設定ファイルの場所 [#w670595c]

/usr/lib/firewalld/services以下にデフォルトのファイルがある。
上書きしたい場合は
/etc/firewalld/に同じファイルをコピーする。


**ゾーンの操作 [#d46d8b5e]

|サービス一覧|firewall-cmd --get-services [--zone=public]|
|サービス追加|firewall-cmd --add-service=http [--zone=public]|
|ポートの追加|firewall-cmd --zone=public --add-port=12220/tcp --permanent|
|恒久的にサービス追加(この後再起動必須)|firewall-cmd --add-service=https --permanent|

*不正アクセス対策 [#oa7ab4f3]

|IP指定で禁止|firewall-cmd  --zone=drop --permanent --add-source=禁止したいIP|

*設定ファイル [#g49408f3]

**特定のIPを許可 [#m0954936]

-デフォルト拒否なので、穴あけにはacceptを利用。IP複数でもこの組み合わせを繰り返すしかないらしい。サブネットが使える。

  <rule family="ipv4">
    <source address="106.154.129.161/32"/>
    <service name="mysql"/>
    <accept/>
  </rule>

**拒否 [#a1d4939a]

zoneのDropに入れるべし

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS