● Fail2Ban
을 사용한 로그인 차단
Fail2Ban은 로그 파일을 모니터링하여 일정 횟수 이상 비밀번호 입력을 실패한 IP 주소를 자동으로 차단하는 도구입니다.
- Fail2Ban 설치
sudo apt install fail2ban
- 설정 파일 수정
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
- SSH 보호 설정
SSH 접속 시도에 대한 보호를 활성화하려면 [sshd]
섹션을 찾아 수정합니다:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
bantime = 600
enabled = true
: SSH 접속 시도에 대해 Fail2Ban을 활성화합니다.maxretry=5
: 5회 이상 비밀번호 입력을 실패하면 차단합니다.bantime=600
: 10분 동안 IP를 차단합니다.
(bantime = -1
: 영구적으로 IP를 차단합니다.)
- Fail2Ban 서비스 재시작
설정을 적용한 후 Fail2Ban 서비스를 재시작합니다:
sudo systemctl restart fail2ban
- 전체적인 영구 차단 적용
만약 Fail2Ban에서 SSH뿐만 아니라 다른 서비스에도 영구 차단을 적용하고 싶다면, 설정 파일의 [DEFAULT]
섹션에서 bantime
을 설정할 수 있습니다:
[DEFAULT]
bantime = -1
이렇게 설정하면 Fail2Ban이 보호하는 모든 서비스에서 차단된 IP는 영구적으로 차단됩니다.
설정을 변경한 후에는 Fail2Ban 서비스를 재시작해야 변경 사항이 적용됩니다:
sudo systemctl restart fail2ban
- IP 차단 상태 확인
Fail2Ban이 차단한 IP 목록을 확인하려면 다음 명령어를 사용합니다:
sudo fail2ban-client status sshd
이 명령어는 sshd
jail에 의해 차단된 IP 목록을 보여줍니다. 다른 jail에 대한 정보를 확인하려면 sshd
부분을 해당 jail 이름으로 바꾸면 됩니다.
- 특정 IP 차단 해제
만약 영구적으로 차단된 IP를 다시 허용하고 싶다면, 다음 명령어로 차단을 해제할 수 있습니다:
예를 들어, IP 192.168.0.100
을 차단 해제하려면 다음과 같이 실행합니다:
sudo fail2ban-client unban 192.168.0.100
『출처 – ChatGPT』