勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

htaccessファイルで海外からのアクセスをIP制限する方法

   2024/04/16  Apache サーバー

「サーバー立てたらすぐ攻撃が来る」と聞いたのでアクセスログを確認したところ、海外と思われるアクセス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

http://www.cgis.biz/tools/access/

https://kunikiya.hatenadiary.org/entry/20110714/1323461030

 - Apache サーバー

  関連記事

他ドメインから画像の呼び出し(直リンク)を禁止する方法
他ドメインから画像の呼び出し(直リンク)を禁止する方法

他ドメインからの画像の呼び出し、いわゆる直リンクの禁止を行いたかった。調べるとh ...

CPIのレンタルサーバでRewriteEngineを使用する場合の注意点
CPIのレンタルサーバでRewriteEngineを使用する場合の注意点

CPIのレンタルサーバで開発する案件があり、htaccessファイルを用いてRe ...

apacheを再起動する際に影響を少なくする方法(graceful)
apacheを再起動する際に影響を少なくする方法(graceful)

apacheを再起動するとクライアントとの通信が強制的に切断されてしまう。その影 ...

htaccessを置いてあるフォルダのファイルを参照
htaccessを置いてあるフォルダのファイルを参照

曖昧だけどhtaccessでベーシック認証とかIP制限かかってる フォルダ内のプ ...

HSTS(HTTP Strict Transport Security)の設定方法
HSTS(HTTP Strict Transport Security)の設定方法

あるサイトのセキュリティ対策としてHSTS(HTTP Strict Transp ...