다른 모든 것을 잠가 두어도, 봇은 포트 22에 대한 비밀번호 시도를 멈추지 않습니다 — 끊임없는 배경 소음이자 부하입니다. fail2ban은 로그를 감시하며 로그인에 너무 많이 실패한 IP를 자동으로 차단하므로, 공격자는 영원히 추측하는 대신 몇 번 시도한 뒤 차단됩니다. 설치는 간단하지만 로그 스팸은 크게 줄어듭니다.
1. fail2ban 설치
sudo apt update && sudo apt install -y fail2ban
2. 로컬 설정 만들기
기본 제공되는 jail.conf를 직접 편집하지 마세요 — jail.local에서 재정의하세요:
sudo tee /etc/fail2ban/jail.local > /dev/null <<'EOF'
[DEFAULT]
# 스스로를 차단하지 마세요 — 집/사무실 IP를 추가하세요
ignoreip = 127.0.0.1/8 ::1
bantime = 1h
findtime = 10m
maxretry = 5
[sshd]
enabled = true
EOF
이렇게 하면 10분 안에 5번 로그인에 실패한 IP를 1시간 동안 차단합니다. 오타로 입력한 비밀번호 때문에 스스로 잠기지 않도록 자신의 IP를 ignoreip에 추가하세요.
3. 시작하고 부팅 시 활성화
sudo systemctl enable --now fail2ban
4. SSH jail 확인
sudo fail2ban-client status sshd
현재 차단된 IP가 몇 개인지 볼 수 있습니다 — 몇 분 안에 놀라운 숫자가 되는 경우가 많습니다.
차단 관리
sudo fail2ban-client set sshd unbanip 1.2.3.4 # 차단 해제
sudo fail2ban-client status # 모든 jail 목록
sudo systemctl reload fail2ban # 설정 변경 적용
솔직한 주의
- 자신의 IP를
ignoreip에 추가해 반복되는 오타로 차단되지 않게 하세요. 만약 차단됐다면 bantime이 끝나길 기다리거나 제공업체 콘솔을 사용하세요 — EQVPS는 모든 VPS에 콘솔을 제공합니다. - fail2ban은 SSH 키를 대체하지 않고 보완합니다. 키는 추측이 애초에 성공하지 못하게 막고, fail2ban은 소음을 막으며 다른 서비스도 보호합니다.
- 취향에 맞게 조정하세요: 더 긴
bantime은 집요한 공격자를 저지하지만, 너무 공격적으로 설정하면 불안정한 정상 연결까지 차단할 위험이 있습니다.
다음 단계
fail2ban은 강화된 서버를 이루는 한 겹입니다. SSH 키 인증 및 UFW 방화벽과 함께 조합하고, 무엇이든 인터넷에 노출하기 전에 전체 새 VPS 보안 체크리스트를 실행하세요.
댓글
아직 댓글이 없습니다. 첫 번째가 되세요.