数日前からハッキング攻撃の試みがいくつかありましたが、実際のところすべて問題ないようです。
しかし、説明できないログをいくつか見ました:
127.0.0.1:443 216.218.206.66 - - [09/Oct/2015:04:49:29 +0200] "GET / HTTP/1.1" 404 4857 "-" "-"
127.0.0.1:80 220.181.108.177 - - [09/Oct/2015:07:56:11 +0200] "-" 408 0 "-" "-"
127.0.0.1:443 199.115.117.88 - - [09/Oct/2015:10:35:04 +0200] "GET /admin/i18n/readme.txt HTTP/1.1" 404 5081 "-" "python-requests/2.8.0"
私のログ設定は次のとおりです:
# - Exeption
SetEnvIf Request_URI "\.jpg$|\.jpeg$|\.gif$|\.png$|\.ico|\.icon|\.css$|\.js$|piwik\.php$|frogglogin\.php" dontlog
SetEnvIf User-agent "(bot|baidu)" dontlog
CustomLog ${APACHE_LOG_DIR}/access.log vhost_combined env=!dontlog
- これらのリクエストが 127.0.0.1 に到達することはどのように可能でしょうか?
- 408 エラーを防ぐにはどうすればよいですか?
- そういった攻撃が迫っているのを見たらパニックになるべきでしょうか?
ありがとう
追伸:
これは良い考えでしょうか?
<VirtualHost 127.0.0.1>
# [ Default restriction ]
<Directory />
Order deny,allow
Deny from all
allow from 127.0.0.1
</Directory>
</VirtualHost>
答え1
パブリック IP アドレスがループバック アドレスに直接到達する方法はありません。これは NAT の問題であり、Apache にそのように指示したか、何らかの設定ミスにより、Apache がそれらの IP アドレスをループバックに変換する可能性があります。
このようなことがあっても慌てる必要はありません。ボットネットや、ログインページなどを試行するように設計された自動アプリによって攻撃されるのは普通のことです。
この試みが進行中の場合、次の点を確認したいと思います。
netstat -an (or adding additional parameters)
接続を確認します。
答え2
これが私がこれを乗り越える方法です:
この設定は、すべての定義済み仮想ホストの後に、「else」リクエスト(他の仮想ホストに一致しないリクエスト)をキャッチするために追加しました。最も重要なのは、仮想位置(最後)とコマンドです。ServerAlias *
#---------------#
# [ LOCALHOST ] #
#---------------#
# Local host for other:
# ServerName localhost
# ServerName 88.xxx.xxx.xxx
# ServerName xxxxxxxx.net
# and more ...
# need to be at the last position
<VirtualHost *:80 *:443>
# [ Server Domain ]
ServerName localhost
ServerAlias *
# [ Server Root ]
DocumentRoot /var/www/home/
# [ Cancel trafic ]
RewriteCond %{REQUEST_URI} !errors\/hack\.htm
RewriteRule .*? - [END,R=406]
# [ Custom Log ]
CustomLog ${APACHE_LOG_DIR}/hack.log combined
</VirtualHost>