Linux で Apache のデフォルト ポートを変更する方法
Linux サーバーを安全に保つことは、システム管理者の重要な義務です。サーバーの安全性を可能な限り高める方法はたくさんありますが、最初に実行する必要がある基本的な手順がいくつかあります。その 1 つは、 頻繁に使用するサービスのデフォルト ポートをカスタム ポートに変更することです。ここでは、Apache、FTP、SSH のデフォルトのポートを推測しにくい別のポートに変更する方法を見ていきます。このトピックを 3 つの小さな部分に分けて見てみましょう。最初の部分では、Linux で Apache のデフォルト ポートをカスタム ポートに変更する方法を説明します。
Apache2 のデフォルト ポートを変更する必要があるのはなぜですか?
本題に入る前に、ポートを変更するとセキュリティが強化されるのではないかと疑問に思うかもしれません。正直に言うと、いいえ、システムを完全に保護することはできません。デフォルトのポートを変更するだけでは、重大なセキュリティ防御は提供されません。最終的にどのポートを使用しているかを検出するポート スキャナーが多数あります。しかし、少なくとも、素人による攻撃からサーバーを保護することはできますし、攻撃の数を減らすこともできます。そのため、デフォルトのポートを変更する必要があります。
Apacheのデフォルトポートをカスタムポートに変更する
1. Debian/Ubuntu で Apache ポートを変更します。
/etc/apache2/ports.conf
ファイルを編集します。
sudo vi /etc/apache2/ports.conf
次の行を見つけます。
Listen 80
そして、これを任意の乱数に変更します (例: 8090
)。
Listen 8090
このエントリにより、サーバーはすべてのインターフェイスのポート 8090
での接続を受け入れるようになります。サーバーが特定のインターフェイスのポート 8090
での接続を受け入れるようにするには、以下に示すように、対応するネットワーク インターフェイスの IP アドレスを含めるだけです。
Listen 192.168.1.101:8090
これは、サーバーに複数の IP アドレスまたはネットワーク インターフェイスがある場合に役立ちます。
ファイルを保存して閉じます。
さらに、Ubuntu と Debian では、/etc/apache2/sites-enabled/000-default.conf
ファイルのポート番号も変更する必要があります。
sudo vi /etc/apache2/sites-enabled/000-default.conf
次の行を見つけてポート番号を変更します。
<VirtualHost *:8090>
ファイルを保存して閉じます。
次に、Apache サービスを再起動して変更を有効にします。
sudo systemctl restart apache2
次に、ポート設定を確認してみましょう。
sudo netstat -tulpn | grep :8090
サンプル出力:
tcp6 0 0 :::8090 :::* LISTEN 4066/apache2
次に、Web ブラウザを開いて URL: http://IP アドレス:8090 に移動します。
次の画面が表示されるはずです。
Ubuntu の Apache2 テスト ページ
次に、RHEL ベースのシステムで Apache ポートを変更する方法を見ていきます。
2. RHEL、CentOS、AlmaLinux、Rocky Linux で Apache ポートを変更します。
最初に Apache Web サーバーがインストールされていることを確認してください。
次に、/etc/httpd/conf/httpd.conf
ファイルを編集します。
sudo vi /etc/httpd/conf/httpd.conf
次の行を見つけます。
Listen 80
そして、これを任意の乱数に変更します (例: 8090
)。
Listen 8090
このエントリにより、サーバーはすべてのインターフェイスのポート 8090
での接続を受け入れるようになります。サーバーが特定のインターフェイスのポート 8090 での接続を受け入れるようにするには、以下に示すように、対応するネットワーク インターフェイスの IP アドレスを含めるだけです。
Listen 192.168.1.150:8090
これは、サーバーに複数の IP アドレスまたはネットワーク インターフェイスがある場合に便利です。
ファイルを保存して閉じます。
RHEL/CentOS システムでは、新しいポート番号 8090
が SELinux およびファイアウォールによってブロックされていないことを確認してください。
sudo semanage port -a -t http_port_t -p tcp 8090
semanage コマンドが見つからない場合は、次のパッケージを CentOS 7/RHEL 8 にインストールします。
sudo yum install policycoreutils-python
CentOS 8/RHEL 8 の場合:
sudo dnf install policycoreutils-python-utils
ファイアウォール経由でポート 8090 を許可するには、次の手順を実行します。
RHEL 7/8 および CentOS 7/8 の場合:
sudo firewall-cmd --permanent --add-port=8090/tcp
sudo firewall-cmd --reload
RHEL 6/CentOS 6 の場合:
sudo vi /etc/sysconfig/iptables
そして、新しいカスタム ポート行を追加します。
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8090 -j ACCEPT
ファイルを保存して終了し、iptables サービスを再起動します。
sudo service iptables restart
最後に httpd サービスを再起動します。
sudo systemctl restart httpd
RHEL 6.x システムでは、次のコマンドを使用して httpd
サービスを再起動します。
sudo service httpd restart
次に、次のコマンドを使用してリスニング ポートを確認します。
サンプル出力:
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Drop-In: /usr/lib/systemd/system/httpd.service.d
└─php-fpm.conf
Active: active (running) since Mon 2020-02-10 17:08:21 IST; 1min 20s ago
Docs: man:httpd.service(8)
Main PID: 2126 (httpd)
Status: "Running, listening on: port 8090"
Tasks: 213 (limit: 11501)
Memory: 24.3M
CGroup: /system.slice/httpd.service
├─2126 /usr/sbin/httpd -DFOREGROUND
├─2127 /usr/sbin/httpd -DFOREGROUND
├─2128 /usr/sbin/httpd -DFOREGROUND
├─2129 /usr/sbin/httpd -DFOREGROUND
└─2130 /usr/sbin/httpd -DFOREGROUND
Feb 10 17:08:21 centos8.ostechnix.lan systemd[1]: Starting The Apache HTTP Server...
Feb 10 17:08:21 centos8.ostechnix.lan systemd[1]: Started The Apache HTTP Server.
Feb 10 17:08:21 centos8.ostechnix.lan httpd[2126]: Server configured, listening on: port 8090
または、netstat
コマンドを使用します。
sudo netstat -tulpn | grep :8090
サンプル出力:
tcp6 0 0 :::8090 :::* LISTEN 17636/httpd
netstat コマンドが見つからない場合は、次のパッケージをインストールします。
sudo yum install net-tools
次に、URL: http://IP アドレス:8090 を使用して、ブラウザから Apache テスト ページを確認します。
次の画面が表示されるはずです。
Linux で Apache のデフォルト ポートをカスタム ポートに変更する
おめでとう! Apacheのデフォルトポートが変更されました。
FTP のデフォルト ポートを変更する方法については、次のリンクを確認してください。
- FTP のデフォルト ポートをカスタム ポートに変更する方法