はじめに
DoS攻撃への暫定対応として、大量アクセスのあった送信元の特定IPアドレスだけをブロックしたい場合があるかと思います。
本番稼働中にWebサーバに以下のような手順で修正を加えることで、簡易的なブラックリストを実装することができます。備忘がてら残します。
手順
1.ブラックリストファイルを作成
$ cd /etc/nginx
# nginx-ip-restrictions.confを作成
$ touch nginx-ip-restiction.conf
2.ブラックリストに追加
/etc/nginx/nginx-ip-restrictions.conf;
deny XX.XXX.XX.XX; # IPアドレスに関するコメント
3.nginx/conf.d
に読み込ませる
/etc/nginx/conf.d
include /etc/nginx/nginx-ip-restrictions.conf;
4.変更の反映
# 構文エラーがないか確認
$ nginx -t
# 現在のプロセスを確認
$ ps -aux | grep nginx
# nginx再起動
$ systemctl restart nginx
# プロセスが変わっていることを確認
$ ps -aux | grep nginx
5.運用
怪しいIPアドレスが来たらdeny
にポコポコ追加していくだけ!
/etc/nginx/nginx-ip-restrictions.conf;
deny XX.XXX.XX.XX;
deny YY.YYY.YY.YY;
参考