GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS/RHELでFirewalldをインストールして使用する方法

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のようなコンプライアンスによって推奨されていることに注意してください。

読んでいただきありがとうございます。


Cent OS
  1. CentOS7にTensorFlowをインストールして使用する方法

  2. CentOS7にPHPComposerをインストールして使用する方法

  3. CentOS/RHEL 7 および 8 で firewalld の代わりに iptables を使用する方法

  1. CentOS7でfirewalldを有効にして使用する方法

  2. CentOS7にifconfigをインストールして使用する方法

  3. RHEL 8 /CentOS8にsambaをインストールして設定する方法

  1. CentOS7にDockerをインストールして使用する方法

  2. CentOS7にDockerComposeをインストールして使用する方法

  3. CentOS7にPHPComposerをインストールして使用する方法