Yami

メモとか、やったこととか。

firewalld設定メモ(ゾーン変更・リッチルール追加)

firewalldの設定メモ。

管理用サーバを構築するときはいつも必要なサービスのみアクセスを許可するように設定しています。それをfirewalldで設定するためのメモです。

※インターネット公開したり、社内でも本番環境で利用する際は入念な確認をお願いします。何等か問題が発生しても責任は負いかねます。
CentOSを想定しています。
※すべてrootアカウント(または管理者権限を持つアカウント)で実行します。

基本的に行うことは以下の通り。

  • デフォルトゾーン変更
  • ゾーン「drop」へSSH許可設定追加
  • firewalldリロード
  • NICのゾーン変更

以下、具体的な手順です。

1. デフォルトゾーン変更

デフォルトゾーンを変更します。(OSインストール直後はゾーン「Public」に設定されています。)

firewall-cmd --set-default-zone drop

2. ゾーン「drop」へSSH許可設定追加

次に操作端末のSSH接続許可設定を行います。これを行わずNICのゾーン変更をすると、最悪リモートアクセスできなくなります。(コンソールで操作する場合は不要です。)

firewall-cmd --permanent --zone=drop --add-rich-rule='rule family="ipv4" source address="192.168.2.1/32" port port="22" protocol="tcp" accept'

3. firewalldリロード

1、2で行った設定をfirewalldに反映します。

firewall-cmd --reload

4. NICのゾーン変更

最後にNICのゾーンを変更します。(これもOSインストール直後はゾーン「Public」が設定されています。)
この変更を行うことで、NICにfirewalldのゾーンが反映されます。

# 変更を行う対象のNICの名前を確認します。
nmcli d s
# NICのゾーンを変更します。
nmcli connection modify ens192 connection.zone drop