このチュートリアルでは、CentOS 7でファイアウォールを構成する方法を示します。知らなかった方のために、FirewallDはシステムのiptablesルールを管理する完全なファイアウォールソリューションです。それらを操作するためのD-Busインターフェースを提供します。CentOS7以降、FirewallDはデフォルトのファイアウォール管理ツールとしてiptablesに取って代わります。
この記事は、少なくともLinuxの基本的な知識があり、シェルの使用方法を知っていること、そして最も重要なこととして、サイトを独自のVPSでホストしていることを前提としています。インストールは非常に簡単で、ルートアカウントで実行されていますが、そうでない場合は、'sudo
を追加する必要があります。 ルート権限を取得するコマンドに‘。ステップバイステップで、CentOS7でファイアウォールを構成します。
前提条件
- 次のオペレーティングシステムのいずれかを実行しているサーバー:CentOS7。
- 潜在的な問題を防ぐために、OSの新規インストールを使用することをお勧めします。
- サーバーへのSSHアクセス(またはデスクトップを使用している場合はターミナルを開く)
non-root sudo user
またはroot user
へのアクセス 。non-root sudo user
として行動することをお勧めします ただし、ルートとして機能するときに注意しないと、システムに害を及ぼす可能性があるためです。
CentOS7でファイアウォールを構成する
ステップ1.まず、システムが最新であることを確認することから始めましょう。
yum clean all yum -y update
ステップ2.CentOS7にFirewallDをインストールします。
FirewalldはデフォルトでCentOS7にインストールされますが、システムにインストールされていない場合は、次のコマンドを実行してインストールできます。
sudo yum install firewalld
FirewallDをインストールした後、サービスを有効にしてサーバーを再起動できます。FirewallDを有効にすると、起動時にサービスが起動することに注意してください:
>sudo systemctl start firewalld sudo systemctl enable firewal sudo reboot
次のように入力することで、サービスが実行され、到達可能であることを確認できます。
sudo firewall-cmd --state
ステップ3.CentOS7でのFirewallDのセットアップと構成。
FirewallDは、iptablesルールとチェーンの代わりにサービスとゾーンを使用します。デフォルトでは、次のゾーンを使用できます:
- ドロップ –応答なしですべての着信ネットワークパケットをドロップします。発信ネットワーク接続のみが使用可能です。
- ブロック –ICMPホスト禁止メッセージを含むすべての着信ネットワークパケットを拒否します。発信ネットワーク接続のみが使用可能です。
- 公開 –公共エリアで使用するために、選択された着信接続のみが受け入れられます
- 外部 マスカレードが有効になっている外部ネットワークの場合、選択した着信接続のみが受け入れられます。
- DMZ – DMZ非武装地帯。公的にアクセス可能で、内部ネットワークへのアクセスが制限されています。選択された着信接続のみが受け入れられます。
- 作業 –ホームエリアのコンピューターの場合、選択した着信接続のみが受け入れられます。
- ホーム –ホームエリアのコンピューターの場合、選択した着信接続のみが受け入れられます。
- 内部 -内部ネットワーク内のコンピューターの場合、選択した着信接続のみが受け入れられます。
- 信頼できる –すべてのネットワーク接続が受け入れられます。
使用可能なすべてのゾーンを一覧表示するには、次のコマンドを実行します:
firewall-cmd --get-zones work drop internal external trusted home dmz public block
デフォルトゾーンを一覧表示するには:
firewall-cmd --get-default-zone public
デフォルトゾーンを変更するには:
firewall-cmd --set-default-zone=dmz firewall-cmd --get-default-zone dmz
たとえば、Webサーバー、ポート8888でSSH、またはメールサーバーを実行している場合にFirewallDを使用してVPSファイアウォールを構成する方法は次のとおりです。
>最初に、デフォルトのゾーンをDMZに設定します。
firewall-cmd --set-default-zone=dmz
HTTPおよびHTTPSの永続的なサービスルールをDMZゾーンに追加するには、次のコマンドを実行します。
firewall-cmd --zone=dmz --add-service=http --permanent firewall-cmd --zone=dmz --add-service=https --permanent
SSHポートが7022に変更されたため、sshサービス(ポート22)を削除し、ポート8888を開きます
firewall-cmd --remove-service=ssh --permanent firewall-cmd --add-port=8888/tcp --permanent
変更を実装するには、ファイアウォールをリロードする必要があります:
firewall-cmd --reload
最後に、次のコマンドでルールを一覧表示できます:
### firewall-cmd --list-all dmz target: default icmp-block-inversion: no interfaces: sources: services: http https imap imaps pop3 pop3s smtp smtps ports: 7022/tcp protocols: masquerade: no forward-ports: sourceports: icmp-blocks: rich rules:
手順4.CentOS7でファイアウォールを無効にします。
次のコマンドを使用して、FirewallDサービスを一時的に停止できます。
sudo systemctl stop firewalld
CentOS 7システムでファイアウォールを完全に無効にするには、以下の手順に従います。
sudo systemctl disable firewalld
出力:
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
おめでとうございます!ファイアウォールが正常に構成されました。CentOS7システムにFirewallDをインストールするためにこのチュートリアルを使用していただきありがとうございます。追加のヘルプや役立つ情報については、FirewallDの公式Webサイトを確認することをお勧めします。
>