메뉴 닫기

rocky linux 9 fail2ban 설치 및 설정

 

✅ fail2ban이란?

fail2ban은 시스템 로그 파일을 모니터링하여 반복적인 로그인 실패 같은 악의적인 행동을 감지하고, 해당 IP를 자동으로 방화벽을 통해 차단하는 보안 도구입니다.

주요 기능은 다음과 같습니다:

  • SSH, FTP, SMTP, Apache/Nginx 등 다양한 서비스 보호

  • 로그인 실패 횟수 초과 시 IP 자동 차단

  • 차단 시간 및 조건 사용자 정의 가능

  • 방화벽(firewalld, iptables 등)과 연동

 

✅ 왜 fail2ban이 필요한가?

Linux 서버는 기본적으로 외부와 연결되어 있기 때문에 공격자가 IP를 수천 번 시도해도 막을 방법이 없습니다. 다음과 같은 경우에 fail2ban은 큰 도움이 됩니다:

  • SSH 로그인 시도 폭주: 무작위로 ID/PW 조합을 시도하는 공격 차단

  • 웹 서버 악성 요청 차단: Apache/Nginx 로그 분석을 통한 공격 IP 차단

  • 메일 서버 보호: 스팸 릴레이나 인증 실패 차단

fail2ban은 이런 문제를 방지하며, 서버 부하를 줄이고 보안성을 높이는 데 큰 역할을 합니다.

 

🛠️ Rocky Linux 9에 fail2ban 설치 및 설정

 

1. dnf update 및 EPEL 저장소 설치

 

2. fail2ban 설치

3. fail2ban 서비스 시작 및 부팅 시 자동 실행 설정 

4. 기본 설정 파일 수정 

기본 설정 파일인 jail.conf는 사용하지 않고 복사하여 jail.local로 사용합니다.
그 후 파일 편집기를 통해 설정 파일을 수정합니다.

5. ssh 보호 설정 예시

예시로 ssh 보호를 위한 설정 파일 수정을 진행하겠습니다.

  • enable – 이 jail을 활성화할지 여부 
  • port – ssh 포트 번호
  • logpath – 로그 파일 위치
  • maxretry – 허용되는 로그인 실패 횟수
  • bantime – ip가 차단되는 시간(단위 : 초)
  • findtime – maxretry 기준 시간(단위: 초)
  • action – 작동 방법

 

6. iptables 확인 

7. 작동 확인

fail2ban은 설정만 잘해두면 별다른 유지보수 없이 서버를 자동으로 방어해줍니다. 간단한 설정만으로도 SSH 무차별 공격, 웹 공격, 메일 서버 공격 등을 효과적으로 막을 수 있어 많은 서버 관리자들의 필수 도구로 자리 잡고 있습니다.

만약 웹 서버(Apache/Nginx), 메일 서버(Postfix/Dovecot) 등을 운영 중이라면 추가 설정을 통해 더 넓은 범위의 보안을 구축할 수 있습니다.

이상으로 글 작성을 마치겠습니다. 감사합니다!

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x