ラベル Apache の投稿を表示しています。 すべての投稿を表示
ラベル Apache の投稿を表示しています。 すべての投稿を表示

2012年6月17日日曜日

Apache セキュリティ対策

autoindex
Apacheモジュール、ディレクトリオプション デフォルト 有効
index.html などデフォルト読み込みファイルがない場合 自動的にディレクトリリストを作成
ディレクトリ構造が露出するのでやめましょう
OFFの場合 FORBIDDEN表示

Apache セキュリティ対策

Location 定義
主に Autoindexと組み合わせて使用される
Autoindex時のファイルアイコンとして使用

念のためOFFにしましょう

Apache の internal dummy connection

Apache 2.2 から internal dummy connection というログが頻出するようになった
MPMで稼動する場合、子プロセスの再起動が必要なるが これらが自発的にSHUTDOWNできないため
親から internal dummy connection を発行して SHUTDOWNを促している模様

消せる方法は今のところないそうです・・・

Apache で 複数ポートの Listen

Apacheで複数ポート待機を行うときは以下のようにする

Listen 80
Listen 8080

待機ポート数だけ 縦に
Listen <ポート番号>

apache1.3

8/26ごろ Apacheの Rangeヘッダーを悪用したDOS攻撃のツールが公開されました。

http://www.apache.jp/news/Apache-HTTPD-1.3-2.x-Range-header-DoS

■ 何が起こるの?
外部から攻撃を受けたサーバがCPU・メモリを消費し続け、最終的にサービス(サーバー)停止に至る可能性があります

■ 影響範囲は?
Apache全バージョン

■ 対処方法は?
httpd.conf に以下の設定を入れてください。

Apache1.3
■ mod_rewrite版
  RewriteEngine on
  RewriteCond %{HTTP:range} !(bytes=[^,]+(,[^,]+){0,4}$|^$)
  RewriteRule .* - [F]

Apache2.0
■ mod_rewrite版
  RewriteEngine on
  RewriteCond %{HTTP:range} !(bytes=[^,]+(,[^,]+){0,4}$|^$)[OR]
  RewriteCond %{HTTP:request-range} !(bytes=[^,]+(,[^,]+){0,4}$|^$)
  RewriteRule .* - [F]

■ mod_rewrite & mod_headers版
  RewriteEngine on
  RewriteCond %{HTTP:range} !(bytes=[^,]+(,[^,]+){0,4}$|^$)
  RewriteRule .* - [F]
  RequestHeader unset Request-Range

Apache2.2
■ mod_setenvif & mod_headers版
  SetEnvIf Range (?:,.*?){5,5} bad-range=1
  RequestHeader unset Range env=bad-range
  RequestHeader unset Request-Range

現象についてはイロイロ書かれている方がいるので割愛いたします
ひとつでも多くのサーバーダウンが防ぐため少しでも多くの人に知ってもらえればと思い記事を残します。