[설정] fail2ban

nzero·2024년 3월 1일
0

SSH에 들어오는 공격을 차단하기 위해 fail2ban을 설치했다.

설치

$ sudo apt install fail2ban

# fail2ban 실행
$ sudo systemctl enable fail2ban
$ sudo systemctl restart fail2ban

설정

기본 설정 파일은 /etc/fail2ban/jail.conf이지만, 업데이트 시 덮어 씌일 가능성이 있으니 별도의 설정 파일을 생성하는 것이 좋다.

# 사용자 설정 파일 생성
$ sudo vim /etc/fail2ban/jail.d/custom.local

ignoreip

로그인에 실패해도 차단하지 않도록 예외 ip 설정한다. 로컬호스트와 공유기 대역대를 설정해두면 되겠다.

ignoreip = 127.0.0.1/8 192.168.10.0/24

차단 기준 설정

findtime, maxretry 조건에 따라 인증에 실패한 클라이언트를 차단할 시간을 설정한다. 기본 차단 시간은 600초.

findtime 동안 maxretry 번 이상 접속 실패 시 bantime 초 동안 접근을 차단한다. bantime 을 -1로 설정 시 영구 차단한다. 시간은 초 단위로 지정하며, 기본 차단 시간은 600초로 설정되어있다.

findtime = 60
maxretry = 3
bantime = 10800

서비스 별 차단 설정

차단할 서비스에 enabled = true를 추가해주어야 차단이 실행된다.

[sshd]
enabled = true
port    = ssh, 22

전체 파일

[DEFAULT]
ignoreip = 127.0.0.1/8 192.168.10.0/24

# 60초동안 3회 실패 시 3시간 차단
findtime  = 60
maxretry  = 3
bantime   = 10800

# sshd 차단 설정
[sshd]
enabled = true
port    = ssh, 22

서비스 재시작

$ sudo systemctl restart fail2ban

0개의 댓글