CentOS 7にApacheをインストールする方法
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
FirewallDは動的に管理されるファイアウォールであり、RHEL 7ベースのサーバーで使用可能なIPv4およびIPv6ファイアウォールルールとファイアウォールゾーンをサポートします。これはiptables
カーネルのnetfilter
コードの直接の置き換えであり、カーネルのコードで動作します。
この記事では、firewall-cmd
コマンドを使用したCentOS 7でのファイアウォールの管理について簡単に説明します。
最初のステップは、FirewallDがインストールされ、実行されているかどうかを確認することです。これはsystemd
、次のコマンドを実行して実行できます。
$ systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2016-03-10 15:07:00 UTC; 1min 30s ago
...
または、次のfirewall-cmd
ツールを使用して確認できます。
$ firewall-cmd --state
running
FirewallDはzones
、ゾーンが接続に使用される信頼レベルを定義するという概念を使用して動作します。インターフェースごとに特定のファイアウォールルールを適用するために、異なるネットワークインターフェースを異なるゾーンに分割したり、すべてのインターフェースに1つのゾーンを使用したりできます。
デフォルトでは、すべてがデフォルトpublic
ゾーンで行われますが、適用可能な他のいくつかの事前構成済みゾーンもあります。
利用可能なすべてのゾーンのリストを取得する必要がある場合があります。その中には、いくつかのボックスが含まれています。繰り返しますが、これは次のようにして行うことができますfirewall-cmd
:
$ firewall-cmd --get-zones
block dmz drop external home internal public trusted work
現在設定されているデフォルトのゾーンは次のようにして見つけることができますfirewall-cmd
:
$ firewall-cmd --get-default-zone
public
デフォルトのゾーンを(たとえばにhome
)変更したい場合は、次のコマンドを実行します。
$ firewall-cmd --set-default-zone=home
success
この情報は、メイン構成ファイルに反映されます/etc/firewalld/firewalld.conf
。ただし、このファイルを手動で変更せず、代わりにを使用することをお勧めしますfirewall-cmd
。
次のコマンドを実行すると、インターフェースが割り当てられているゾーンのリストを取得できます。
$ firewall-cmd --get-active-zones
public
interfaces: eth0
次のコマンドeth0
を実行して、単一のインターフェースのゾーン(この場合)を確認することもできます。
$ firewall-cmd --get-zone-of-interface=eth0
public
デフォルトの事前設定されたゾーンがニーズにまったく合わない場合、新しいゾーン(zone1
)を作成する最も簡単な方法は、再びfirewall-cmd
:
$ firewall-cmd --permanent --new-zone=zone1
success
作成後、リロードする必要があります:
$ firewall-cmd --reload
success
ネットワークインターフェイスをゾーンに永続的に割り当てるfirewall-cmd
には--permanent
、変更を永続化するフラグを含めることを忘れないでください。を使用する場合はNetworkManager
、必ずを使用nmcli
して接続ゾーンを設定する必要もあります。
$ firewall-cmd --permanent --zone=internal --change-interface=eth1`
success
public
割り当てられたインターフェース、許可されたサービス、ポート設定などを含むゾーンの永続的な構成(この場合)を確認するには、次のコマンドを実行します。
$ firewall-cmd --permanent --zone=public --list-all
public (default)
interfaces:
sources:
services: dhcpv6-client ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
必要なゾーンを割り当てて構成したら、ゾーンへのサービスの追加を開始できます。サービスは、ゾーンでアクセスできるプロトコルとポートを記述します。
多くの一般的なサービスは、firewalld内で事前設定されています。これらはリストすることができます:
$ firewall-cmd --get-services
RH-Satellite-6 amanda-client bacula bacula-client dhcp dhcpv6 dhcpv6-client dns freeipa-ldap freeipa-ldaps freeipa-replication ftp high-availability http https imaps ipp ipp-client ipsec iscsi-target kerberos kpasswd ldap ldaps libvirt libvirt-tls mdns mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi pmwebapis pop3s postgresql proxy-dhcp radius rpc-bind rsyncd samba samba-client smtp ssh telnet tftp tftp-client transmission-client vdsm vnc-server wbem-https
デフォルトゾーンで有効になっているサービスのリストを取得することもできます。
$ firewall-cmd --list-services
dhcpv6-client ssh
次public
の--add-service
フラグを使用して、ゾーン()の特定のサービスを永続的に有効にできます。
$ firewall-cmd --permanent --zone=public --add-service=http
success
次に、現在のファイアウォールセッションをリロードします。
$ firewall-cmd --reload
success
次に、それが追加されたことを確認します。
$ firewall-cmd --zone=public --list-services
dhcpv6-client http ssh
次public
の--remove-service
フラグを使用して、ゾーンの特定のサービス()を永久に削除できます。
$ firewall-cmd --permanent --zone=public --remove-service=http
success
次に、現在のファイアウォールセッションをリロードします。
$ firewall-cmd --reload
success
次に、それが追加されたことを確認します。
$ firewall-cmd --zone=public --list-services
dhcpv6-client ssh
必要なサービス名を中かっこ(、)で囲むことにより、ゾーンから複数のサービス(たとえば、http
およびhttps
)を一度に1つずつ、または一度にすべて追加または削除できます。{
}
$ firewall-cmd --permanent --zone=public --add-service=
success
$ firewall-cmd --permanent --zone=public --list-services
dhcpv6-client http https ssh
たとえばSSHデーモンのポートを変更した場合など、新しいカスタムサービスを追加する必要がある場合があります。サービスは簡単なXMLファイルを使用して定義され、デフォルトのファイルは次の場所にあり/usr/lib/firewalld/services
ます。
$ tree /usr/lib/firewalld/services
/usr/lib/firewalld/services
├── amanda-client.xml
├── bacula-client.xml
├── bacula.xml
├── dhcpv6-client.xml
├── dhcpv6.xml
├── dhcp.xml
├── dns.xml
├── freeipa-ldaps.xml
├── freeipa-ldap.xml
├── freeipa-replication.xml
├── ftp.xml
├── high-availability.xml
├── https.xml
├── http.xml
...
新しいサービスを作成する最も簡単な方法は、これらの既存のサービスファイルの1つをコピーして変更することです。カスタムサービスはに常駐する必要があり/etc/firewalld/services
ます。たとえば、SSHサービスをカスタマイズするには:
$ cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/ssh-custom.xml
このコピーされたファイルの内容は次のようになります。
$ cat /etc/firewalld/services/ssh-custom.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>SSH</short>
<description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>
<port protocol="tcp" port="22"/>
</service>
ポートを変更するには、サービスの短い名前とポートを変更する必要があります。必要に応じて説明を変更することもできますが、これはユーザーインターフェイスや別のアプリケーションで使用できる追加のメタデータにすぎません。この例では、ポートを1234に変更しています。
$ nano /etc/firewalld/services/ssh-custom.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>SSH-Custom</short>
<description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>
<port protocol="tcp" port="1234"/>
</service>
保存したら、ファイアウォールをリロードして、ゾーンにルールを適用できます。
$ firewall-cmd --reload
success
$ firewall-cmd --permanent --zone=public --add-service=ssh-custom
success
サービスを使用するだけでなく、プロトコルごとにポートを手動で許可することもできます。TCPポートできるようにするには、7777
のためのpublic
ゾーンを:
$ firewall-cmd --permanent --zone=public --add-port=7777/tcp
success
ポー���範囲を追加することもできます。
$ firewall-cmd --permanent --zone=public --add-port=7000-8000/tcp
success
ゾーンのTCPポートを削除する(したがって拒否する)7777
にはpublic
:
$ firewall-cmd --permanent --zone=public --remove-port=7777/tcp
success
public
現在のファイアウォールセッションをリロードした後、特定のゾーンに現在許可されているポートをリストすることもできます()。
$ firewall-cmd --zone=public --list-ports
7000-8000/tcp
ファイアウォールを好みに合わせて設定したら、起動時に確実に開始するために、systemdを介してファイアウォールを有効にする必要があります。
$ systemctl enable firewalld
FirewallDには、ポート転送、マスカレード、D-Busを介したファイアウォールとの通信など、非常に多くの設定とオプションがあります。うまくいけば、このガイドが基本を理解するのに役立ち、サーバーからファイアウォールを開始するためのツールを提供したことを願っています。以下の追加の読み物は、ファイアウォールを最大限に活用するのに役立ちます。
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。
サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。
CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。
Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。
FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。
Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。
ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。