Toggle navigation
Info Circus - knowledge
作成
作成
下書き一覧
ストック
一覧
複合検索
サインイン
更新履歴
incmplt - Info Circus
2024/07/22 7:14
現在との差分
過去のナレッジの内容
コンテンツ
Apache httpd で基本的なセキュリティ設定 (2022年10月 更新) ``` # サーバー情報の秘匿と TRACEメソッドの無効化 ServerTokens Prod ServerSignature Off TraceEnable Off # RequestReadTimeout header=10 body=30 SetEnv proxy-nokeepalive 1 FileETag None # 無駄な言語情報の秘匿 Header unset "X-Powered-By" # httpoxy 対策 RequestHeader unset Proxy # Drop the Range header when more than 5 ranges. # CVE-2011-3192 SetEnvIf Range (?:,.*?){5,5} bad-range=1 RequestHeader unset Range env=bad-range # We always drop Request-Range; as this is a legacy # dating back to MSIE3 and Netscape 2 and 3. # RequestHeader unset Request-Range # optional logging. CustomLog logs/range-CVE-2011-3192.log common env=bad-range # クリックジャッキング対策 Header append X-Frame-Options SAMEORIGIN # XSS対策 Header set X-XSS-Protection "1; mode=block" Header set X-Content-Type-Options nosniff # DoS 攻撃対策 LimitRequestBody 10485760 LimitRequestFields 20 # slowloris 対策 # RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500 ``` .htaccess で対策する場合には、以下のような設定を検討する。 ``` # .htaccessファイルへのアクセスを制限 <FilesMatch "^\.ht"> Require all denied </FilesMatch> # ディレクトリリストの無効化 Options -Indexes <IfModule mod_headers.c> # XSS攻撃の防止 Header set X-XSS-Protection "1; mode=block" Header set X-Content-Type-Options "nosniff" Header set Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self'" # 他サイトからの iframe の禁止 Header always append X-Frame-Options SAMEORIGIN </IfModule> # SQLインジェクション対策 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{QUERY_STRING} (\%27)|(\')|(\-\-)|(\%23)|(#) [NC] RewriteRule ^(.*)$ - [F,L] RewriteCond %{QUERY_STRING} (\%24)|($)|(\*.*)|(\+)|(\.)|(\[)|(\]) [NC] RewriteRule ^(.*)$ - [F,L] </IfModule> # HTTPメソッドの制限 <LimitExcept GET POST> Require all denied </LimitExcept> # 特定のIPアドレスのブロック #<RequireAll> # Require all granted # Require not ip 192.168.0.1 # Require not ip 203.0.113.0/24 #</RequireAll> # 無効なユーザーエージェントのブロック #<IfModule mod_rewrite.c> # RewriteEngine On # RewriteCond %{HTTP_USER_AGENT} ^BadBot [NC,OR] # RewriteCond %{HTTP_USER_AGENT} ^AnotherBadBot # RewriteRule ^.* - [F,L] #</IfModule> ```
現在のナレッジの内容
コンテンツ
Apache httpd で基本的なセキュリティ設定 (2022年10月 更新) ``` # サーバー情報の秘匿と TRACEメソッドの無効化 ServerTokens Prod ServerSignature Off TraceEnable Off # RequestReadTimeout header=10 body=30 SetEnv proxy-nokeepalive 1 FileETag None # 無駄な言語情報の秘匿 Header unset "X-Powered-By" # httpoxy 対策 RequestHeader unset Proxy # Drop the Range header when more than 5 ranges. # CVE-2011-3192 SetEnvIf Range (?:,.*?){5,5} bad-range=1 RequestHeader unset Range env=bad-range # We always drop Request-Range; as this is a legacy # dating back to MSIE3 and Netscape 2 and 3. # RequestHeader unset Request-Range # optional logging. CustomLog logs/range-CVE-2011-3192.log common env=bad-range # クリックジャッキング対策 Header append X-Frame-Options SAMEORIGIN # XSS対策 Header set X-XSS-Protection "1; mode=block" Header set X-Content-Type-Options nosniff # DoS 攻撃対策 LimitRequestBody 10485760 LimitRequestFields 20 # slowloris 対策 # RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500 ``` .htaccess で対策する場合には、以下のような設定を検討する。 ``` # .htaccessファイルへのアクセスを制限 <FilesMatch "^\.ht"> Require all denied </FilesMatch> # ディレクトリリストの無効化 Options -Indexes <IfModule mod_headers.c> # XSS攻撃の防止 Header set X-XSS-Protection "1; mode=block" Header set X-Content-Type-Options "nosniff" Header set Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self'" # 他サイトからの iframe の禁止 Header always append X-Frame-Options SAMEORIGIN </IfModule> # SQLインジェクション対策 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{QUERY_STRING} (\%27)|(\')|(\-\-)|(\%23)|(#) [NC] RewriteRule ^(.*)$ - [F,L] RewriteCond %{QUERY_STRING} (\%24)|($)|(\*.*)|(\+)|(\.)|(\[)|(\]) [NC] RewriteRule ^(.*)$ - [F,L] </IfModule> <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{QUERY_STRING} (;|%22|%3D|%27).*(select|insert|union|declare|drop|update) [NC] RewriteRule ^(.*)$ - [F,L] </IfModule> # HTTPメソッドの制限 <LimitExcept GET POST> Require all denied </LimitExcept> # 特定のIPアドレスのブロック #<RequireAll> # Require all granted # Require not ip 192.168.0.1 #</RequireAll> # 無効なユーザーエージェントのブロック #<IfModule mod_rewrite.c> # RewriteEngine On # RewriteCond %{HTTP_USER_AGENT} ^BadBot [NC,OR] # RewriteCond %{HTTP_USER_AGENT} ^AnotherBadBot # RewriteRule ^.* - [F,L] #</IfModule> ```
戻る