OS

2022.02.21 14:15

ssh 무차별 공격에 대비한 fail2ban 사용법

  • 비아웹 오래 전 2022.02.21 14:15 인기
  • 3,851
    0

안녕하세요

서버호스팅 전문기업 비아웹입니다.

 

리눅스 서버를 사용하시다 보면, sshd 에 대한 다수의 접속 시도 로그를 보시게 됩니다.

Best 방법론은 ssh 서비스 포트 변경, ssh 접속 하용 IP를 방화벽 또는 iptables 에서 지정해 놓는 것입니다.

그렇지만 다수의 사용자가 사용하시는 경우나, 접속 IP가 계속 변경되는 경우에 ssh 무차별 공격을 차단하기 위해 fail2ban 사용법을 남깁니다.

 

1. 테스트 환경

- OS : CentOS 7.9 최소 설치

 

2. 프로그램 설치

- fail2ban 은 epel repo를 사용하여 해당 repo 설치 필요

# yum install epel-release # yum install fail2ban fail2ban-systemd

 

3. 서비스 enable
# systemctl enable fail2ban

 

4. fail2ban firewalld 설정 중지

- 해당 테스트는 iptables 사용으로 진행

# cd /etc/fail2ban/jail.d # mv 00-firewalld.conf 00-firewalld.conf_nouse

 

5. fail2ban 설정

- /etc/fail2ban/jail.conf 파일 설정시 설정의 복잡성 및 업데이트 시 초기화 이슈로 인하여 별도 파일 설정

- /etc/fail2ban/jail.d/local.conf 파일에 아래 설정 진행

[DEFAULT] # 허용 IP(설정 IP에 대해서는 차단 미동작) ignoreip =127.0.0.1/8 192.168.80.2/32
 
# 10분 차단 / 영구 차단 필요시 -1 bantime =600
# 설정 시간(120)동안 maxretry(5) 회 실패시 차단 findtime =120
# 최대 실패 허용 횟수 maxretry =5
# 보내는 메일 주소 destemail = server@viaweb.co.kr
# 받는 메일 주소 sender = server@viaweb.co.kr
# 메일 발송 프로그램 mta = sendmail
# 차단시 action action =%(action_mwl)s
# sshd block [sshd] enabled =true port = ssh

 

6. fail2ban start

# systemctl start fail2ban

 

7. 테스트

- 접속 시도

 
- iptables 차단 내역

 

- fail2ban 로그


 
8. fail2ban 에서 차단 내역 확인
# fail2ban-client status # fail2ban-client status sshd

 9. fail2ban 차단 IP 해제
# fail2ban-client set sshd unbanip IP


 

10. fail2ban service stop

: 차단 내역 삭제되나 start 시 기존 차단 내역 활성화


이상과 같이 fail2ban 을 이용하여 ssh 에 대한 공격 시도 차단에 대한 기록을 남겼습니다.

ssh 외에도 smtp, ftp 등 많은 서비스에 활용 가능합니다.

 

감사합니다.

서버호스팅 비아웹

  • 공유링크 복사

    댓글목록

    등록된 댓글이 없습니다.