Fail2ban 설치방법

📝 노트 2025-10-29
수정

📝 Fail2ban 설치 및 기본 설정 문서 (Ubuntu 기준)

I. Fail2ban 설치 및 서비스 활성화

이 과정은 무차별 대입 공격으로부터 서버를 보호하는 fail2ban 패키지를 설치하고 기본 서비스를 활성화합니다.

1. 패키지 설치

apt 패키지 관리자를 사용하여 fail2ban을 설치합니다.

# 패키지 목록 업데이트
sudo apt update

# fail2ban 설치
sudo apt install fail2ban

2. 서비스 시작 및 활성화 확인

설치 후 서비스가 자동으로 실행되는지 확인하고, 부팅 시 자동 실행을 설정합니다.

# fail2ban 서비스 시작 (자동 시작이 안 된 경우)
sudo systemctl start fail2ban

# 부팅 시 자동 실행 설정
sudo systemctl enable fail2ban

# 서비스 상태 확인
sudo systemctl status fail2ban

II. 기본 설정 파일 복사 및 편집

설정을 사용자 정의하고 업데이트 시 기존 설정을 보호하기 위해 jail.conf 파일을 복사하여 jail.local 파일을 생성합니다.

1. 설정 파일 복사

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

2. jail.local 파일 편집

jail.local 파일을 편집하여 전역 설정 ([DEFAULT]) 및 SSHD 보호 설정 ([sshd])을 조정합니다.

sudo nano /etc/fail2ban/jail.local

주요 설정 예시:

  • [DEFAULT] 섹션
    • ignoreip: 127.0.0.1/8 ::1 [본인 공인 IP]
    • bantime: 1h (1시간 차단, 영구 차단 시 -1)
    • findtime: 10m (10분 동안 실패 횟수 카운트)
    • maxretry: 5 (최대 실패 횟수)
  • [sshd] 섹션 (SSH 보호 활성화)
    • enabled: true
    • port: ssh 또는 변경한 포트 번호
    • logpath: /var/log/auth.log (Ubuntu 기본값)

3. 변경 사항 적용

설정 파일을 수정한 후 서비스를 재시작하여 변경 사항을 적용합니다.

sudo systemctl restart fail2ban

III. 오류 진단 및 해결 과정

fail2ban-client status 명령 실행 시 "Failed to access socket path"와 같은 오류가 발생했을 경우, 서비스 실행 여부를 확인하고 구성 오류를 진단합니다.

1. 서비스 실행 오류 진단

서비스 상태가 failed 인 경우, 구성 파일에 문제가 있음을 의미합니다.

# 서비스 상태 확인
sudo systemctl status fail2ban

(결과에서 Active: failed 확인)

2. 구성 오류 로그 확인

오류의 구체적인 내용을 확인하여 어떤 파일이나 정의를 찾지 못했는지 확인합니다.

sudo journalctl -u fail2ban
# 또는
sudo cat /var/log/fail2ban.log

(주로 ERROR Failed during configuration: Have not found a [파일 이름/경로] 형태로 나타남)

3. 해결 방안: jail.local 검토 및 수정

가장 흔한 원인은 jail.local 파일에 존재하지 않는 로그 파일 경로(logpath)나 필터 이름(filter)이 지정된 것입니다.

  1. jail.local 파일을 다시 열어 모든 logpath 경로에 오타가 없는지, 그리고 해당 로그 파일이 실제로 서버에 존재하는지 확인합니다.
  2. 임시 디버깅: 문제가 되는 **특정 Jail (예: Nginx, Postfix 등)**을 찾을 수 없다면, 해당 섹션의 enabled = false로 임시 비활성화 후 서비스를 재시작하여 문제가 해결되는지 확인합니다.

4. 문제 해결 후 서비스 재시작

오류를 유발하는 설정 부분을 수정한 후, 서비스를 다시 시작합니다.

sudo systemctl restart fail2ban

5. 최종 상태 확인

sshd jail이 정상적으로 활성화되었는지 확인합니다.

sudo fail2ban-client status sshd

(결과에서 Currently banned: 0 등 정상 상태 확인)


상세 정보
생성일: 2025-10-29
수정일: 2025-11-14
이 아이템이 링크하는 문서

링크된 문서가 없습니다.

이 아이템을 참조하는 문서

참조하는 문서가 없습니다.

태그
오라클
액션
수정
공유 & 관리
복제
목록으로 메인으로
마지막 수정: 2025-11-14 14:36
이미지 URL 수정됨