その他/Apacheセキュリティ設定 の変更点

Top > その他 > Apacheセキュリティ設定


[[Apacheセキュリティ設定]]

**Apacheセキュリティ設定方法
サービス前のセキュリティ検査をクリアするための、セキュリティ設定を考えてみました。


*ディレクトリを一覧表示させないようにする方法
ディレクトリの中が丸見えになってしまうのを防ぎましょう。
設定は、httpd.confを編集、 -Indexesを設定します。
**httpd.conf
	<Directory /hoge>
	    Options -Indexes
	    AllowOverride None
	</Directory>



*cgi-binの無効化する方法
CGI を使ってない場合は、/cgi-bin/のエイリアス設定を無効にすることしたほうがいいでしょう。
設定は、httpd.confを編集、ScriptAliasをコメント化しましょう。

**httpd.conf
	#ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
	
	#<Directory "/var/www/cgi-bin">
	#    AllowOverride None
	#    Options None
	#    Order allow,deny
	#    Allow from all
	#</Directory>


*使ってないAlias設定を無効化
デフォルトで設定されているAlias設定  icons、errorは、Apacheの情報とかもでてしまうので無効かしておきましょう。
**httpd.conf
	#Alias /icons/ "/var/www/icons/"
	#Alias /error/ "/var/www/error/"

*エラードキュメントの設定
プログラム処理エラーの内容をそのまま出力してしまうと、そこから攻撃の手がかりとなってしまう可能性もあります。
エラーページは、準備するようにしましょう。
以下の設定を行う前に、事前にerror.htmlを準備してください。

**httpd.conf
	ErrorDocument 500 /error.html
	ErrorDocument 404 /error.html
	ErrorDocument 403 /error.html
	ErrorDocument 402 /error.html


*HTTP ヘッダーからApacheとOSのバージョン情報を消す
デフォルトのapacheの設定では、HTTPヘッダーにApacheのバージョン情報、OSのバージョン情報が表示されてしまいます。
以下のような感じ
**HTTPレスポンスヘッダー
	HTTP/1.1 200 OK
	Date: Sun, 16 May 2010 xx:xx:xx GMT
	Server: Apache/2.2.3 (CentOS)
	X-Powered-By: PHP/5.1.6
	Cache-Control: no-cache, must-revalidate
	Last-Modified: Sun, 16 May 2010 xx:xx:xx GMT
	Expires: Thu, 01 Dec 1994 xx:xx:xx GMT
	Cache-Control: post-check=0, pre-check=0
	Pragma: no-cache
	Content-Length: 44
	Proxy-Connection: close
	Connection: close
	Content-Type: application/x-javascript; charset=UTF-8


上を見てもらえればわかるとおり、「Server: Apache/2.2.3 (CentOS)」とでてしまいますね。
これを表示しないように設定します。

**httpd.conf
	ServerSignature Off
	ServerTokens ProductOnly



*HTTP ヘッダーからphpバージョンを消す
先ほどのヘッダー情報からもわかりますが、「X-Powered-By: PHP/5.1.6」の情報がでてしまいます。
これも消しておきましょう。phpのバグをついた攻撃も想定されます。消しておいたほうがいいでしょう。


mod_headers.soを有効にします。
**httpd.conf
	LoadModule headers_module modules/mod_headers.so


X-Powered-Byをセットしないように定義します。
**httpd.conf
	Header unset X-Powered-By

TOP