Linux
 Computer >> コンピューター >  >> システム >> Linux

CentOS8/7でFirewallDを使い始める

CentOS7ではFirewallD トラフィックフィルタリングルールを構成するように見えます。 iptablesルールの管理に使用することをお勧めするツールです。 CentOS8はnftablesを使用しています 標準のiptablesパケットフィルタリングサービスの代わりにフレームワークを使用し、firewalldでファイアウォールルールを構成すると、実際にはnftablesが構成されます。この記事では、Linux CentOS 8(およびCentOS 7)を実行しているサーバーにfirewalldをインストールして構成する方法と、このファイアウォールの主な概念について検討します。

FirewallD は、不要なトラフィックからサーバーを保護するために使用されるファイアウォールサービスです。動的ファイアウォールルール管理をサポートします(再起動せずに)。 iptablesとnftablesのインターフェースとして機能します。 FirewallDは、ほとんどすべてのLinuxディストリビューションで使用できます。

Firefoxの基本概念:ゾーンとルール

firewalldのインストールと構成の前 、さまざまな接続への信頼レベルを決定するためにどのゾーンが使用されるかを学習します。さまざまなフィルタリングルールをfirewalldに適用できます ゾーン、事前定義されたサービス、プロトコルまたはポート、ポート転送、およびリッチルールのアクティブなファイアウォールオプションを設定します。

Firewalld は、ゾーンに適用されるルールに応じて、ゾーンごとにインバウンドトラフィックをフィルタリングしています。送信者のIPアドレスがゾーンのルールに一致する場合、パケットはこのゾーンを介して送信されます。 IPアドレスがサーバーに構成されているゾーンのいずれとも一致しない場合、デフォルトのゾーンがパケットを処理します。 Firewalldをインストールすると、デフォルトのゾーンはパブリックと呼ばれます。

Firewalldには、さまざまなサービスに対して事前設定された権限を持ついくつかのゾーンがあります。これらの設定を使用するか、独自のゾーンを作成できます。次に、firewalld(/ usr / lib / firewalld / zones /にあります)をインストールしたときに作成されるデフォルトゾーンのリストを示します。

ドロップ 最小の信頼レベルがあります。すべてのインバウンド接続は応答なしでブロックされ、アウトバウンド接続のみが許可されます。
ブロック このゾーンは前のゾーンと似ていますが、着信リクエストは icmp-host-prohibitedで拒否されます IPv4またはicmp6-adm-prohibitedのメッセージ IPv6のメッセージ。
公開 これは、信頼できないパブリックネットワークに使用されます。着信接続を個別に許可できます。
外部 ファイアウォールがゲートウェイとして使用されている場合は、外部ネットワークを指します。 NATのマスキングに使用されるため、内部ネットワークはプライベートのままですが、利用可能です。
内部 これは外部ゾーンの反意語です。ホストには十分な信頼レベルがあり、いくつかの追加サービスにアクセスできます。
dmz このゾーンは、非武装地帯(DMZ)内のコンピューターに使用され、ネットワークにアクセスできない隔離されたコンピューターが含まれます。選択した着信接続のみが許可されます。
仕事 これは、仕事用のコンピューター用のゾーンです(ネットワーク内のほとんどのコンピューターは信頼されています)
ホーム ホームネットワークを指します。他のほとんどのコンピューターを信頼できますが、サポートされているのは選択した着信接続のみです。
信頼できる ネットワーク内のすべてのコンピューターが信頼されています。これは、責任ある使用を必要とする最もオープンなオプションです。

Firewalld パーマネントとランタイムの2セットのルールを使用します。ランタイムルールは、サーバーが再起動するまでアクティブです。デフォルトでは、 firewalldに追加するルール ランタイムと見なされます 。永続的なルールを追加するには、–永続的なを使用する必要があります 国旗。これらのルールは、サーバーの再起動後に適用されます。

CentOSにFirewallDをインストールして有効にする方法

CentOS 7/8では、OSのインストール時にデフォルトでfirewalldがインストールされます。 Firewalldを削除して再度インストールする場合は、標準のyum/dnfパッケージマネージャーを使用できます。

# yum install firewalld -y — Centos7の場合
# dnf install firewalld -y —Centos8で

CentOS8/7でFirewallDを使い始める

Firewalldデーモンを自動的に起動するには、デーモンをスタートアップに追加します。

# systemctl enable firewalld

そしてそれを始めましょう:

# systemctl start firewalld

サービスステータスを確認します:

# systemctl status firewalld

● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running)
Docs: man:firewalld(1)
Main PID: 13646 (firewalld)
CGroup: /system.slice/firewalld.service
└─13646 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid
systemd[1]: Starting firewalld - dynamic firewall daemon...

または、次のコマンドを使用して実行します:

# firewall-cmd --state

ファイアウォール-cmd コマンドは、nftables/iptablesへのfirewalldフロントエンドです。

# firewall-cmd --state

running
FirewallDルールの管理

デフォルトのFirewallDルール

Firewalldルールを設定する前に、デフォルトで使用されているゾーンを確認する必要があります:

# firewall-cmd --get-default-zone

CentOS8/7でFirewallDを使い始める

Firewalldをインストールしたばかりで、まだ設定していないため、デフォルトのゾーンは public

アクティブゾーンを確認してください。同じゾーンは1つだけです—パブリック:

# firewall-cmd --get-active-zones

public
interfaces: eth0

ご覧のとおり、eth0インターフェースは public によって管理されています ゾーン。

CentOSネットワークインターフェースのリストは次のように表示できます。

# ip link show
または:
# nmcli device status

アクティブゾーンのルールを表示するには、次のコマンドを使用します:

# firewall-cmd --list-all

public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: dhcpv6-client ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

このリストでは、DHCPクライアントとSSHに関連する一般的な操作がゾーンに追加されていることがわかります。

利用可能なゾーン

すべてのゾーンのリストを表示するには、次のコマンドを実行します:

# firewall-cmd --get-zones

次のリストがあります:

block dmz drop external home internal public trusted work

特定のゾーンのルールを表示するには、コマンドに-zoneフラグを追加します。

# firewall-cmd --zone=home --list-all

home
target: default
icmp-block-inversion: no
interfaces:
sources:
services: dhcpv6-client mdns samba-client ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

すべてのゾーンのルールを表示できます:

# firewall-cmd --list-all-zones

デフォルトゾーンを変更するには?

デフォルトでは、すべてのネットワークインターフェースはパブリックにあります ゾーンですが、次のコマンドを使用して任意のゾーンに移動できます:

# firewall-cmd --zone=home —change-interface=eth0

zone =の後に必要なゾーンを指定します パラメータ。

デフォルトのゾーンをホームに変更するには、次のコマンドを実行します。

# firewall-cmd --set-default-zone=home

FirewallDにアプリルールを追加するには?

アプリのポートを開くには、例外としてサービスを追加できます。利用可能なサービスのリストを表示する方法は次のとおりです。

# firewall-cmd --get-services

CentOS8/7でFirewallDを使い始める

出力には多くのサービスが含まれます。サービスに関する詳細情報は、その XMLに含まれています。 ファイル。これらのファイルは/usr / lib / firewalld/servicesにあります。

例:

# cd /usr/lib/firewalld/services
# cat smtp.xml

<?xml version="1.0" encoding="utf-8"?>
<service>
<short>Mail (SMTP)</short>
<description>This option allows incoming SMTP mail delivery. If you need to allow remote hosts to connect directly to your machine to deliver mail, enable this option. You do not need to enable this if you collect your mail from your ISP's server by POP3 or IMAP, or if you use a tool such as fetchmail. Note that an improperly configured SMTP server can allow remote machines to use your server to send spam.</description>
<port protocol="tcp" port="25"/>
</service>

XMLファイルには、サービスの説明、プロトコル、firewalldで開くポートの数が含まれています。

CentOS8/7でFirewallDを使い始める

ルールを追加するときは、– add-serviceを使用できます 特定のサービスへのファイアウォールアクセスを許可するパラメータ:

# firewall-cmd --zone=public --add-service=http
# firewall-cmd --zone=public --add-service=https

ルールを追加した後、サービスが指定されたゾーンに追加されているかどうかを確認できます。

# firewall-cmd --zone=public --list-services

dhcpv6-client http https ssh

ルールを永続的にする場合は、–永続的を使用します それらを追加するときのパラメータ。

ゾーンからサービスを削除するには:

# firewall-cmd --permanent --zone=public --remove-service=http
# firewall-cmd --zone=public --permanent --list-services

dhcpv6-client https ssh test

yj例外にサービスを追加する場合は、 XMLを作成できます。 自分でファイルし、そこでデータを指定します。任意のサービスからデータをコピーして、名前、説明、ポート番号を変更できます。

smtp.xmlをコピーします ユーザーサービスのディレクトリへ:

# cp /usr/lib/firewalld/services/smtp.xml /etc/firewalld/services

ファイル内のサービスの説明を変更します。

CentOS8/7でFirewallDを使い始める

XMLファイルの名前も変更する必要があります(サービスをテストと呼びました) )。次に、firewalldを再起動し、サービスがリストに表示されていることを確認します。

# firewall-cmd --get-services

syslog-tls telnet test tftp

これで、サービスを任意のゾーンに追加できます:

# firewall-cmd --zone=public --add-service=test --permanent
# firewall-cmd --zone=public --permanent --list-services

dhcpv6-client http https ssh test

リストにサービスが見つからない場合は、次のコマンドを使用して、firewalldで必要なポートを開くことができます。

# firewall-cmd --zone=public —add-port=77/tcp TCPを開きます ポート77
# firewall-cmd --zone=public —add-port=77/udp UDPを開きます ポート77
# firewall-cmd --zone=public —add-port=77-88/udp UDPを開きます ポート範囲77-88
# firewall-cmd --zone=public —list-ports —許可されたポートのリストを表示します

ICMPリクエストをブロック/許可するには:

# firewall-cmd --zone=public --add-icmp-block=echo-reply
# firewall-cmd --zone= public --remove-icmp-block=echo-reply
>

追加されたポートを削除するには:
# firewall-cmd --zone=public —remove-port=77/udp UDPのランタイムルールを削除します ポート77

# firewall-cmd --permanent --zone=public —remove-port=77/udp —永続的なルールを削除します

CentOS8/7でFirewallDを使い始める

FirewallDで新しいゾーンを作成するにはどうすればよいですか?

独自のゾーンを作成できます(これを私たちと呼びます) ):

# firewall-cmd --permanent --new-zone=our

サービスを作成した後など、新しいゾーンを作成した後は、 firewalldを再起動する必要があります :

# firewall-cmd --reload
# firewall-cmd --get-zones

block dmz drop external home internal our public trusted work

私たち ゾーンが利用可能です。サービスを追加したり、いくつかのポートを開いたりできます。

Firewalld:IPアドレスをブロックして例外を作成する方法

信頼できるIPアドレスをfirewalld例外に追加したり、不要なIPアドレスをブロックしたりできます。

IPアドレス(8.8.8.8など)を追加するには、firewalldを使用してサーバーに例外を追加するには、次のコマンドを実行します。

# firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="8.8.8.8" accept'

ゾーンをチェックし、IPアドレスを確認します リッチルールの例外に追加されました:

# firewall-cmd --zone=public --list-all

public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: dhcpv6-client http https ssh test
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
rule family="ipv4" source address="8.8.8.8" accept

IPアドレスをブロックするには、承認を置き換えます 拒否

# firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="8.8.4.4" reject'
# firewall-cmd --zone=public --list-all

public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: dhcpv6-client http https ssh test
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
rule family="ipv4" source address="8.8.8.8" accept
rule family="ipv4" source address="8.8.4.4" reject

サービスが特定のIPアドレスからのリクエストのみを受け入れることを許可できます:

#firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source address="192.168.1.0/24" service name="https" accept'

サーバーへのすべてのリクエストをすばやくブロックする場合は、パニックコマンドを使用します。

# firewall-cmd --panic-on

次のコマンドでパニックモードを無効にできます:

# firewall-cmd --panic-off

または、サーバーを再起動します。

ルート権限を持つローカルサービスが作成したファイアウォールルールを変更できないように、firewalld構成をブロックできます。

# firewall-cmd --lockdown-on

ロックダウンモードを無効にするには:

# firewall-cmd --lockdown-off

FirewallDを使用したポートフォワーディングの設定

Firewalldでポート転送ルールを作成できます。 TCPポート443を9090に転送するには:

# firewall-cmd --zone=public --add-forward-port=port=443:proto=tcp:toport=9090 --permanent

Windowsでは、netshを使用してポート転送を構成できます。

ポート転送ルールを削除するには:

# firewall-cmd --zone=public --remove-forward-port=port=443:proto=tcp:toport=9090


  1. Clipchampを始める方法

    Clipchamp は、誰もが仕事やソーシャル メディアなどの動画を作成するために使用できる動画編集ツールです。マイクロソフトは昨年、このプラットフォームを買収し、Windows 10 および Windows 11 ユーザーは無料で利用できるようになりました。当初、このアプリは Office 365 に統合される予定でしたが、変更されました。 Clipchamp は、すべての Windows 11 デバイスにインボックス アプリとしてプリロードされます。 ゼロからビデオを作成するのに最適です。チュートリアルやセールス プレゼンテーションなどの長い形式のコンテンツを作成したり、生の映像を編集し

  2. Alexa スキルの使用方法

    Amazon Echo スマート スピーカーを所有している場合は、デジタル アシスタントの Alexa に精通している必要があります。これは、最高の音声アシスタントの 1 つです。ただし、Alexa の機能について疑問がある場合は、答えは、買い物リストの作成、音楽の再生、スマート ホームの制御以外にも多くのことができるということです。実際、この信じられないほどの仮想アシスタントは、あなたが考えている以上に個人的なタスクに役立ちます. Amazon Skill Blueprints の助けを借りて、独自の Alexa スキルや面白いジョーク、クイズを作成して気分や環境を明るくするために使用できま