次のベスト プラクティスを使用して Apache Web サーバーを保護および強化し、Web アプリケーションを安全に保ちます。
Web サーバーは、Web ベースのアプリケーションの重要な部分です。 誤った構成と既定の構成を使用すると、機密情報が公開される可能性があり、これはリスクです。
Web サイトの所有者または管理者は、Web サイトに対して定期的にセキュリティ スキャンを実行して、オンラインの脅威を見つけ、ハッカーが行う前に対処できるようにする必要があります。
Apache ウェブサーバーを維持するための基本的な構成を見ていきましょう。
次のすべての構成は、Apache インスタンスの httpd.conf にあります。
注: 変更する前に、必要な構成ファイルのバックアップを作成してください。これにより、問題が発生した場合に簡単に復元できます。
トレース HTTP リクエストを無効にする
デフォルトの TraceEnable on は TRACE を許可します。これにより、要求本文が要求に付随することは許可されません。
TraceEnable をオフにすると、コア サーバと mod_proxy が 405 (メソッドは許可されていません) エラーをクライアントに返します。
TraceEnable をオンにすると、クロスサイト トレースの問題が発生し、ハッカーに Cookie 情報を盗むオプションが与えられる可能性があります。
解決
Apache 構成で TRACE HTTP メソッドを無効にすることで、このセキュリティの問題に対処します。
Apache Web サーバーの httpd.conf で以下のディレクティブを変更/追加することで実行できます。
TraceEnable off
別のユーザーおよびグループとして実行
デフォルトでは、Apache は nobody または daemon で実行するように構成されています。
自分が何をしているのか、何が危険なのかを正確に把握していない限り、ユーザー (またはグループ) を root に設定しないでください。
解決
独自の非ルート アカウントで Apache を実行することは適切です。 Apache Web サーバーの httpd.conf でユーザーとグループのディレクティブを変更します。
User apache Group apache
署名を無効にする
デフォルトの Off 設定では、フッター行が抑制されます。
On 設定では、サービスを提供する仮想ホストのサーバーのバージョン番号と ServerName を含む行を追加するだけです。
解決
実行している Apache のバージョンを明らかにしたくない場合があるため、Signature を無効にすることをお勧めします。
ServerSignature Off
バナーを無効にする
このディレクティブは、クライアントに送り返されるサーバー応答ヘッダー フィールドに、サーバーの一般的な OS タイプの説明とコンパイル済みモジュールに関する情報を含めるかどうかを制御します。
解決
ServerTokens Prod
特定のネットワークまたは IP へのアクセスを制限する
サイトを特定の IP アドレスまたはネットワークからのみ表示したい場合は、httpd.conf でサイト ディレクトリを変更できます。
解決
Allow ディレクティブでネットワーク アドレスを指定します。
<Directory /yourwebsite> Options None AllowOverride None Order deny,allow Deny from all Allow from 10.20.0.0/24 </Directory>
Allow ディレクティブで IP アドレスを指定します。
<Directory /yourwebsite> Options None AllowOverride None Order deny,allow Deny from all Allow from 10.20.1.56 </Directory>
TLS 1.2 のみを使用する
SSL 2.0、3.0、TLS 1、1.1 には、いくつかの暗号上の欠陥があると報告されています。
SSL の設定についてヘルプが必要ですか? このガイドを参照してください。
解決
SSLProtocol -ALL +TLSv1.2
ディレクトリ リストを無効にする
WebSite ディレクトリに index.html がない場合、クライアントはすべてのファイルとサブディレクトリをブラウザに表示します (ls –l 出力のように)。
解決
ディレクトリの参照を無効にするには、Option ディレクティブの値を「None」または「-Indexes」に設定します。
<Directory /> Options None Order allow,deny Allow from all </Directory>
また
<Directory /> Options -Indexes Order allow,deny Allow from all </Directory>
不要な DSO モジュールを削除する
構成を確認して、冗長 DSO モジュールを削除します。
インストール後にデフォルトでアクティブ化される多くのモジュールがあります。 不要なものは削除できます。
Null および弱い暗号を無効にする
強力な暗号のみを許可するため、下位の暗号スイートでハンドシェイクを試みるすべてのドアを閉じます。
解決
SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM
現状維持
Apache はアクティブなオープン ソースであるため、Apache Web サーバーのセキュリティを向上させる最も簡単な方法は、最新バージョンを維持することです。 リリースごとに新しい修正とセキュリティ パッチが追加されます。 常に最新の安定したバージョンの Apache にアップグレードしてください。
上記は重要な構成のほんの一部です。詳細を知りたい場合は、私のステップバイステップのセキュリティと強化ガイドを参照してください。
記事を読んでよかったですか? 世界と共有してみませんか?