- インターネット上に公開されたWebサーバを運営している
- IPアドレスが固定されていない
場合に必要な措置となる、NW保護を行います。
環境
- Ubunt 24.04
さっくりとした手順
- ufwを有効化します。
- fail2banをインストールします。
- fail2banの設定をします。
SSHとWeb通信のみを有効化させます。
- SSH接続を許可するが過度な接続を制限する
sudo ufw limit proto tcp from any to any port 22
- http通信を許可
sudo ufw allow 80/tcp
- https通信を許可
sudo ufw allow 443/tcp
- ufwの設定を反映
sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)?
はyで続けます。
- 反映確認
sudo ufw status
以下を確認します。
状態: アクティブ
To Action From
-- ------ ----
22/tcp LIMIT Anywhere
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
22/tcp (v6) LIMIT Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443/tcp (v6) ALLOW Anywhere (v6)
別ウィンドウで新たなSSH接続を行い、通信できるかを確認します。
- 再起動後でもufwが有効であることを確認
sudo reboot
再起動後、SSH接続ができることを確認します。
sudo ufw status
上記、許可された設定が有効になっていることを確認します。
fail2banをインストールします。
- インストール
sudo aptitude update && sudo aptitude install fail2ban
- インストール確認
systemctl status fail2ban.service
active(running)
を確認します。
fail2banを設定します。
- jail.localの作成
教義と進行に沿ったエディタを用いて/etc/fail2ban/jail.local
を管理者権限で編集します。
[ufw]
enabled=true
filter=ufw.aggressive
action=iptables-allports
logpath=/var/log/ufw.log
maxretry=1
bantime=-1
ignoreip = 127.0.0.0/8 ::1
# ignoreipは任意の(ある程度アクセス元が判明しているIPアドレス)を指定ください。スペース区切りで複数指定できます。
[sshd]
enabled=true
filter=sshd
mode=normal
port=22
protocol=tcp
logpath=/var/log/auth.log
maxretry=3
bantime=-1
ignoreip = 127.0.0.0/8 ::1
# ignoreipは任意の(ある程度アクセス元が判明しているIPアドレス)を指定ください。スペース区切りで複数指定できます。
- ufw.aggressiveを作成
sudo tee /etc/fail2ban/filter.d/ufw.aggressive.conf > /dev/null << 'EOF'
[Definition]
failregex = [UFW BLOCK].+SRC=<HOST> DST
ignoreregex =
EOF
- 設定反映
sudo systemctl restart fail2ban.service
systemctl status fail2ban.service
active(running)
を確認します。
- 設定確認
sudo cat /var/log/fail2ban.log
この時点で、
2024-09-01 17:14:26,476 fail2ban.filter [1720]: INFO [ufw] Found xxx.xxx.xxx.xxx - 2024-09-01 17:14:26
2024-09-01 17:14:26,623 fail2ban.actions [1720]: NOTICE [ufw] Ban xxx.xxx.xxx.xxx
2024-09-01 17:14:44,198 fail2ban.filter [1720]: INFO [ufw] Found yyy.yyy.yyy.yyy - 2024-09-01 17:14:44
2024-09-01 17:14:44,647 fail2ban.actions [1720]: NOTICE [ufw] Ban yyy.yyy.yyy.yyy
と、fail2banが不審なアクセスを弾いています。
sudo fail2ban-client status ufw
設定して10分も経たないうちに100ほどのIPアドレスがブロックされていました。
コメントを残す