리눅스

우분투 24.04 Fail2ban 설치 및 기본 설정하는 방법

변군이글루 2025. 12. 6. 14:30
반응형

우분투 24.04 Fail2ban 설치 및 기본 설정하는 방법

Fail2ban은 SSH brute-force 공격 등 반복 로그인 실패를 자동으로 차단해 주는 보안 툴입니다.

1. Fail2ban 설치

sudo apt update
sudo apt install -y fail2ban

상태 확인

sudo systemctl status fail2ban

2. Fail2ban 기본 설정 파일 구조

  • /etc/fail2ban/jail.conf
    → 절대 직접 수정 X (패키지 업데이트 시 덮어쓰기됨)
  • /etc/fail2ban/jail.local
    → 로컬 설정(override) 작성하는 파일
  • /etc/fail2ban/jail.d/*.conf
    → 서비스별 개별 설정(SSH 등)

jail.local 또는 jail.d 파일 생성 방식을 사용합니다.

3. 기본 설정 템플릿 생성

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

/etc/fail2ban/jail.local을 수정합니다.

4. SSH 보호 설정(sshd jail 활성화)

sudo vim /etc/fail2ban/jail.local

우분투24

[DEFAULT]
# 차단 시간
bantime = 10m
findtime = 10m
maxretry = 5

# 차단 리스트는 iptables 대신 systemd로 관리
backend = systemd

[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s

주요 설정 설명

  • enabled = true : SSH 보호 기능 활성화
  • maxretry = 5 : 5회 실패시 차단
  • bantime = 10m : 10분간 접속 차단
  • findtime = 10m : 10분 내 실패 횟수 기준
  • backend = systemd : 우분투 24.04는 journald 사용이므로 systemd 권장

5. Fail2ban 서비스 재시작 및 적용

sudo systemctl restart fail2ban

오류 여부 확인

sudo fail2ban-client status
728x90

6. SSH jail 동작 확인

sudo fail2ban-client status sshd
Status for the jail: sshd
|- Filter
|  |- Currently failed: 0
|  `- Total failed: 8
`- Actions
   |- Currently banned: 1
   `- Total banned: 1
  • 현재 차단된 IP 목록도 확인 가능

7. 테스트: SSH 로그인 실패로 차단되는지 확인

7.1 다른 PC에서 SSH 비밀번호 고의로 5회 이상 틀린 후

7.2 ban 여부 체크

sudo fail2ban-client status sshd

또는 journal 확인

sudo journalctl -u fail2ban -f

8. Fail2ban Unban(차단 해제) 방법

특정 IP 해제

sudo fail2ban-client set sshd unbanip 192.168.0.100

9. 추가 보안 설정

bantime 무제한(공격 IP 영구 차단)

bantime = -1

whitelist(허용 IP)

ignoreip = 127.0.0.1/8 192.168.0.0/24

 

728x90
반응형