Apache サーバー名をサーバーヘッダー内の任意の名前に変更する方法
Apache サーバーのセキュリティと強化のヒントに関するいくつかの記事の 1 つで、Apache のバージョン番号やその他の機密情報を非表示にする方法について説明しました。
私たちは、Web サーバーのバージョン番号、サーバーのオペレーティング システムの詳細、インストールされている Apache モジュールなどの貴重な情報を、サーバーで生成されたドキュメントと一緒にクライアント (おそらく攻撃者) に送信されないようにする方法について話し合いました。
この記事では、もう 1 つの役立つ Apache セキュリティのヒント、つまり、サーバー ヘッダー内の HTTP Web サーバー名を別の名前に変更することを紹介します。
ここで実際に何を意味するのでしょうか?以下のスクリーンショットを見てください。Web サーバーのドキュメント ルート内のディレクトリのリストが表示され、その下にサーバーの署名 (Web サーバー名、バージョン、オペレーティング システム、IP アドレス、ポート) が表示されます。
ほとんどの場合、ハッカーは Web サーバー ソフトウェアの既知の脆弱性を利用して Web サイトや Web アプリを攻撃するため、Web サーバーの名前を変更すると、システムで実行されているサーバーの種類を知ることが困難になります。ポイントは、「Apache 」という名前を別の名前に変更することです。
これは、Apache mod_security モジュールをインストールすることで実現できます。
-------- On Debian/Ubuntu --------
sudo apt install libapache2-mod-security2
sudo a2enmod security2
-------- On CentOS/RHEL and Fedora --------
yum install mod_security
dnf install mod_security
次に、Apache 構成ファイルを開きます。
$ sudo vi /etc/apache2/apache2.conf #Debian/Ubuntu
vi /etc/httpd/conf/httpd.conf #RHEL/CentOS/Fedora
次に、以下の行を変更または追加します (TecMint_Web を、クライアントに表示したい他の内容に必ず変更してください)。
ServerTokens Full
SecServerSignature “Tecmint_Web”
最後にWebサーバーを再起動します。
$ sudo systemctl restart apache2 #Debian/Ubuntu
systemctl restart httpd #RHEL/CentOS/Fedora
次に、curl コマンドを使用するかブラウザからアクセスしてページを再度確認し、Web サーバー名がApacheからTecmint_Webに変更されていることを確認します。
$ curl -I -L http://domain-or-ipaddress
それでおしまい! Apache Web サーバーに関連する次の記事をチェックしてください。
- Mod_Security を使用して Apache をブルート フォース攻撃または DDoS 攻撃から保護する
- MySQL、PHP、および Apache 構成ファイルを見つける方法
- Linux でデフォルトの Apache の「DocumentRoot」ディレクトリを変更する方法
- Linux でどの Apache モジュールが有効/ロードされているかを確認する方法
- 13 Apache Web サーバーのセキュリティと強化のヒント
この記事では、Linux のサーバー ヘッダーで HTTP Web サーバー名を別の名前に変更する方法を説明しました。このトピックに関するご意見を追加するには、以下のフィードバック フォームを使用してください。