VPSサーバーでWebサイト公開 備忘録 ~Linux、MySQLからAJAXまで

Apacheで使用できるHTTPメソッドを制限する

GET、POSTなど一般的に使用されるもの以外にもHTTPメソッドがありますが、その使用を制限する方法についてです。
 
下記資料を参考にしました。
NSA(National Security Agency)の『Guide to the Secure Configuration of Red Hat Enterprise Linux 5』

一般的なWebサーバーで使用されるHTTPメソッドはGETとPOSTのみで、その他のHTTPメソッドはWebDAVなどで使用されるぐらいです。
 

LimitExceptディレクティブ


 
LimitExceptディレクティブで指定されたもの以外のHTTPメソッドにアクセス制御を設定する事が出来ます。
 
指定した以外の不特定のメソッドに対して制限する事が出来ます。
 

Limitディレクティブ


 
一方、Limitディレクティブは、指定したHTTPメソッドに対してアクセス制限を設定できます。指定出来るHTTPメソッドは、以下になります。
 
GET, POST, PUT, DELETE, CONNECT, OPTIONS, PATCH, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK(GETメソッドに対する制限は、HEADメソッドにも制限されます。)
TRACEメソッドに対しては制限をかける事が出来ません。
 
●設定例
 
GET POST OPTIONSメソッド以外の使用を制限する場合
<Directory /home/*/public_html>
   :
    <LimitExcept GET POST OPTIONS>
        Order deny,allow
        Deny from all
    </LimitExcept>
   :
</Directory>
モバイルバージョンを終了