Firewalldは、Linuxシステムへの接続を許可または拒否するために使用されるファイアウォール管理ツールです。インバウンドトラフィックを制御するための一連のルールを提供します。 Firewalldは、LinuxカーネルNetfilterのフロントエンドとして機能します。
永続的な構成は、 `/ usr / lib/firewalld`または`/etc / firewalld`
のXMLファイルからロードされます。この記事では、firewalldをインストールして使用します。また、リッチルールの使い方を紹介します。
CentOS/RHELにfirewalldをインストールする
Firewalldには、RedhatまたはCentosの基本インストールが付属しています。ない場合は、次の方法でインストールできます。
RHEL7.Xまたはcentos7.Xのインストール方法
$ sudo yum install firewalld -y
RHEL7.Xまたはcentos8.Xのインストール方法
$ sudo dnf install firewalld -y
サービスを開始するには、
$ sudo systemctl start firewalld
Firewalldサービスを有効にするには、
$ sudo systemctl enable firewalld
Firewalldのステータスを確認してください
$ systemctl status firewalld
Firewalldには、信頼レベルとも呼ばれるさまざまな定義済みゾーンが付属しています。ゾーンは基本的に、一連のルールを持つ管理対象グループです。ただし、ルールは事前定義されていません。たとえば、パブリックホスティングポートを含む「パブリック」ゾーンを設定できますが、「ホーム」ゾーンではssh接続が許可されます。 Firewalldのゾーンを一覧表示するには、次のコマンドを使用します
$ sudo firewall-cmd --get-zones
使用するゾーンの中でアクティブゾーンを確認するには、
$ sudo firewall-cmd --get-active-zone
それでは、システムへのトラフィックを許可するためにいくつかのポートを追加しましょう。 tcpポートを追加するには、次のように入力する必要があります。 –permanentオプションを追加することを忘れないでください。そうしないと、firewalldのリロード/再起動時にルールが永続化されません。
$ sudo firewall-cmd --add-port=443/tcp --permanent
同様に、UDPポートを許可することもできます
$ sudo firewall-cmd --add-port=161/udp --permanent
DNS、HTTPなどのサービスを許可することもできます。これにより、サービスのデフォルトのポートが許可されます。たとえば、
$ sudo firewall-cmd --add-service=http --permanent
ポートを追加した後/ファイアウォールサービスをリロードして有効にします
$ sudo firewall-cmd --reload
を使用して確認します
$ sudo firewall-cmd --list-all
注意:ゾーンを追加しない場合、ルールはデフォルトで「パブリック」ゾーンに追加されます。
使用できるfirewalldからポートを削除するには
$ sudo firewall-cmd --remove-port=443/tcp --permanent
Firewalldからサービスを削除するには、
を使用できます。$ sudo firewall-cmd --remove-service=http --permanent
ポート/サービスを追加または削除した後、ファイアウォールをリロードすることを忘れないでください。
豊富なルール
豊富なルールは、ファイアウォールルールに対してよりきめ細かいオプションを提供します。これらは、ポートフォワーディング、レート制限、ロギングなどを構成するために使用されます。
たとえば、 単一のIP、たとえば192.168.10.25からssh接続を受け入れるには、IPバージョン、送信元アドレス、ポート、プロトコルを指定して、リッチルールを追加する必要があります。
$ sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.10.25/32" port protocol="tcp" port="22" accept'
同様の方法で、ネットワーク全体のすべてのIPソースを削除して、以下のように22ポートを許可しないようにすることができます。
$ sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.15.0/24" port protocol="tcp" port="22" drop'
サービスtftpのアドレス192.168.0.0/24からの新しいIPv4接続を許可し、syslogを使用して1分あたり1回ログを記録するには、
sudo firewall-cmd --permanent --zone=public --add-rich-rule=’rule family="ipv4" source address="192.168.0.0/24" service name="tftp" log prefix="tftp" level="info" limit value="1/m" accept’
firewalldをアンインストールする
CentOS / RHELからファイアウォールデーモンを削除したい場合は、実行中のサービスを停止してください。
$ sudo systemctl stop firewalld
RHEL7.XまたはCentos7.Xの場合
$ sudo yum remove firewalld -y
RHEL8.XまたはCentos8.Xの場合
$ sudo dnf remove firewalld -y
結論
この記事がLinuxシステムのセキュリティを強化するのに役立つことを願っています。 Firefoxdのようなホストベースのファイアウォールは、PCIDSSのようなコンプライアンスによって推奨されていることに注意してください。
読んでいただきありがとうございます。