今回は、apacheのアクセス規制です。
ここでの話は、FreeBSDもCentOSも関係なく、apacheの設定です。
一般的に、リダイレクトやアクセス規制(制限や拒否など)を行うときに、.htaccessを使います。
その中でも、今回は、アクセス規制、それもスパムや負荷の高いクローラー(検索ロボット)などのアクセス拒否を行うための設定を紹介します。
- 目次
- 履歴
2010年11月21日 初版
| レンタルサーバー・自宅サーバー設定・構築のヒント |
今回は、apacheのアクセス規制です。
ここでの話は、FreeBSDもCentOSも関係なく、apacheの設定です。
一般的に、リダイレクトやアクセス規制(制限や拒否など)を行うときに、.htaccessを使います。
その中でも、今回は、アクセス規制、それもスパムや負荷の高いクローラー(検索ロボット)などのアクセス拒否を行うための設定を紹介します。
2010年11月21日 初版
ほとんどの場合、apacheで.htaccessが使えるようになっていると思いますが、
まずは、何事も確認から始めましょう。
以降は、apacheで.htaccessを使えるようにするための手順です。
ここに記述されている事項が既に反映されているなら、既に使える状態です。
まず、
CentOSでは、/etc/httpd/conf/httpd.conf
FreeBSDでは、/usr/local/etc/apache22/httpd.conf
のファイルを編集します。
|
AccessFileNameには、アクセス制御ファイル名を指定します。
ここでは、 .htaccessを指定しています。
<Files ~ “^\.ht”>は、.htaccessをウェブ上に公開しないための設定を行います。
ここでは、 Deny from allを指定して、すべてのアクセスを拒否しています。
|
ここでは、/var/www/htmlの公開ディレクトリの設定を行っています。
AllowOverrideには、.htaccessに設定できる規制の範囲を指定します。
ここでは、全ての規制を有効にするためにAllを設定しています。
All
全ての規制を設定できる。
AuthConfig
認証に関するディレクティブの使用を許可する (AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require など)。
FileInfo
ドキュメントタイプを制御するディレクティブ (DefaultType, ErrorDocument, ForceType, LanguagePriority, SetHandler, SetInputFilter, SetOutputFilter, mod_mime の Add* と Remove* ディレクティブなど)、 ドキュメントのメタデータを制御するディレクティブ (Header, RequestHeader, SetEnvIf, SetEnvIfNoCase, BrowserMatch, CookieExpires, CookieDomain, CookieStyle, CookieTracking, CookieName), mod_rewrite のディレクティブ RewriteEngine, RewriteOptions, RewriteBase, RewriteCond, RewriteRule) と mod_actions の Action ディレクティブの使用を許可する。
Indexes
ディレクトリインデックスを制御するためのディレクティブの使用を許可する (AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName など)。
Limit
ホストへのアクセス制御を行うためのディレクティブの使用を許可する (Allow, Deny, Order).
None
全ての規制を無視する。
ここまで設定できたら、apacheの再起動で、有効になります。
CentOSなら、
|
FreeBSDなら、
|
で有効になります。
.htaccessが有効になったら、アクセス規制の設定を行ってみましょう。
まずは、特定のホストからのアクセスを拒否する設定をしてみます。
ここでは、/var/www/html/.htaccessを編集してみます。
|
例えば、上記のように設定すれば、IPアドレス111.111.111.111からのアクセスをすべて拒否します。
実際には、HTTPステータスコード 403 が返ります。
All
全てのホストからアクセスを許可・拒否します。
IPアドレス
指定されたIPアドレスのホストからアクセスを許可・拒否します。
ホスト名
指定されたホスト名のホストからアクセスを許可・拒否します。
env=xxx
指定された変数xxxが設定されていたら、アクセスを許可・拒否します。
env=!xxx
指定された変数xxxが設定されていなかったら、アクセスを許可・拒否します。
(amazon ) |
インフラエンジニア教本2――システム管理・構築技術解説 (SoftwareDesign別冊)に寄稿しました。
「ログを読む技術」の再掲載になります。
8月号を見逃された方は、是非、ご一読くださいませ。 |
(amazon ) |
Software Design 8月号に寄稿しました。
「ログを読む技術」について寄稿しました。
興味のある方は、是非、ご一読くださいませ。 |
また、執筆 や 当サイトにおける広告 のご依頼などございましたら、お問い合わせページより ご一報ください。 |
Copyright © 2009 - 2024 レンタルサーバー・自宅サーバー設定・構築のヒント
コメントを投稿 :