htaccessファイルで海外からのアクセスをIP制限する方法
2024/04/16
「サーバー立てたらすぐ攻撃が来る」と聞いたのでアクセスログを確認したところ、海外と思われるアクセスIPで変なログが残っていた。そのままにしておくのも怖いので海外からのアクセスを制限したい。以下にhtaccessファイルで海外からのアクセスをIP制限する方法をメモ。
目次
アクセスログの確認
確認方法
サーバにSSH接続し以下でアクセスログを確認できる。
cat /var/log/httpd/access_log
変なログあり
海外と思われるIPから以下のようなログがあった。
?%2D%64+%61%6C%6C%6F%77%5F%75%72%6C%5F%69%6E%63%6C%75%64%65%3D%6F%6E+%2D%64+%73%61%66%65%5F%6D%6F%64%65%3D%6F%66%66+%2D%64+%73%75%68%6F%73%69%6E%2E%73%69%6D%75%6C%61%74%69%6F%6E%3D%6F%6E+%2D%64+%64%69%73%61%62%6C%65%5F%66%75%6E%63%74%69%6F%6E%73%3D%22%22+%2D%64+%6F%70%65%6E%5F%62%61%73%65%64%69%72%3D%6E%6F%6E%65+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%69%6E%70%75%74+%2D%64+%63%67%69%2E%66%6F%72%63%65%5F%72%65%64%69%72%65%63%74%3D%30+%2D%64+%63%67%69%2E%72%65%64%69%72%65%63%74%5F%73%74%61%74%75%73%5F%65%6E%76%3D%30+%2D%6E
ちなみにデコードすると以下になる。
?-d allow_url_include=on -d safe_mode=off -d suhosin.simulation=on -d disable_functions="" -d open_basedir=none -d auto_prepend_file=php://input -d cgi.force_redirect=0 -d cgi.redirect_status_env=0 -n
これは何のログなのかと調べてみるとアパッチマギカ攻撃というものらしい。
海外からのアクセスIP制限
htaccessファイルの用意
こちらのサイトからhtaccessファイルをダウンロードし適当なディレクトリにアップロードする。
尚、全拒否→日本のIPを許可という形で書かれているので必要に応じて書き足していけばよさそう。
Apacheのテストページが表示される場合の対応方法
テストで自宅のIPを制限してページを確認したところApacheのテストページが表示された。こちらの対応方法としてはサーバにSSH接続し以下の通り対応する。
#設定ファイルを開く vi /etc/httpd/conf.d/welcome.conf #以下をコメントアウトする <LocationMatch "^/+$"> Options -Indexes ErrorDocument 403 /error/noindex.html </LocationMatch> #再起動 /etc/init.d/httpd restart
参考サイト
https://mizukama.sakura.ne.jp/blog/archives/4062
関連記事
-
.htaccessでURLの末尾のphpという拡張子が無い場合でもページを表示させる方法
「/hoge/test.php」のようなディレクトリ・ファイル名の場合は「htt ...
-
htaccessでスマホ判別とCookie制御する方法
サイトを閲覧しているデバイスがスマホ且つ特定のCookieの値が入っているユーザ ...
-
フォルダにリンク制限をかける
imgというフォルダがあり、直接URLを叩いても 中身を見られないけど、同一サー ...
-
htaccessを置いてあるフォルダのファイルを参照
曖昧だけどhtaccessでベーシック認証とかIP制限かかってる フォルダ内のプ ...
-
htaccessファイルにてVPS⇔レンタルサーバ間のリバースプロキシ設定を行う方法
VPSの指定したディレクトリにアクセスした場合、レンタルサーバの指定したディレク ...