IT 관련/우분투(Ubuntu) 이것저것

Ubuntu 접속 차단 및 해제 방법

islet2 2025. 4. 5. 09:39

Fail2ban을 이용한 IP 관리 : 로그 확인, 차단 및 해제 방법

Fail2ban은 리눅스 서버에서 무차별 접속 시도나 해킹 공격을 방지하기 위한 강력한 보안 도구입니다. 이 글에서는 Fail2ban을 통해 로그를 확인하고, IP를 차단하거나 해제하는 방법에 대해 자세히 알아보겠습니다.

Fail2ban 로그 확인하기

Fail2ban은 모든 이벤트를 로그 파일에 기록합니다. 이를 통해 어떤 IP가 차단되었는지, 어떤 활동이 의심스러운지 확인할 수 있습니다.

기본 로그 파일 위치

Fail2ban의 로그 파일은 기본적으로 다음 위치에 저장됩니다:

sudo cat /var/log/fail2ban.log

이 로그 파일에서는 다음과 같은 형식으로 이벤트가 기록됩니다:

2022-01-15 18:50:54,899 fail2ban.filter [10249]: INFO [sshd] Found xxx.xxx.154.120 - 2022-01-15 18:50:54
2022-01-15 18:50:55,372 fail2ban.actions [10249]: NOTICE [sshd] Ban xxx.xxx.154.120

로그에는 발생 날짜 및 시간과 함께 다양한 이벤트가 표시됩니다. 특히 Found 항목은 의심스러운 접속 시도를, Ban 항목은 실제 차단된 IP를 나타냅니다

특정 서비스(jail)의 상태 확인

특정 서비스에 대한 Fail2ban 상태를 확인하려면 다음 명령어를 사용합니다:

sudo fail2ban-client status [서비스명]

예를 들어, SSH 서비스의 상태를 확인하려면:

sudo fail2ban-client status sshd

이 명령어를 실행하면 다음과 같은 정보를 확인할 수 있습니다:

  • 현재 실패한 접속 시도 수
  • 총 실패한 접속 시도 수
  • 현재 차단된 IP 수
  • 총 차단된 IP 수
  • 차단된 IP 목록

IP 수동 차단하기

특정 IP를 수동으로 차단하고 싶을 때는 다음 명령어를 사용합니다:

sudo fail2ban-client set [서비스명] banip [IP주소]

예를 들어, SSH 서비스에서 특정 IP를 차단하려면:

sudo fail2ban-client set sshd banip 192.168.1.100

여러 IP를 한 번에 차단할 수도 있습니다

sudo fail2ban-client set apache-custom banip 1.1.1.1 1.1.1.2 1.1.1.3 1.1.1.4

차단된 IP 해제하기

실수로 차단된 IP나 더 이상 차단이 필요 없는 IP의 차단을 해제하는 방법을 알아보겠습니다.

특정 서비스에서 IP 차단 해제

특정 서비스(jail)에서 IP 차단을 해제하려면:

sudo fail2ban-client set [서비스명] unbanip [IP주소]

예를 들어, SSH 서비스에서 차단된 IP를 해제하려면:

sudo fail2ban-client set sshd unbanip 192.168.1.100

이 명령어를 실행하면 해당 IP는 즉시 차단 해제됩니다

모든 서비스에서 IP 차단 해제

특정 IP를 모든 서비스(jail)에서 차단 해제하려면:

sudo fail2ban-client unban [IP주소]

여러 IP를 한 번에 차단 해제할 수도 있습니다:

sudo fail2ban-client unban 1.1.1.1 1.1.1.2 1.1.1.3 1.1.1.4

모든 IP 차단 해제

모든 IP의 차단을 해제하려면:

sudo fail2ban-client unban --all

IP 화이트리스트 관리

특정 IP를 항상 차단에서 제외하고 싶다면 화이트리스트에 추가할 수 있습니다.

화이트리스트에 IP 추가

/etc/fail2ban/jail.local 파일을 열고 다음과 같이 설정합니다:

[DEFAULT]
ignoreip = 127.0.0.1/8 ::1 [추가할_IP_주소]

여러 IP를 추가하려면 공백으로 구분합니다:

ignoreip = 127.0.0.1/8 ::1 136.232.203.134 157.10.161.187

설정 변경 후 Fail2ban을 재시작해야 합니다:

sudo systemctl restart fail2ban

로그 수준 및 대상 변경

로그 수준 변경

Fail2ban의 로그 수준은 /etc/fail2ban/fail2ban.local 파일에서 변경할 수 있습니다:

sudo nano /etc/fail2ban/fail2ban.local

파일에서 loglevel 항목을 찾아 원하는 수준으로 변경합니다. 로그 수준은 CRITICAL, ERROR, WARNING, NOTICE, INFO, DEBUG 등이 있습니다

로그 대상 변경

로그 대상은 /etc/fail2ban/fail2ban.local 파일의 logtarget 항목에서 변경할 수 있습니다. 기본값은 /var/log/fail2ban.log이지만, STDOUT, STDERR, SYSLOG 등으로 변경 가능합니다

마지막으로.. 꼭

Fail2ban은 서버 보안을 강화하는 강력한 도구입니다. 로그를 정기적으로 확인하고, 필요에 따라 IP를 차단하거나 해제함으로써 서버를 더욱 안전하게 유지할 수 있습니다. 특히 자신의 IP가 실수로 차단되는 경우를 대비해 차단 해제 방법을 알아두는 것이 중요합니다.