Fail2ban 설정

작은 서버라서 아무도 관심을 가지지 않을 줄 알았는데, 그래도 기본적인 보안은 유지해야겠기에 설치한 프로그램입니다.
Fail2ban은 무작위 로그인을 시도에 대해 정해진 횟수 로그인이 실패하는 경우 해당 IP를 차단해 주는 프로그램입니다.
설치도 쉽고 설정도 어렵지 않습니다.

라즈베리파이에 설치하는 과정입니다.

sudo apt-get install fail2ban

이후에 부팅할 때 마다 자동으로 시작하기 위해서 시스템에 등록합니다.

sudo systemctl enable fail2ban
sudo systemctl restart fail2ban

Fail2ban의 기본 설정 파일은 /etc/fail2ban/jail.conf 이지만, 업데이트시 초기값으로 돌아갈 수 있으니 개인 설정 파일을 만들어서 적용하는 것을 권한다고 적혀있습니다.
개인 설정 파일을 /etc/fail2ban/jail.local 로 만들면 됩니다.

sudo vim /etc/fail2ban/jail.local

이후 편집기가 열리면 아래 설정 예시를 참고하여 적당히 적습니다.
ignoreip: 항상 접근이 가능하도록 허용해 주는 ip를 적습니다. 대부분 127.0.0.1/8 으로 합니다.
bantime: 접속차단시간입니다. 초 단위.(60=1분, 600=10분, 3600=1시간, 43200=12시간이며, -1은 영원히.)
findtime: 로그인을 시도하는 시간입니다. 초 단위.
maxretry: 로그인시도 허용 시도 횟수.

[DEFAULT]
ignoreip = 127.0.0.1/8 
bantime = 600
findtime = 600
maxretry = 5

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log

위 설정파일의 의미는 SSH를 통해 10분동안 5번의 로그인 시도를 실패하는 경우, 10분간 해당 IP 접근을 제한하는 것입니다.
그리고, 로그파일은 /var/log/auth.log 에 저장됩니다.

(Tip: putty를 통해 위 내용을 복사 붙여넣기 할 때, putty 붙여넣기 단축키는 Shift + insert 입니다.)

설정을 완료했으면, 설정 파일을 적용시키기 위해 서비스를 재시작 해 줍니다.

sudo service fail2ban restart

서비스가 잘 시작되었고, 정상적으로 작동하는지 확인 해 봅니다.

sudo fail2ban-client status sshd

아래 그림처럼 나오면 잘 작동하는 것입니다. 참고로, 너무 많은 로그인 시도들이 보여서 bantime을 -1로 해 버렸습니다.

도움받은 사이트: Fail2ban 설정하기


게시됨

카테고리

작성자

댓글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다