5월 23, 2026가이드
Linux에서 Fail2ban 설치 및 구성
Fail2ban으로 SSH와 Nginx를 보호하고 VPS를 무차별 대입 공격에서 지킵니다.

Fail2ban은 로그를 모니터링하며 반복된 SSH 로그인 실패 등 악의적 행위를 보이는 IP를 일시 차단합니다. 새 Hiddence VPS에 먼저 설치할 보안 도구 중 하나입니다.
Fail2ban 설치
bash
# Ubuntu / Debian
sudo apt update
sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
# CentOS / RHEL / Alma / Rocky
sudo yum install epel-release -y
sudo yum install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2banSSH 보호
로컬 설정 파일을 만듭니다(jail.conf는 직접 편집하지 마세요):
bash
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
bantime = 3600
findtime = 600
sudo systemctl restart fail2banNginx 보호(선택)
404나 인증 오류가 너무 많은 IP를 차단합니다:
bash
[nginx-http-auth]
enabled = true
port = http,https
filter = nginx-http-auth
logpath = /var/log/nginx/error.log
maxretry = 5
[nginx-noscript]
enabled = true
port = http,https
filter = nginx-noscript
logpath = /var/log/nginx/access.log
maxretry = 6차단된 IP 확인
bash
sudo fail2ban-client status
sudo fail2ban-client status sshd
# Unban an IP if needed:
sudo fail2ban-client set sshd unbanip 1.2.3.4모범 사례
- 비밀번호 대신 SSH 키로 공격 표면 축소
- SSH 포트 변경은 방화벽 규칙과 함께
- 필요 시 사무실 IP를 fail2ban ignoreip에 등록
- /var/log/fail2ban.log 정기 확인
- UFW 또는 Firewalld와 함께 사용