DoS攻撃を防げ!今からでもできる、Apacheのセキュリティ対策

Apacheといえば世界で最もシェアの高いWEBサーバーのミドルウェアです。最近ではnginxやh2oなどの他のWEBサーバーも台頭してきましたが、まだまだApacheが使われてることが多い現状です。最近では、WEBサーバーを狙ったDDoS攻撃などが深刻化してきており、その対応に追われているサーバー担当者も少なくないのではないでしょうか。

そこで、本記事ではApacheでできるセキュリティ対策をまとめて、サーバーのセキュリティ向上に役立てるTipsを紹介します。

バージョン情報の隠匿

一番最初に行うべき設定といえばApacheのバージョン情報の隠匿です。デフォルトの設定ではApacheのバージョンを特定され、脆弱性が見つかった場合に標的となる恐れがあります。どのようなバージョン情報が使われているのかを相手に知られないために、このバージョン情報を表示しないように設定を入れましょう。

httpd.confに以下を記述します。(デフォルトではFullとなっています)

また、NotFoundページのフッターにも情報が表示されますので、こちらも非表示にしておきましょう。

20160720044957

httpd.confに以下を記述します。

これでひとまずは完了です!

ドキュメントルートの変更

Apacheをインストールしたデフォルトの状態ですと、ドキュメントルートの配置などが相手に知られてしまいます。そこで、デフォルト以外の場所へと変更するようにしましょう。

やり方はとても簡単です。新たなディレクトリを作って、そこにドキュメントルートの元のファイルなどをコピーして、confファイルを書き換えればよいだけです。

それでは実際に見てみましょう。

このように書き換えます。

 

TCPタイムアウトの時間を短くする

これまでは、侵入者へ情報を極力知られないための防御法でしたが、ここからは実際に攻撃を受けた時のための予防策を伝授しましょう。
TCPコネクションは設定されたタイムアウト時間まで維持されます。つまり、DoS攻撃のような大量リクエストが送られてきた場合には、それらすべてのコネクションを限界まで維持してしまう恐れがあります。そこで、このTCPコネクションのタイムアウト時間を短くします。

httpd.confに以下を記述します。(デフォルトでは300となっています)

 

mod_evasiveを導入する

DoS攻撃、DDoS攻撃、BruteForce攻撃に有効なモジュールであるmod_evasideを導入してアクセス拒否を自動的に設定する機能を拡張しましょう。

インストール方法はソースからインストールする方法もありますが、簡単にyumで入れてしまうこともできます。
ソースでインストールする場合は以下からダウンロードすることができます。

yumでインストールする場合は下記のコマンドを実行します。

インストールが完了したら、Apacheを再起動しましょう。

これで最低限の機能が設定されました。

yum でインストールした場合、テスト用スクリプトも同時にインストールされるので確認してみましょう。

途中から、403 Forbiddenとなったということは、そこからアクセスが拒否されたということですね。

デフォルトでは下記のようなルールになっています。

  • 1秒間に同一ページに2回のアクセスを不正アクセスリストに追加する
  • 1秒間に同一サイトに50回以上のアクセスを不正アクセスリストに追加する
  •  最後のアクセスから10秒後に不正アクセス対象から除外する

 

 

これらの設定を変更したい場合はhttpd.confを変更して、apaxheを再起動しましょう。

 

同一ページに対して、「DOSPageInterval」で設定した時間内に「DOSPageCount」以上のアクセスがあった場合に不正アクセスリストに追加します。

また、同一サイトに対して「DOSSiteInterval」で設定した時間内に「DOSSiteCount」以上のアクセスがあった場合に不正アクセスリストに追加します。

最後のアクセスから「 DOSBlockingPeriod 」後に不正アクセスリストから除外します。

というように設定をカスタマイズすることができます。

 

DDoS攻撃は防ぐことは難しい、が。

ここまで、やってもDDoS攻撃を防ぐことは難しいとさえ言われています。これでもまだまだ”最低限の”防御ということです。もちろん、これだけでも十分に効果がありますが、それでも破られてしまうことを覚悟しておかなければなりません。

どれだ対策を施しても、対策が尽きることはありません。常に情報を収集し、対策を怠らないよう心がけましょう!!

  • このエントリーをはてなブックマークに追加
  • Pocket