서버 보안 · 4 min read · Sep 15, 2025
우분투 24.04 서버에 Fail2ban 설치하는 방법

Fail2ban은 관리자가 악의적인 로그인 및 무차별 대입 공격으로부터 리눅스 서버를 보호하는 데 도움을 주는 무료 오픈 소스 IPS(침입 방지 소프트웨어)입니다. Fail2ban은 파이썬으로 작성되었으며 Apache2, SSH, FTP 등과 같은 다양한 서비스에 대한 필터를 제공합니다. Fail2ban은 공격의 출처인 IP 주소를 차단하여 악의적인 로그인 시도를 줄입니다.
Fail2ban은 서비스의 로그 파일(예: /var/log/auth.log)을 스캔하고 너무 많은 잘못된 비밀번호, 취약점 탐색 등과 같은 악의적인 로그인 시도를 보이는 IP 주소를 차단합니다. Fail2ban은 iptables, ufw 및 firewalld와 같은 여러 방화벽 백엔드를 지원합니다. 또한 차단된 로그인 시도마다 이메일 알림을 설정할 수 있습니다.
이 가이드에서는 우분투 24.04 서버에 Fail2ban을 설치하는 방법을 배웁니다. Fail2ban 감옥을 설정하고 기본 ‘fail2ban-client’ 명령을 배우고, Fail2ban을 사용하여 IP 주소를 차단 및 차단 해제하는 방법을 배웁니다.
전제 조건
이 가이드를 시작하려면 다음이 필요합니다:
- 우분투 24.04 서버
- 관리자 권한이 있는 비루트 사용자
Fail2ban 및 UFW(간단한 방화벽) 설치하기
Fail2ban은 서버를 무차별 대입 공격으로부터 보호하는 IPS(침입 방지 소프트웨어)입니다. 대부분의 리눅스 저장소에서 기본적으로 제공되며 여러 방화벽 백엔드를 지원합니다. 이 섹션에서는 Fail2ban을 설치한 다음 Fail2ban의 방화벽 백엔드로 사용될 UFW(간단한 방화벽)를 설정합니다.
먼저 아래 명령어를 실행하여 우분투 패키지 인덱스를 업데이트합니다.
sudo apt update
이제 다음 ‘ apt ‘ 명령어로 ‘ fail2ban ‘ 및 ‘ ufw ‘ 패키지를 설치합니다. 설치를 확인하려면 ‘ Y ‘를 입력합니다.
sudo apt install fail2ban ufw
설치가 완료되면 아래 명령어를 실행하여 SSH 포트를 열고 UFW를 활성화합니다. 확인하려면 ‘Y’를 입력하고 UFW를 시작 및 활성화합니다.
sudo ufw allow OpenSSH
sudo ufw enableUFW가 활성화되면 ‘ 방화벽이 활성화되었으며 시스템 시작 시 활성화됩니다 ‘라는 출력이 표시됩니다.
다음으로, UFW 상태를 확인하기 위해 다음 명령어를 실행합니다. UFW가 ‘ 활성 ‘ 상태이며 ‘ OpenSSH ‘가 활성화된 것을 확인할 수 있습니다.
sudo ufw status
마지막으로, 아래 ‘systemctl’ 명령어를 실행하여 ‘ fail2ban ‘ 서비스를 시작하고 활성화하며 상태를 확인합니다.
sudo systemctl enable --now fail2ban
sudo systemctl status fail2ban아래에서 ‘ fail2ban ‘이 활성화(실행 중)되고 활성화된 것을 확인할 수 있습니다.

Fail2ban 구성하기
Fail2ban을 설치한 후에는 Fail2ban이 조치를 취하기 전에 구성해야 합니다(검사 및 차단). 이 섹션에서는 Fail2ban 구성 ‘/etc/fail2ban/jail.local’을 수정하고, ‘ bantime ‘, ‘ maxretry ‘, ‘ findtime ‘에 대한 전역 구성을 설정하고, 기본 작업 및 UFW 방화벽 백엔드를 설정한 다음 SSH 서비스의 무차별 대입 공격으로부터 보호하기 위해 ‘ sshd ‘ 감옥을 활성화합니다.
시작하려면 기본 Fail2ban 구성을 ‘ /etc/fail2ban/jail.local ‘로 복사합니다:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local다음 ‘ nano ‘ 편집기 명령어로 ‘ /etc/fail2ban/jail.local ‘ 파일을 엽니다.
sudo nano /etc/fail2ban/jail.local‘ ignoreip ‘ 옵션에 로컬 네트워크를 추가합니다. 이 옵션 내의 모든 서브넷은 Fail2ban에 의해 차단되지 않습니다.
ignoreip = 127.0.0.1/8 ::1 192.168.1.0/24 192.168.10.20‘ bantime ‘ (IP 주소가 차단되는 시간), ‘ findtime ‘ (차단 조치 전 실패 횟수 사이의 기간), ‘ maxretry ‘ (IP 주소가 차단되기 위한 실패 횟수)에 대한 기본 구성을 조정합니다. 이 예제에서는 ‘ bantime ‘을 ‘ 1시간 ‘, ‘ findtime ‘을 ‘ 10분 ‘, ‘ maxretry ‘를 ‘ 5회 ‘로 설정합니다.
bantime = 1h
findtime = 10m
maxretry = 5선택적으로 기본 ‘ action ‘을 ‘ %(action_mw)s ‘로 변경하여 IP 주소를 차단하고 관리자에게 이메일로 알림을 보냅니다. 또한 ‘destmail’ 및 ‘sender’ 옵션을 변경해야 합니다.
action = %(action_mw)s
destemail = [email protected]
sender = [email protected]기본 ‘ banaction ‘을 ‘ ufw ‘로 변경합니다. 이렇게 하면 IP 주소가 Fail2ban을 통해 UFW로 차단됩니다.
banaction = ufw이제 ‘ sshd ‘에 대한 기본 감옥을 아래 구성으로 변경합니다. 이 예제에서는 ‘ sshd ‘ 감옥이 ‘ bantime ‘, ‘ maxretry ‘, ‘ findtime ‘에 대한 사용자 정의 설정을 갖습니다.
[sshd]
enabled = true
maxretry = 3
findtime = 15m
bantime = 3h
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s작업이 완료되면 파일을 저장하고 종료합니다.
마지막으로 아래 ‘systemctl’ 명령어를 실행하여 ‘ fail2ban ‘ 서비스를 재시작하고 변경 사항을 적용합니다.
sudo systemctl restart fail2ban
fail2ban-client를 사용하여 fail2ban 규칙 확인하기
이 시점에서 Fail2ban 서비스가 실행 중이며 ‘sshd’ 감옥이 활성화되었습니다. 이제 Fail2ban 설치를 확인하고 관리하기 위한 ‘fail2ban-client’의 기본 명령을 배웁니다.
Fail2ban이 실행 중인지 확인하려면 아래 ‘ fail2ban-client ‘ 명령어를 실행합니다.
sudo fail2ban-client pingFail2ban이 실행 중이라면 ‘ PONG ‘이라는 출력이 표시됩니다.
이제 다음 명령어로 ‘ sshd ‘ 감옥의 상태를 확인합니다. 이 명령은 ‘ sshd ‘ 감옥에 대해 감지된 및 차단된 IP 주소 목록을 보여줍니다.
sudo fail2ban-client status sshd
다음으로, 아래 ‘ fail2ban-client get ‘ 명령어를 실행하여 Fail2ban 감옥의 특정 규칙을 확인합니다. 이 섹션에서는 ‘ bantime ‘, ‘ maxretry ‘, ‘ actions ‘, ‘ findtime ‘, ‘ ignoreip ‘를 ‘ sshd ‘ 감옥에서 확인합니다.
sudo fail2ban-client get sshd bantime
sudo fail2ban-client get sshd maxretry
sudo fail2ban-client get sshd actions
sudo fail2ban-client get sshd findtime
sudo fail2ban-client get sshd ignoreip
fail2ban-client로 IP 주소 차단 및 차단 해제하기
‘fail2ban-client’를 사용하여 IP 주소를 수동으로 차단하거나 차단 해제하는 방법을 아는 것이 중요합니다. 이를 통해 차단 목록에서 IP 주소를 쉽게 제거할 수 있습니다. Fail2ban에서 IP 주소를 차단 및 차단 해제하기 위해 ‘fail2ban-client’ 명령을 사용할 것입니다.
Fail2ban을 통해 IP 주소를 수동으로 차단하려면 아래 ‘ fail2ban-client ‘ 명령어를 실행합니다. 이 경우 차단된 IP 주소는 ‘ sshd ‘ 감옥으로 이동합니다.
sudo fail2ban-client set sshd banip IP-ADDRESS이제 다음 명령어를 실행하여 Fail2ban ‘ sshd ‘ 감옥에서 IP 주소의 차단을 해제합니다.
Sudo fail2ban-client set sshd unbanip IP-ADDRESS마지막으로 아래 명령어를 사용하여 ‘ sshd ‘ 감옥 상태를 확인할 수 있습니다. IP 주소가 제거된 것을 확인할 수 있습니다.
sudo fail2ban-client status sshd결론
축하합니다! 우분투 24.04 서버에 Fail2ban 설치를 완료했습니다. 또한 Fail2ban을 구성하는 기본 구성, 전역 구성 및 감옥 설정 방법을 배웠습니다. 마지막으로 ‘fail2ban-client’ 명령의 기본 사용법을 배워 Fail2ban 상태, 감옥 상태, 감옥 구성 및 IP 주소를 수동으로 차단 및 차단 해제하는 방법을 배웠습니다.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.