特定のUSER_AGENTを拒否
の編集
https://yassu.jp/pukiwiki/?%C6%C3%C4%EA%A4%CEUSER_AGENT%A4%F2%B5%F1%C8%DD
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
[[Linuxめも]] 通常のHTTPアクセスとは思えない悪意のあるものは拒否しましょう。~ 接続元がイケてない場合はわかりやすいUSER_AGENTである場合があります。 .htaccess ファイルに以下のように記述することで実現することができます。 USER_AGENT が Wget ではじまるものを拒否する場合。 SetEnvIf User-Agent "^Wget" DENY_AGENT order allow,deny allow from all deny from env=DENY_AGENT *VirtualHostで共通の設定を使用したい場合 [#n12db2ff] deny-list.conf ファイルを作成する -User-Agentに特定の文字列を含む場合拒否 -特定のIPアドレス 192.168.0.1 を拒否 -特定のIPアドレス 192.168.1.0 から 192.168.1.255 を拒否 SetEnvIf User-Agent "SemrushBot" deny_bot SetEnvIf User-Agent "BLEXBot" deny_bot SetEnvIf User-Agent "DomainCrawler" deny_bot SetEnvIf User-Agent "Bytespider" deny_bot SetEnvIf User-Agent "ClaudeBot" deny_bot SetEnvIf User-Agent "ImagesiftBot" deny_bot SetEnvIf User-Agent "DataForSeoBot" deny_bot <RequireAll> Require all granted Require not env deny_bot Require not ip 192.168.0.1 Require not ip 192.168.1.0/24 </RequireAll> VirtualHostの設定から deny-list.conf を Include する <VirtualHost *:443> ServerName sv1.example.com:443 DocumentRoot "/home/sv1/public_html" SSLEngine on SSLHonorCipherOrder on Header set Strict-Transport-Security "max-age=31536000; includeSubDomains" SSLProtocol -All +TLSv1 +TLSv1.1 +TLSv1.2 SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5 SSLCertificateFile /etc/letsencrypt/live/sv1.example.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/sv1.example.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/sv1.example.com/chain.pem <Directory "/home/sv1/public_html"> Options FollowSymLinks AllowOverride ALL # Require all granted Include /usr/local/apache2/conf/extra/deny-list.conf </Directory> ErrorLog "logs/sv1_error_log" CustomLog "logs/sv1_access_log" combined </VirtualHost> 設定が有効になっているか確認 curl -A "test" -I https://sv1.example.com/ HTTP/1.1 200 OK curl -A "SemrushBot" -I https://sv1.example.com/ HTTP/1.1 403 Forbidden *robots.txtで制御する [#z4355d79] 受け入れるボットはrobots.txtで頻度を指示 User-agent: bingbot Crawl-delay: 10 User-agent: * Crawl-delay: 5 VirtualHostの設定で一つのファイルを使いまわしたい場合はAliasを使う robots.txt は /home/common/public_html/robots.txt に設置した場合 <VirtualHost *:443> ServerName example.com:443 DocumentRoot "/home/example/public_html" Alias /robots.txt /home/common/public_html/robots.txt </VirtualHost>
タイムスタンプを変更しない
[[Linuxめも]] 通常のHTTPアクセスとは思えない悪意のあるものは拒否しましょう。~ 接続元がイケてない場合はわかりやすいUSER_AGENTである場合があります。 .htaccess ファイルに以下のように記述することで実現することができます。 USER_AGENT が Wget ではじまるものを拒否する場合。 SetEnvIf User-Agent "^Wget" DENY_AGENT order allow,deny allow from all deny from env=DENY_AGENT *VirtualHostで共通の設定を使用したい場合 [#n12db2ff] deny-list.conf ファイルを作成する -User-Agentに特定の文字列を含む場合拒否 -特定のIPアドレス 192.168.0.1 を拒否 -特定のIPアドレス 192.168.1.0 から 192.168.1.255 を拒否 SetEnvIf User-Agent "SemrushBot" deny_bot SetEnvIf User-Agent "BLEXBot" deny_bot SetEnvIf User-Agent "DomainCrawler" deny_bot SetEnvIf User-Agent "Bytespider" deny_bot SetEnvIf User-Agent "ClaudeBot" deny_bot SetEnvIf User-Agent "ImagesiftBot" deny_bot SetEnvIf User-Agent "DataForSeoBot" deny_bot <RequireAll> Require all granted Require not env deny_bot Require not ip 192.168.0.1 Require not ip 192.168.1.0/24 </RequireAll> VirtualHostの設定から deny-list.conf を Include する <VirtualHost *:443> ServerName sv1.example.com:443 DocumentRoot "/home/sv1/public_html" SSLEngine on SSLHonorCipherOrder on Header set Strict-Transport-Security "max-age=31536000; includeSubDomains" SSLProtocol -All +TLSv1 +TLSv1.1 +TLSv1.2 SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5 SSLCertificateFile /etc/letsencrypt/live/sv1.example.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/sv1.example.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/sv1.example.com/chain.pem <Directory "/home/sv1/public_html"> Options FollowSymLinks AllowOverride ALL # Require all granted Include /usr/local/apache2/conf/extra/deny-list.conf </Directory> ErrorLog "logs/sv1_error_log" CustomLog "logs/sv1_access_log" combined </VirtualHost> 設定が有効になっているか確認 curl -A "test" -I https://sv1.example.com/ HTTP/1.1 200 OK curl -A "SemrushBot" -I https://sv1.example.com/ HTTP/1.1 403 Forbidden *robots.txtで制御する [#z4355d79] 受け入れるボットはrobots.txtで頻度を指示 User-agent: bingbot Crawl-delay: 10 User-agent: * Crawl-delay: 5 VirtualHostの設定で一つのファイルを使いまわしたい場合はAliasを使う robots.txt は /home/common/public_html/robots.txt に設置した場合 <VirtualHost *:443> ServerName example.com:443 DocumentRoot "/home/example/public_html" Alias /robots.txt /home/common/public_html/robots.txt </VirtualHost>
テキスト整形のルールを表示する