アフィリエイトリンクまたはスポンサーシップを通じて、ベンダーから収益を得る場合があります。これにより、サイト上の商品配置が影響を受ける可能性がありますが、レビューの内容には影響しません。詳細は利用規約をご覧ください。
Apacheサーバーは、初期状態ではおそらく必要以上に多くの情報をアナウンスしています。Jack Wallenが、これらのサーバーが表示する詳細情報を最小限に抑える方法を紹介します。
Apacheウェブサーバーを管理している方なら、セキュリティ強化のためにできることがたくさんあることをご存知でしょう。例えば、mod_securityを使うのも良いでしょう(そして、そうすべきです)。また、ディレクトリフォルダを非表示にしたり、必要なモジュールのみを実行したり、大きなリクエストを制限したり、特定のディレクトリへの参照を制限したり、他にも様々な方法があります。
参照: Apache 2 サーバーを 4 つのステップで保護する方法
しかし、Apache サーバーのセキュリティをもう少し強化するために実行できる、見落とされがちな 2 つの手順があります。Apache 署名を無効にし、ServerTokens を構成することです。なぜこれが役立つのか? 理由は簡単です。サーバー固有の情報をブロードキャストすると、潜在的な悪意のある攻撃者に、彼らが直面している問題を知らせることになります。彼らは、使用している Web サーバー、Web サーバーのバージョン、ホスティング プラットフォームなどを知ることができます。その情報をすべての人に見られることは望ましくありません。では、その情報をどのように難読化すればよいのでしょうか? 構成するオプションが 2 つあります。サーバーの詳細を隠すための具体的な設定方法を説明します。Apache (CentOS 7) と Apache2 (Ubuntu) の両方でこれを行う方法を説明します。手順は非常に簡単です。
知っておくべきこと
ここでは次の 2 つのオプションについて説明します。
- ServerSignature – サーバー生成ドキュメントの下のフッター行を構成するために使用されます。
- ServerTokens – サーバーが送信する詳細情報を制御します。詳細情報には、OSやその他のコンパイル済みモジュールが含まれる場合があります。
ServerToken には 6 つの設定があります。
- 完全版(または指定なし) – サーバー: Apache/2.4.18 (UNIX) PHP/7.0.25
- Prod (または ProductOnly) – サーバー: Apache
- メジャー – サーバー: Apache/2
- マイナー – サーバー: Apache/2.4
- 最小(または最小限) – サーバー: Apache/2.4.18
- OS – サーバー: Apache/2.4.18 (UNIX)
したがって、ServerTokensで提供できる情報はProdのみであり、これはサーバーがApacheであることのみを知らせます。バージョン番号、ホストプラットフォーム、モジュールに関する情報は一切提供されません。
これらはどのように構成されているのでしょうか?
Ubuntu上のApache2
ターミナルウィンドウを開き、コマンドsudo nano /etc/apache2/conf-enabled/security.confを実行します。ファイル内で、SeverTokens を検索して Prod に設定し、ServerSignature を検索して Off に設定します(図A)。
図A
ファイルを保存して閉じます。次のコマンドでApacheを再起動します。
sudo systemctl reload apache2
Apache は最小限の情報だけを提供するようになりました。
CentOS 7 上の Apache
CentOS 7では、これらの2つのディレクティブを追加する必要があります(デフォルトでは設定ファイルに存在しないため)。ターミナルウィンドウを開き、コマンドsudo nano /etc/httpd/conf/httpd.confを実行します。ファイルの末尾(図B)に以下の行を追加します。
ServerTokens Prod
ServerSignature Off
図B
ファイルを保存して閉じます。sudo systemctl reload httpdコマンドでApacheを再起動します。
以上です
これで、Apacheがアナウンスする情報が、初期設定時よりも少なくなるように設定できました。これによりApacheのセキュリティが直接強化されるわけではありませんが、ハッカーがウェブサーバーの情報を悪用して攻撃を行うことが、若干困難になります。すべてのApacheサーバーでこの設定を行い、セキュリティを少し強化しましょう。
こちらもご覧ください
- apache2buddy.pl を使って Apache を数秒で調整する方法
- Nextcloudでサーバー側暗号化を有効にする方法
- Nextcloud 10で2要素認証を有効にする方法
- openSUSEにLAMPサーバーをインストールする方法
- NGINXに仮想ホストを追加する方法
- Apacheの代わりにNGINXを使うべき時

ジャック・ウォーレン
ジャック・ウォーレンは、TechRepublic、The New Stack、Linux New Mediaなどで受賞歴のあるライターです。20年以上にわたり様々なトピックを執筆し、オープンソースの熱心な推進者でもあります。ジャック・ウォーレンに関する詳細は、ウェブサイトjackwallen.comをご覧ください。