一般社団法人 全国個人事業主支援協会

COLUMN コラム

Redhat6をRedhat8へリプレイスを行った。

その際、RH6でiptableで行っていたパケットフィルタリングを、

RH8のFirewallで設定し直した。

とても勉強になったので、備忘のも兼ねて以下に残しておく。

 

◆使用NICの確認

# firewall-cmd –get-active-zones

pubic

interface:  ensXXX

→ゾーンpulicはensXXXに割り当たっている意。

FWを割り当てたいNICを変更する場合、↓を実施。

 

◆NICにゾーンを割り当てる

# firewall-cmd –zone=public –change-interface=ensXXX –permanent

※–permanentは永続的に設定する場合に付ける。一時的な変更であれば不要。(サーバ再起動で消える)

# nmcli c mod “encXXX” connection.zone public

 

◆設定反映(良く使う)

# firewalld-cmd –reload

 

◆デフォルトゾーンをpublicに変更する場合

# firewall-cmd –set-default-zone=public –permanent

 

※ゾーンの概念については以下を参照

<【丁寧解説】Linuxのファイアウォール firewalld の使い方>

<https://eng-entrance.com/linux-centos-firewall>

 

◆ゾーンがちゃんと割り当たっているか確認

# firewall-cmd –list-all-zones

→ public”(active)”となっているか、interfaces: ensXXX となっているかを見る。

# nmcli -p c s ensXXX | grep zone

 

◆拒否した通信をログに出力させる。

# firewall-cmd -set-log-denied=all →/var/log/messagesに出力される。

 

◆許可設定コマンド

ゾーンの public はホワイトリスト形式。

つまりは何もしていなければ全て拒否。

許可させる分だけを設定していく。

 

①そのサーバ自身(192.168.1.1)から出ていく通信はすべて許可

# firewall-cmd –add-rich-rule=”rule family=”ipv4″ source address=”192.168.1.1/32″ accept ” –zone=public –permanent

→パッと見は嫌悪感満載だが、よく見ると割とイメージし易い。(iptableよりはマシ)

「 –add-rich-rule」は、”どこどこ”からの”どのIP”の通信、といった2個以上条件を付けたい場合、必要になる。”rule Family”というグループみたいな括りを定義する。

「”ipv4″」は必須。v4かv6はどちらか指定が必須。その他はオプションであり、あってもなくてもコマンドは通る。

「source address」は記載の通り。指定しない場合、ALLになる。(おそらく source address=”0.0.0.0/0″も同義。)

あとは記載の通り。

 

②自身のPingはすべて許可。

# firewall-cmd –add-port=53/udp –zone=public –permanent

→単一の条件の為、rich-ruleは必要ない。

※rich-ruleで設定しても良い。その場合は以下。

# firewall-cmd –add-rich-rule=”rule family=”ipv4″ port protocol=”udp” port=”53″ accept ” –zone=public –permanent

 

③外からのTCP  HTTP通信を許可

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

 

④送信元が192.168.1.2/32で、TCP  Port 21(FTP)の通信を許可

# firewall-cmd –permanent –zone=public –add-rich-rule=”rule family=”ipv4″ source address=”192.168.1.2/32″ port protocol=”tcp” port”21″ accept”

→しっかり読めば理解できる構文ではないだろうか。

 

他にも特定のPortを許可する設定を多数入れたが、

たぶん①か④のrich-ruleの形式さえ覚えれば、どの許可設定も可能ではないだろうか。

 

◆設定内容確認

# firewall-cmd –list-all

 

あと設定後にreloadを忘れない様にしてください。

 

今回は以上です。(疲れました)

ありがとうございました。

 

The following two tabs change content below.

norihiro_ono

最新記事 by norihiro_ono (全て見る)

この記事をシェアする

  • Twitterでシェア
  • Facebookでシェア
  • LINEでシェア