#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に入れるべし