fail2ban은 서버에 무차별 로그인 시도를 차단하여 보안을 강화하는 도구입니다. 특히 SSH와 같은 서비스에 대한 무차별 대입 공격(Brute Force Attack)을 방어하는 데 효과적입니다. 아래에서 fail2ban 설치 및 설정 방법을 자세히 알아보겠습니다.
설치 방법
Ubuntu/Debian 계열
sudo apt update
sudo apt install fail2ban
서비스 시작 및 활성화
설치 후 fail2ban 서비스를 시작하고 부팅 시 자동으로 시작되도록 설정합니다.
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
기본 설정
fail2ban의 기본 설정 파일은 /etc/fail2ban/jail.conf이지만, 업데이트 시 덮어쓰일 수 있으므로 이 파일을 직접 수정하지 않는 것이 좋습니다. 대신 다음 방법 중 하나를 사용합니다:
/etc/fail2ban/jail.local파일 생성/etc/fail2ban/jail.d/디렉토리에.conf확장자로 설정 파일 생성
jail.local 파일 생성 방법
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
주요 설정 항목
jail.local 파일에서 다음과 같은 주요 설정을 조정할 수 있습니다:
[DEFAULT]
# 차단 예외 IP 목록 (스페이스로 구분)
ignoreip = 127.0.0.1/8 ::1
# 접속 차단 시간 (초 단위, 86400=1일, -1=영구 차단)
bantime = 86400
# 설정 시간 내에 maxretry 횟수만큼 실패 시 차단
findtime = 600
# 최대 허용 실패 횟수
maxretry = 3
# 차단 방법 (iptables 또는 firewalld 사용)
banaction = iptables-multiport
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/fail2ban.log설정 항목 설명:
- ignoreip: 차단에서 제외할 IP 주소 목록
- bantime: IP 차단 시간 (초 단위)
- findtime: 실패 횟수를 체크할 시간 범위
- maxretry: 차단 기준이 되는 실패 횟수
- banaction: 차단 방식 (방화벽 종류에 따라 다름)
- enabled: 해당 서비스 보호 활성화 여부
- port: 보호할 포트
- filter: 사용할 필터 규칙
- logpath: 로그 파일 경로
설정 적용 및 서비스 재시작
설정을 변경한 후에는 fail2ban 서비스를 재시작해야 합니다.
sudo systemctl restart fail2ban
상태 확인 및 관리 명령어
상태 확인
sudo systemctl status fail2ban
sudo fail2ban-client status
특정 서비스(jail) 상태 확인
sudo fail2ban-client status sshd
차단된 IP 확인
sudo fail2ban-client status sshd
특정 IP 차단 해제
sudo fail2ban-client set sshd unbanip
로그 확인
sudo tail -f /var/log/fail2ban.log
추가 서비스 보호 설정
SSH 외에도 Apache, FTP 등 다른 서비스에 대한 보호 설정을 추가할 수 있습니다. 예를 들어, Apache 인증 실패에 대한 보호를 설정하려면:
[apache-auth]
enabled = true
port = http,https
filter = apache-auth
logpath = /var/log/apache2/error.log
maxretry = 3
bantime = 600fail2ban은 서버 보안을 강화하는 중요한 도구이며, 적절한 설정을 통해 무차별 공격으로부터 서버를 효과적으로 보호할 수 있습니다.
'IT 관련 > 우분투(Ubuntu) 이것저것' 카테고리의 다른 글
| ls, tree 사용법(폴더 내용 및 구조 확인) (0) | 2025.04.16 |
|---|---|
| 워드프레스 외부 접속 문제해결(접속불가,리디렉션) (0) | 2025.04.13 |
| Ubuntu 5분단위 시스템 온도 기록 스크립트 (0) | 2025.04.07 |
| Ubuntu acer 노트북 팬속도 조절 (0) | 2025.04.07 |
| Ubuntu Nginx 설치 (0) | 2025.04.06 |