Web サーバーを運用していて、異常なアクセスがあったときの対処方法についてまとめておきます。
具体的には .htaccess ファイルで、異常なアクセスをしてくる IP アドレスを指定して排除する手順についてまとめておきます。
環境: サーバ(ConoHa VPS)、CentOS、Apache、WordPress
背景
先日、サーバーをレンタルして Web サイトを稼働させました。
たまたま、Web サーバー(Linux、Apache)のアクセスログを見たところ、海外から、継続的に異常に多いアクセスがあります。
どうも、PHP や WordPress の脆弱性を狙ったものと思われます。
放置しておくのも気持ちが悪いですし、怪しいものは IP アドレスごと排除してしまったほうが安心です。
サーバー内の .htaccess ファイルで IP アドレスを設定してみたところ、正常に排除できるようになりました。
そこで、手順をまとめておくことにします。(IP アドレスを変えられると、イタチごっこになりますけれども。。)
設定手順
① Web サーバーのコンソールを起動し、ドキュメントルートに移動します。
# cd /var/www/html/ (例)
# ls -al
② .htaccess を編集し、排除したい IP アドレスを追記します。
# vi .htaccess
★ このページ末尾の設定例を参考に、排除したい IP アドレスを記載してください。
③ 編集したファイルを保存します。
★ vi エディタを使っている場合、”[esc] + “:” + “wq” + [enter] として保存できます。
④ 念のため、Web サーバを再起動しておきます。
# systemctl restart httpd
⑤ ウェブサイトにアクセスし、サイトが正常に動作していることを確認します。
→ これで完了です。
サーバーのアクセスログを確認することで、アクセスできなくなっていることを確認できると思います。
まとめ
サイトに異常なアクセスがあったときの対応手順をまとめました。
WordPress や PHP の脆弱性対応のためのツール類を入れたとしても、アクセスログを確認してみると、脆弱性を狙ったアクセスは、現にずっと来ていることがわかります。
そうであれば、IP アドレスごと、国ごとバッサリと切ってしまったほうがよい、というのが結論です。
脆弱性が発覚すると、多くは下記の海外の国々でまず被害が広がります。こうした国々からのアクセスを断絶しておけば、日本で被害が広がるまでにいくらかの時間差ができますので、対応する時間もできそうです。
関連リンクにアクセスログの確認方法をまとめておきました。皆様もアクセスログを確認してみてください。危険さがおわかりかと。
関連リンク
・ Web サーバーのアクセスログの確認方法 【Linux】
・ 【WordPress】 ログイン画面へのアクセスを IP アドレスで制限する方法
・ URL、IP アドレスの危険性判定サービスのまとめ
設定例: .htaccess の記載
Order allow,deny
allow from all
deny from .ru
deny from .cn
deny from .kr
deny from .ro
deny from .hr
deny from .il
deny from 2.57.122.
deny from 23.90.145.
deny from 27.115.124.
deny from 34.76.47.
deny from 35.205.219.
deny from 36.250.68.
deny from 37.233.77.
deny from 39.
deny from 40.74.124.
deny from 45.148.121.
deny from 46.229.168.
deny from 51.254.59.
deny from 52.255.203.
deny from 54.38.81.
deny from 60.191.20.
deny from 62.210.6.
deny from 64.227.38.
deny from 65.155.30.
deny from 66.249.68.
deny from 71.6.
deny from 74.82.
deny from 74.120.
deny from 80.82.
deny from 82.221.105.
deny from 83.97.
deny from 83.244.
deny from 92.118.160.
deny from 93.174.95.
deny from 94.23.
deny from 94.102.
deny from 95.142.
deny from 95.127.158.
deny from 101.32.
deny from 102.165.30.
deny from 104.199.36.
deny from 104.237.233.
deny from 106.52.81.
deny from 106.75.32.
deny from 107.6.171.
deny from 111.231.215.
deny from 116.193.153.
deny from 122.
deny from 128.14.
deny from 128.199.
deny from 129.144.
deny from 129.152.
deny from 132.145.
deny from 137.116.
deny from 138.68.249.
deny from 139.162.
deny from 140.86.
deny from 142.4.213.
deny from 157.245.
deny from 160.34.
deny from 162.142.125.
deny from 164.52.24.
deny from 167.99.108.
deny from 167.114.229.
deny from 167.248.133.
deny from 170.106.36.
deny from 172.104.108.
deny from 172.105.89.
deny from 173.212.225.
deny from 176.10.99.
deny from 176.58.121.
deny from 178.
deny from 179.43.169.
deny from 180.149.125.
deny from 182.18.165.
deny from 183.
deny from 184.105.
deny from 185.
deny from 190.
deny from 192.35.
deny from 192.241.
deny from 193.
deny from 195.
deny from 196.52.43.
deny from 197.242.184.
deny from 202.
deny from 208.
deny from 209.
deny from 212.83.128.
deny from 213.
deny from 216.218.206.
deny from *.googleusercontent.com