Server/Linux
[Linux] #24 보안 설정, Fail2Ban 설치와 설정 방법 가이드
TOASTDEV
2025. 8. 18. 10:00
반응형
안녕하세요, 토스트 데브입니다!
서버를 인터넷에 공개하면 가장 먼저 당하는 공격이 바로 무차별 대입 공격(Brute Force) 입니다.
특히 SSH 포트는 전 세계에서 수많은 봇이 계속해서 로그인 시도를 하죠.
이를 막기 위해 사용하는 대표적인 보안 도구가 바로 Fail2Ban입니다.
이번 글에서는 Ubuntu 서버에서 Fail2Ban 설치와 기본 설정, SSH 보호 방법을 정리하겠습니다.
🛠 1. Fail2Ban 설치
sudo apt update
sudo apt install fail2ban -y
설치 후 상태 확인:
sudo systemctl status fail2ban
- active (running)이면 정상 실행 중
⚙️ 2. 기본 설정 파일 복사
Fail2Ban 기본 설정 파일:
/etc/fail2ban/jail.conf
이 파일은 직접 수정하지 않고, 복사하여 jail.local로 사용합니다.
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
🔐 3. SSH 보호 설정
jail.local 파일 수정:
sudo nano /etc/fail2ban/jail.local
아래 부분을 찾아 수정:
[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
maxretry = 5
bantime = 600
findtime = 600
- enabled: 활성화 여부
- maxretry: 로그인 실패 허용 횟수
- bantime: 차단 시간(초)
- findtime: 실패 시도 감시 기간(초)
예:
maxretry = 5, bantime = 600 → 10분 동안 5번 실패 시 10분 차단
🚀 4. Fail2Ban 재시작 및 적용
sudo systemctl restart fail2ban
📋 5. 동작 상태 확인
SSH 관련 보호 상태 확인:
sudo fail2ban-client status sshd
전체 상태 확인:
sudo fail2ban-client status
🌐 6. 차단된 IP 해제
sudo fail2ban-client set sshd unbanip 203.0.113.10
💡 토스트 데브 팁
✅ SSH 포트를 변경했다면, Fail2Ban 설정에서도 동일하게 수정해야 합니다.
✅ 웹 서버(Nginx, Apache) 로그인 페이지나 phpMyAdmin 같은 서비스에도 적용할 수 있습니다.
✅ bantime을 0으로 설정하면 영구 차단됩니다.
#Ubuntu보안 #Fail2Ban설정 #무차별대입공격방지 #SSH보안 #서버보안 #리눅스보안 #Ubuntu서버 #토스트데브 #Fail2Ban사용법 #서버관리
반응형