勉強したことのメモ

webプログラマ見習いが勉強したことのメモ。

海外IPの制限

      2014/05/17

海外IPの制限を行ったので手順のメモ。

まず「サーバー立てたらすぐ攻撃が来る」と聞いたので、
どういうアクセスログが残っているのか気になり、
apacheのログを確認しにいった。

teratermで通常ユーザーでログイン。

su

 

で、rootのパスワードを入れて
スーパーユーザーへ。

cd /var/log/httpd/

でディレクトリの移動。

ls

で移動したディレクトリにどんなファイルがあるか確認。

cat 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
--------

調べてみるとアパッチマギカ攻撃というものらしい。

■参考サイト
https://mizukama.sakura.ne.jp/blog/archives/4062

それで海外のIPを制限しようと思って調べたら
htaccessでお手軽に出来るみたい。

■参考サイト
http://www.cgis.biz/tools/access/

上記サイト様から.htaccessをダウンロードして
ドキュメントルートにアップ。

全拒否→日本のIPを許可で書かれているので、
必要に応じて書き足していけばよさそう。

で、テストで自宅のIPを制限してページを確認
したところ、Apacheのテストページが表示された。

これは微妙なので調べてみると、対策があった。

■参考サイト
http://d.hatena.ne.jp/kunikiya/20110714/1323461030

vi /etc/httpd/conf.d/welcome.conf

で設定ファイルを開いて、

<LocationMatch "^/+$">
Options -Indexes
ErrorDocument 403 /error/noindex.html
</LocationMatch>

の部分を全てコメントアウト。

/etc/init.d/httpd restart

で再起動して確認したら解決してた。

気になった点として、

・ドキュメントルートにhtaccess置くだけでIP全部はねられるのか?
apacheの設定ファイルから設定しなくていいのか?

この辺を要調査。

 - htaccess, サーバー

  関連記事

PHPのエラーログの場所が設定されていない場合

php.iniでエラーログを取るようにはなっているけど、 ログファイルの場所が設 ...

サーバのホストネーム(hostname)を確認する

「そのサーバのホストネーム調べて」と言われて 調べ方が分からなかったのでメモ。 ...

Zend OPcacheの速さの秘密

不勉強であんまり理解できなかったけどこんな感じらしい。   Zend ...

PHPでコマンドを実行して画像を加工

PHPで画像をリサイズしたりサムネイルを作ろうとすると、 ソースが長くなって面倒 ...

複数の方法で301リダイレクト

サイトのディレクトリやファイル名を大幅に変えるという案件があった。それ自体は問題 ...

MySQLが起動も再起動もできない

サイトで障害が発生した。FTPやSSH接続は出来るけどサイト自体は表示されない。 ...

プロキシサーバの接続ログを確認する方法

だいぶ前にVPSにプロキシサーバ(squid)を導入した。接続IPは指定している ...

ドキュメントルート内からgrepでファイル名を調べる

調べ方を教わったのでメモ。 #現在フォルダの確認 pwd #フォルダの移動 cd ...

MySQL/Apacheの再起動

忘れないようにメモ。 ■MySQL service mysqld restart ...

crontabコマンドのオプション

ぱっと出てこなかったのでメモ。 -u    ユーザー -l    リスト -e  ...