【ufw】特定のIPアドレスからのアクセスを拒否する
ここ最近、自宅サーバーに中国からの不正アクセスが多いため、アクセス制限を行いました。本当はL3スイッチレベルで対応したいのですがルーターが非対応のため、ufwでアクセス制限を行います。 以下、自分用の備忘録。
環境:Ubuntu 18.04 LTS
1. ufwを有効にする
初期時点ではufwは非アクティブ
$sudo ufw enable
2. デフォルトのアクセスを全許可にする
ufwはデフォルト=全拒否のホワイトリスト方式のため、特定のIPを拒否するにはデフォルト=全許可のブラックリスト方式に変更します
$sudo ufw default ALLOW
3. 拒否するIPアドレスを指定
$sudo ufw deny from XXX.XXX.XXX.XXX to any
cidrの情報から中国のIPを全拒否することも検討しましたが、約8000個のIPがありパフォーマンスの影響が気になるため、最近目に付くIPアドレスのみをひとまず制限するようにしました。
4. 設定を確認する
$sudo ufw status verbose 状態: アクティブ ロギング: on (low) Default: allow (incoming), allow (outgoing), disabled (routed) 新しいプロファイル: skip To Action From -- ------ ---- Anywhere DENY IN XXX.XXX.XXX.XXX
簡単な動作確認として手持ちの携帯回線のIPアドレスを拒否し、携帯端末から自宅SVにアクセスできないことを確認します。
##
アクセスログを眺めると、/phpmyadmin/や/mysql/など特定のフォルダに規則性を持ってアタックをしているので、これらのフォルダにアクセスしたIPを自動ブロックするコードを書こうか検討中