12月 18th, 2008

Apacheの基本セキュリティ設定

Posted in Apache by admin

 Webサービスでのセキュリティを強化したい場合、やはりクロスサイト・スクリプティング、SQLインジェクション、バッファ・オーバーフロー? に対し、サービスの末端であるアプリケーション側で対策することが第? だと思います。では、そのアプリケーションの? るApache側で設定しておぜ べきセキュリティ対策はないでしょうか?最作 限ぜ Apacheセキュリティ設定を挙げてみます。

1.アップデートする
脆弱性に対応したアップデートを常に? 施すること。
・脆弱性情報のキャッチ(http://jvn.jp/など特? のサイトを決めてアンテナを建てておく)
・アップデート運用の手順化(バージョンアップ影響を検証できる環? の机 備、アップデート&差し戻しの容易な環? 構成の朧 築)

2. HTTPメソッドの制限
基本的ぜ Webサービスを朏 供する場合、使用するHTTPメソッドぜ GET/POSTだけで十分。HEADは? 索エンジンクローラや負荷分散? 置? のヘルスチェックで使用されるかもしれないので許可しておぜ 。

TraceEnable off
<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{REQUEST_METHOD} !GET
  RewriteCond %{REQUEST_METHOD} !POST
  RewriteCond %{REQUEST_METHOD} !HEAD
  RewriteRule .* - [F]
</IfModule>

3< 最作 限ぜ LoadModule
Apacheにデフォルトで? 属するhttpd.confでは、標準モジュール全てをロードするように? 述しています。不要なものぜ LoadModuleしないようにします。

4. 最作 限のサーバ情?
サーバに関する余計な情報をクライアント側に? えないようにする
ServerSignature Off ・・・サーバ生成のエラードキュメントのフッターに表示される情報を抑制する
ServerTokens Prod ・・ボ HTTPレスポンスに蜿 すServer情報を最作 限にする

5. リクエスト拡張子の制限
アクセスを許可する拡張子を制限する。
以? のように設定すれば「extensin.lst」で許可拡張子を外部ファイル管理できるようになります。

RewriteMap exp txt:conf/extension.lst
RewriteMap lowercase int:tolower
RewriteCond %{REQUEST_FILENAME} !/$
RewriteCond %{REQUEST_FILENAME} \.([^\.]+)$
RewriteCond %1 ^([^#/%]+)
RewriteCond ${lowercase:%1} (.*)
RewriteCond ${exp:%1|NOT-FOUND} =NOT-FOUND [NC]
RewriteRule ^/.* - [F]

6. CGI実行条件の制限
CGI実行可能なディレクトリを制限する

AddHandler  cgi-script .cgi
ScriptAlias /cgi-bin /var/www/htdocs/cgi-bin

7. .htaccessを許可しない

<Directory />
    AllowOverride None
</Directory>

8. 「.htaccess」「.htpasswd」閲覧拒?

<FilesMatch "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>

疲れました。
他に? かあるでしょうか・・ボ

You can leave a comment, or trackback from your own site. RSS 2.0

Leave a comment