parudou
parudou
parudou
更新日:2019/07/24

アクセスログからわかるNginxでやりたいセキュリティ対策等(ワードプレス)

アクセスログを見るのは楽しいですね。
毎日のようにハッキングしてくるロボットがいて、攻め方が面白い。

そんなアクセスログからわかる、やっておきたい対策を語ります。

1、IP直打ちでのアクセスは拒否

IPなんかでアクセスしてくるのは悪いロボットだけ。
ドメイン以外のアクセスはALL拒否するように設定する。

#default.conf
server {
listen 80 default_server;
server_name _;
return 403;
}

Nginx独自のコード「444」でも良いですが、
それだとバックエンド側で使うとサーバーダウンとみなされるので注意。
フロントなら問題ないです。
「deny all;」もエラーログになるので、個人的には「return 403;」が好き。

なお、これだと「https(ssl)」でのアクセスは防げないですが、
そもそも表示されないので問題ないだろう。

2、xmlrpc.phpは絶対に拒否

「xmlrpc.php」はPOST送信で攻められます。
これはDDOS攻撃の踏み台として、探られているのだと思う。
だから、いろいろ試され回数が多い。

Nginxでは次のようにして拒否する。

location = /xmlrpc.php {
return 403;
}

レンサバだと「.htaccess」にて指定するか、
セキュリティ系のプラグインを使っても良い。
とにかく、これだけは絶対に拒否する。

3、ユーザーIDでのアクセスを拒否

「/?author=1」などでのアクセスはハッキングの定番手段。
これにてユーザー名がわかることが多く、
パスワードの突破のみでハッキングを目指すというもの。

location / {

if ($args ~* author=) {
return 403;
}

try_files $uri $uri/ /index.php?$args;
}

この場合は「if」でしかできないので、このやり方に。
「location /」の中に追加すればOKです。
上記は追加後の状態。「try_files」は最初からあると思います。

ユーザー別のページを利用しない場合、拒否しておくと良い。

留意点

前述しましたが「deny all;」にすると、エラーログが出る。

具体的にファイル名を指定して拒否する場合、エラーログは不要です。
そのため「return 403;」などにすると良い。
こうしないとログ監視が面倒になるので必須。

ロードバランサ構成にしている場合、フロントに絶対に返答しないといけません。
「return 444;」を使って謎のエラーに悩まされた人は多いだろう(自分

あとの細かいところ

攻撃かな?と思われるログは散見されます。
「phpmyadmin」系の攻撃は特に多いですね。
絶対に使ってはいけない名前代表格です。

基本的には英語名のファイルが狙われているので、
日本人ならローマ字でファイル名を書くのが安心。
かっこつけて英語で付けるほど、リスクが高まります。

「コピペでできる」的なやつは、ファイル名から狙われやすい。
プラグインやテーマなども攻撃の対象です。
データベースをいじるプラグインは特に攻撃対象ですね。
攻撃をするあたり、脆弱性はまだまだあるんだろうなと感じます。

余計なファイルはサーバーにおかない。
必要無いプラグインは停止ではなく削除する。

このあたりを意識して、今日も明日もアクセスログを見る。
そんな木曜日の夜。

是非ご感想・ご指摘等をください。

プロフィール

管理人:parudou
単なるWEBサイト作成マニアです。
底辺法人アフィリエイター。
Twitterはこちら

日記はパルどうSEOブログ

閲覧履歴
履歴なし
カテゴリー
Copyright (c) parudou All Rights Reserved.