ファイアウォール設定

IT

自宅や勤務先からの通信のみ許可するゾーン(admin)を設定する
また、今後ファイアウォール設定を変更する場合に備えて、よく使う設定を記載しておく

ゾーン追加
adminゾーンを作成する

①ipアドレスリストを作成

vi admin.txt
xxx.xxx.xxx.xxx
□□□.□□□.□□□.□□□

自宅や勤務先のIPアドレスを上記の通り書き込む


②ゾーンを新規作成

firewall-cmd --permanent --new-zone=admin


③ipset作成

firewall-cmd --permanent --new-ipset=admin --type=hash:net

firewall-cmd --permanent --ipset=admin --add-entries-from-file=admin.txt

firewall-cmd --permanent --zone=admin --add-source=ipset:admin


④サービス再起動とIPアドレスリスト削除

firewall-cmd --reload

rm admin.txt



SSHのポート番号変更とファイアウォールのポート番号変更

①sshd.configの編集

cp /etc/ssh/sshd_config{,.org}

vi /etc/ssh/sshd_config
#Port 22
Port 2222


②ssh.xmlの新規作成

cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/ssh-2222.xml

vi /etc/firewalld/services/ssh-2222.xml
#<port protocol="tcp" port="22"/>
<port protocol="tcp" port="2222"/>


③adminゾーンにSSH通信(Port2222)を追加

firewall-cmd --permanent --add-service=ssh-2222 --zone=admin

※通常ポートのSSH通信が許可されている場合は、下記の通り削除する

firewall-cmd --permanent --remove-service=ssh --zone=admin


④サービス再起動と設定確認

firewall-cmd --reload

firewall-cmd --list-all-zones
admin (active)
  services: ssh-2222

上記の通り、adminゾーンのservicesにssh-2222が追加されていることを確認する


ファイアウォール設定でよく使うコマンド

①すべてのゾーンの設定を確認

firewall-cmd --list-all-zones


②ファイアウォール設定の追加(サービスで追加する場合)
今回は例としてhttpをpublicゾーンに追加する

firewall-cmd --add-service=http --zone=public --permanent

firewall-cmd --reload

再起動後も設定を継続させるにはオプションで–permanentを付ける


③ファイアウォール設定の追加(portで追加する場合)
今回は例としてTCP80ポートをpublicゾーンに追加する

firewall-cmd --add-port=80/tcp --zone=public --permanent

firewall-cmd --reload

再起動後も設定を継続させるにはオプションで–permanentを付ける


④ファイアウォール設定の削除(サービスを削除する場合)
今回は例としてhttpをpublicゾーンから削除する

firewall-cmd --remove-service=http --zone=public --permanent

firewall-cmd --reload

再起動後も設定を継続させるにはオプションで–permanentを付ける


⑤ファイアウォール設定の削除(portを削除する場合)
今回は例としてTCP80ポートをpublicゾーンから削除する

firewall-cmd --remove-port=80/tcp --zone=public --permanent

firewall-cmd --reload

再起動後も設定を継続させるにはオプションで–permanentを付ける

⑥ipsetの内容確認
ipsetに登録されているIPアドレスを確認する

firewall-cmd --permanent --ipset=admin --get-entries



■参考
https://qiita.com/fk_2000/items/019b62818e34be973227
https://psychoco.net/linux/firewalld-domestic-rule
https://qiita.com/kenjjiijjii/items/1057af2dddc34022b09e
https://qrunch.net/@arohajiro/entries/tqlzwPF7ghNSVrlo

コメント

タイトルとURLをコピーしました