Apache2.4での.htaccessによるアクセス制御
投稿日:2016年01月12日
最終更新日:
もくじ
- 書き方の基本
- 自分のIPやHostだけアクセスを許可する
- ちょっとだけ応用編
書き方の基本
まずは全てのアクセスを許可/拒否するときの書き方から入ります。以前(Apache2.2)ではそれぞれこのように書きました。 [VIM] #全て許可 Order allow,deny Allow from all #全て拒否 Order deny,allow Deny from all [/VIM] Apache2.4ではこのように書きます。 [VIM] #全て許可 Require all granted #全て拒否 Require all denied [/VIM] これだけならだいぶシンプルです。次は色々と条件を設定してみます。まずはリクエストメソッドの限定(GET,POST,HEADだけ受け付けるようにする)です。Apache2.4ではこのように書きます。 [VIM] Require method GET POST HEAD [/VIM] リクエストメソッドの限定は、セキュリティの向上に役立つかもしれません。
自分のIPやHostだけアクセスを許可する
セキュリティの都合上、自分以外の他人にアクセスされると都合が悪いディレクトリというものはよく出てきます(例えばphpMyAdminが置いてあるディレクトリとか)。そのようなディレクトリにはアクセス制限をかけておきたいところです。IPやHostでアクセス制限をかけてみましょう(ホワイトリスト方式・IPは192.168.1.2のみ許可・Hostはhogehoge.comのみ許可)。Apache2.2ではこのように書きます。 [VIM] Order Deny,Allow Deny from all Allow from 192.168.1.2 Allow from hogehoge.com [/VIM] これがApache2.4だとこうなります。 [VIM] Require ip 192.168.1.2 Require host hogehoge.com #ローカル(127.0.0.1など)からのアクセスを許可する Require local [/VIM] ルールの記述が用意になったので、頑張って.htaccessでアクセス制限をかけてセキュリティを確保しましょう。
ちょっとだけ応用編
この辺で色々とやってみましょう。ブラックリスト方式(いったん全部許可して特定のIPやHostだけ遮断する)のアクセス制御はこうやります(遮断するIPは192.168.1.3・Hostはfugafuga.com)。
[VIM]
最後にHTTP/1.0でアクセスしてくるユーザーを遮断します。最近のブラウザはHTTP/1.1が使えるので、一般ユーザーがこれでアクセスを遮断されることはまずありません。もっぱらBotをアクセスさせないための設定です。
[VIM]
SetEnvIfNoCase Request_Protocol “HTTP/1.0” http10
この記事のトラックバック用URL
コメント