PXE Server Setup
目次:
- 前提条件
- 基本的なファイアウォールの概念
- ファイアウォールゾーン
- ファイアウォールサービス
- ファイアウォールランタイムおよび永続的な設定
- FirewallDのインストールと有効化
- ファイアウォールゾーンの使用
- インターフェイスのゾーンの変更
- デフォルトゾーンの変更
- ポートまたはサービスを開く
- 新しいFirewallDサービスの作成
- Firewalldでの転送ポート
- FirewallDを使用したルールセットの作成
- 結論
適切に構成されたファイアウォールは、システム全体のセキュリティの最も重要な側面の1つです。
FirewallDは、システムのiptablesルールを管理し、それらを操作するためのD-Busインターフェイスを提供する完全なファイアウォールソリューションです。 CentOS 7以降、FirewallDはデフォルトのファイアウォール管理ツールとしてiptablesを置き換えます。
このチュートリアルでは、CentOS 7システムでFirewallDを使用してファイアウォールを設定する方法を示し、FirewallDの基本的な概念を説明します。
前提条件
このチュートリアルを始める前に、sudo特権を持つユーザーアカウントまたはrootユーザーでサーバーにログインしていることを確認してください。 ベストプラクティスは、rootではなくsudoユーザーとして管理コマンドを実行することです。 CentOSシステムにsudoユーザーがいない場合は、次の手順に従って作成できます。
基本的なファイアウォールの概念
FirewallDは、iptablesチェーンとルールの代わりに、ゾーンとサービスの概念を使用します。 構成するゾーンとサービスに基づいて、システムとの間で許可または禁止するトラフィックを制御できます。
FirewallDは、
firewall-cmd
コマンドラインユーティリティを使用して構成および管理できます。
ファイアウォールゾーン
ゾーンは、コンピューターが接続されているネットワークの信頼レベルに基づいて許可されるトラフィックを指定する事前定義されたルールのセットです。 ネットワークインターフェイスとソースをゾーンに割り当てることができます。
以下は、FirewallDが提供するゾーンを、信頼されていないゾーンから信頼されるゾーンの信頼レベルに従って並べたものです。
- drop :すべての着信接続は通知なしでドロップされます。 発信接続のみが許可されます。 block :すべての着信接続は、
IPv4
icmp-host-prohibited
メッセージで、icmp6-adm-prohibited
で拒否icmp6-adm-prohibited
れます。 発信接続のみが許可されます。 public :信頼できない公共エリアで使用します。 ネットワーク上の他のコンピューターを信頼しませんが、選択した着信接続を許可できます。 external :システムがゲートウェイまたはルーターとして機能する場合、NATマスカレードが有効になっている外部ネットワークで使用します。 選択した着信接続のみが許可されます。 internal :システムがゲートウェイまたはルーターとして機能するときに、内部ネットワークで使用します。 ネットワーク上の他のシステムは一般的に信頼されています。 選択した着信接続のみが許可されます。 dmz :非武装地帯にあり、ネットワークの残りの部分へのアクセスが制限されているコンピューターに使用されます。 選択した着信接続のみが許可されます。 work :作業機械に使用されます。 ネットワーク上の他のコンピューターは一般的に信頼されています。 選択した着信接続のみが許可されます。 home :ホームマシンに使用されます。 ネットワーク上の他のコンピューターは一般的に信頼されています。 選択した着信接続のみが許可されます。 信頼済み :すべてのネットワーク接続が受け入れられます。 ネットワーク内のすべてのコンピューターを信頼します。
ファイアウォールサービス
ファイアウォールサービスは、ゾーン内に適用される定義済みのルールであり、特定のサービスの着信トラフィックを許可するために必要な設定を定義します。
ファイアウォールランタイムおよび永続的な設定
Firewalldは、実行時構成と永続構成という2つの別個の構成セットを使用します。
ランタイム構成は実際の実行構成であり、再起動時に永続的ではありません。 Firewalldサービスが開始されると、永続的な構成が読み込まれ、これがランタイム構成になります。
デフォルトでは、
firewall-cmd
ユーティリティを使用してFirewalld設定に変更を加えると、変更はランタイム設定に適用されます。 変更を永続的にするには、
--permanent
オプションを使用する必要があります。
FirewallDのインストールと有効化
-
FirewalldはデフォルトでCentOS 7にインストールされますが、システムにインストールされていない場合は、次を入力してパッケージをインストールできます。
sudo yum install firewalld
Firewalldサービスはデフォルトで無効になっています。 ファイアウォールの状態は次の方法で確認できます。
sudo firewall-cmd --state
FirewallDサービスを開始し、起動時に有効にするには:
sudo systemctl start firewalld
sudo systemctl enable firewalld
ファイアウォールゾーンの使用
FirewallDサービスを初めて有効にすると、
public
ゾーンがデフォルトゾーンとして設定されます。 次のように入力して、デフォルトゾーンを表示できます。
sudo firewall-cmd --get-default-zone
public
利用可能なすべてのゾーンのリストを取得するには、次を入力します。
sudo firewall-cmd --get-zones
block dmz drop external home internal public trusted work
デフォルトでは、すべてのネットワークインターフェイスにデフォルトゾーンが割り当てられます。 ネットワークインターフェイスで使用されているゾーンを確認するには、次のように入力します。
sudo firewall-cmd --get-active-zones
public interfaces: eth0 eth1
上記の出力は、インターフェース
eth0
と
eth1
がパブリックゾーンに割り当てられていることを示しています。
ゾーン構成設定は次の方法で印刷できます。
sudo firewall-cmd --zone=public --list-all
public (active) target: default icmp-block-inversion: no interfaces: eth0 eth1 sources: services: ssh dhcpv6-client ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
上記の出力から、パブリックゾーンがアクティブであり、デフォルトとして設定されており、
eth0
と
eth1
インターフェイスの両方で使用されていることがわかります。 また、DHCPクライアントとSSHに関連する接続が許可されます。
sudo firewall-cmd --list-all-zones
このコマンドは、使用可能なすべてのゾーンの設定を含む膨大なリストを印刷します。
インターフェイスのゾーンの変更
--zone
オプションを
--change-interface
オプションと組み合わせて使用すると、インターフェイスゾーンを簡単に変更できます。 次のコマンドは、
eth1
インターフェイスをワークゾーンに割り当てます。
sudo firewall-cmd --zone=work --change-interface=eth1
次を入力して、変更を確認します。
sudo firewall-cmd --get-active-zones
work interfaces: eth1 public interfaces: eth0
デフォルトゾーンの変更
デフォルトゾーンを変更するには、
--set-default-zone
オプションに続けて、
--set-default-zone
の名前を使用します。
たとえば、デフォルトゾーンをホームに変更するには、次のコマンドを実行する必要があります。
sudo firewall-cmd --set-default-zone=home
変更を確認するには:
sudo firewall-cmd --get-default-zone
ポートまたはサービスを開く
FirewallDを使用すると、サービスと呼ばれる事前定義されたルールに基づいて、特定のポートへのトラフィックを許可できます。
デフォルトで利用可能なすべてのサービスのリストを取得するには、次を入力します。
sudo firewall-cmd --get-services
/usr/lib/firewalld/services
ディレクトリ内の関連する.xmlファイルを開くと、各サービスに関する詳細情報を見つけることができます。 たとえば、HTTPサービスは次のように定義されます。
WWW (HTTP) HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages.
WWW (HTTP) HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages.
現在のセッション(ランタイム構成)のみに対して、パブリックゾーンのインターフェイスに着信HTTPトラフィック(ポート80)を許可するには
sudo firewall-cmd --zone=public --add-service=http
デフォルトのゾーンを変更する場合は、
--zone
オプションを
--zone
できます。
サービスが正常に追加されたことを確認するには、
--list-services
オプションを使用します。
sudo firewall-cmd --zone=public --list-services
ssh dhcpv6-client
sudo firewall-cmd --permanent --zone=public --add-service=http
--list-services
と
--permanent
オプションを使用して、変更を確認します。
sudo firewall-cmd --permanent --zone=public --list-services
ssh dhcpv6-client
サービスを削除するための構文は、サービスを追加するときと同じです。
--add-service
オプションの代わりに
--remove-service
使用します。
sudo firewall-cmd --zone=public --remove-service=http --permanent
上記のコマンドは、パブリックゾーンの永続的な構成からhttpサービスを削除します。
適切なサービスが利用できないPlex Media Serverなどのアプリケーションを実行している場合はどうなりますか?
このような状況では、2つのオプションがあります。 適切なポートを開くか、新しいFirewallDサービスを定義できます。
たとえば、Plex Serverはポート32400でリッスンし、TCPを使用します。現在のセッションのパブリックゾーンでポートを開くには、
--add-port=
オプションを使用します。
sudo firewall-cmd --zone=public --add-port=32400/tcp
プロトコルは
tcp
または
udp
いずれかです。
ポートが正常に追加されたことを確認するには、
--list-ports
オプションを使用します。
sudo firewall-cmd --zone=public --list-ports
32400/tcp
再起動後にポート
32400
開いたままにするには、
--permanent
オプションを使用して同じコマンドを実行し、永続的な設定にルールを追加します。
ポートを削除するための構文は、ポートを追加する場合と同じです。
--add-port
オプションの代わりに
--remove-port
使用してください。
sudo firewall-cmd --zone=public --remove-port=32400/tcp
新しいFirewallDサービスの作成
既に述べたように、デフォルトのサービスは
/usr/lib/firewalld/services
ディレクトリに保存され
/usr/lib/firewalld/services
。 新しいサービスを作成する最も簡単な方法は、ユーザーが作成したサービスの場所である
/etc/firewalld/services
ディレクトリに既存のサービスファイルをコピーし、ファイル設定を変更することです。
たとえば、Plex Media Serverのサービス定義を作成するには、SSHサービスファイルを使用できます。
sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/plexmediaserver.xml
新しく作成した
plexmediaserver.xml
ファイルを開き、サービス内の短い名前と説明を変更します
次の例では、ポート
1900
UDPおよび
32400
TCPを開いています。
plexmediaserver Plex is a streaming media server that brings all your video, music and photo collections together and stream them to your devices at anytime and from anywhere.
plexmediaserver Plex is a streaming media server that brings all your video, music and photo collections together and stream them to your devices at anytime and from anywhere.
ファイルを保存してFirewallDサービスをリロードします。
sudo firewall-cmd --reload
これで、他のサービスと同じゾーンで
plexmediaserver
サービスを使用できます。
Firewalldでの転送ポート
あるポートから別のポートまたはアドレスにトラフィックを転送するには、まず
--add-masquerade
スイッチを使用して目的のゾーンのマスカレードを有効にします。 たとえば、
external
ゾーンタイプのマスカレードを有効にするには:
sudo firewall-cmd --zone=external --add-masquerade
- 同じサーバー上のあるポートから別のポートにトラフィックを転送する
次の例では、同じサーバー上のポート
80
からポート
8080
にトラフィックを転送しています。
sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080
- 別のサーバーにトラフィックを転送する
次の例では、IP
10.10.10.2
サーバー上のポート
80
からポート
80
にトラフィックを転送しています。
sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toaddr=10.10.10.2
- 別のポート上の別のサーバーにトラフィックを転送する
次の例では、IP
10.10.10.2
サーバー上のポート
80
からポート
8080
にトラフィックを転送しています。
sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=10.10.10.2
FirewallDを使用したルールセットの作成
次の例では、Webサーバーを実行している場合にファイアウォールを構成する方法を示します。 サーバーには1つのインターフェース
eth0
のみがあり、SSH、HTTP、およびHTTPSポートでのみ着信トラフィックを許可することを想定しています。
-
デフォルトゾーンをdmzに変更します
デフォルトではSSHトラフィックのみが許可されるため、dmz(非武装)ゾーンを使用します。 デフォルトゾーンをdmzに変更して
eth0
インターフェイスに割り当てるには、次のコマンドを実行します。sudo firewall-cmd --set-default-zone=dmz
sudo firewall-cmd --zone=dmz --add-interface=eth0
HTTPおよびHTTPSポートを開きます。
HTTPおよびHTTPSポートを開くには、永続的なサービスルールをdmzゾーンに追加します。
sudo firewall-cmd --permanent --zone=dmz --add-service=http
sudo firewall-cmd --permanent --zone=dmz --add-service=https
ファイアウォールをリロードして、変更をすぐに有効にします。
sudo firewall-cmd --reload
変更を確認する
dmzゾーン構成設定を確認するには、次を入力します。
sudo firewall-cmd --zone=dmz --list-all
dmz (active) target: default icmp-block-inversion: no interfaces: eth0 sources: services: ssh http https ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
上記の出力は、dmzがデフォルトゾーンであり、
eth0
インターフェイスに適用され、ssh(22)http(80)およびhttps(443)ポートが開いていることを示しています。
結論
CentOSシステムでFirewallDサービスを構成および管理する方法を学習しました。
システムの適切な機能に必要なすべての着信接続を許可し、不要な接続をすべて制限してください。
firewalld firewall iptables centosセキュリティCentOS 7でワニスを使用するようにmagento 2を構成する

ページの速度は、オンラインストアの成功に不可欠です。 このチュートリアルでは、Magento 2を設定してVarnishをフルページキャッシュソリューションとして使用する手順を説明します。
CentOS 7でユーザーを追加および削除する方法

ユーザーを追加および削除する方法を知ることは、Linuxユーザーが知っておくべき基本的なスキルの1つです。 このチュートリアルでは、CentOS 7システムでユーザーを追加および削除する方法を説明します。
CentOS 7でスワップスペースを追加する方法

スワップは、物理RAMメモリの容量がいっぱいになったときに使用されるディスク上のスペースです。 このチュートリアルでは、CentOS 7システムにスワップファイルを追加する方法について説明します。