잠재적 인 ufw 및 fail2ban 충돌


45

fail2ban 및 ufw를 모두 실행하면 문제가 발생합니까? 나는 fail2ban이 iptables 규칙을 수정한다는 것을 알았지 만 ufw에는 이미 많은 iptables 규칙이 정의되어 있습니다 ... 그래서 fail2ban이 이것을 망칠 지 확신 할 수 없습니다.


어떤 우분투 버전? ( 'UFW는'간에 약간 개선 10.04 LTS전 11.x )
david6

@ david6 : 죄송합니다. 처음 질문했을 때 실행중인 버전을 기억하지 못합니다.
Adam Monsen

답변:


49

ufw와 fail2b를 함께 사용할 수 있지만 앞에서 설명한대로 (ufw) 규칙의 순서가 중요합니다.

기본적으로 fail2ban은 iptables를 사용하고 INPUT 체인에서 규칙을 먼저 삽입합니다. 이것은 ufw와 충돌하거나 충돌하지 않습니다.

ufw를 사용하기 위해 fail2ban을 완전히 통합하려면 (iptables 대신). 당신은 포함하여 많은 파일을 편집해야합니다

/etc/fail2ban/jail.local

jail.local은 수신 대기중인 포트 (ssh를 기본 포트가 아닌 포트로 변경) 및 수행 할 조치를 포함하여 서비스를 정의하는 위치입니다.

지금까지 편집 마십시오 : ** * 참고 jail.conf가 , 변경 사항에 이루어지지한다 jail.local! 해당 파일은 다음으로 시작합니다.

# Changes:  in most of the cases you should not modify this
#           file, but provide customizations in jail.local file,
#           or separate .conf files under jail.d/ directory

예를 들어 ssh를 사용하면 기본 포트가 아닌 포트의 정의에 유의하십시오 =)

[ssh]
enabled = true
banaction = ufw-ssh
port = 2992
filter = sshd
logpath = /var/log/auth.log
maxretry = 3

그런 다음 ufw in (각 서비스마다 하나의 .conf 파일)을 사용하도록 fail2ban을 구성하십시오.

/etc/fail2ban/action.d/ufw-ssh.conf

문법은

[Definition]
actionstart =
actionstop =
actioncheck =
actionban = ufw insert 1 deny from <ip> to any app OpenSSH
actionunban = ufw delete deny from <ip> to any app OpenSSH

참고 : ufw를 사용하고 "insert 1"구문을 사용하여 새 규칙을 먼저 삽입하도록 fail2ban을 구성 하십시오. 삭제는 순서에 관계없이 규칙을 찾습니다.

더 자세한 내용을 다루는 멋진 블로그 게시물이 있습니다.

http://blog.vigilcode.com/2011/05/ufw-with-fail2ban-quick-secure-setup-part-ii/

[편집] 우분투 16.04+

기본적 으로 콘텐츠와 함께 " defaults-debian.conf"/etc/fail2ban/jail.d

[sshd]
enabled = true

fail2ban의 ssh 보호를 활성화합니다.

당신은 그것을 틀리게해야합니다.

그런 다음 일반적으로하는 것처럼 jail.local을 작성하십시오.

[ssh-with-ufw] 
enabled = true 
port = 22 
filter = sshd 
action = ufw[application="OpenSSH", blocktype=reject] 
logpath = /var/log/auth.log 
maxretry = 3

fail2ban 기본 설치에는 ufw.conf가 이미 있으므로 따로 만들 필요가 없습니다.

jail.local의 유일한 변경 사항은 보호와 관련된 응용 프로그램과 결과로 얻고 자하는 것을 넣어야하는 작업 라인입니다.

ufw는 네트워크를 사용하여 실행중인 특정 양의 앱을 자동으로 감지하는 경향이 있습니다. 목록을 보려면을 입력하십시오 sudo ufw app list. 대소 문자를 구분합니다.

fail2ban을 다시로드하면 더 이상 fail2ban 체인이 표시되지 않으며 IP가 차단되면 해당 블록이 표시됩니다 sudo ufw status


7
간단히 말하면 설명 된대로 통합을 수행하지 않으면 ufw와 fail2ban이 정상적으로 작동합니다. Fail2ban은 ufw의 규칙이 적용되기 전에 차단 정의를 삽입합니다. 반면에 블록을에 표시 ufw status하려면 통합이 필요합니다. 에 블록이 표시되는 것 외에 ufw status다른 이점은 없습니까? 특히 블로그의 저자는 다음과 같이 말합니다. Fail2ban은 iptables 규칙과 함께 작동하지만 간단한 UFW 명령으로는 잘 작동하지 않습니다 (...)
bouke

1
바로 그거죠. "정말 놀지 마라"는 ufw 상태로 확인할 때 표시되지 않는 것과 같습니다. 통합의 이점은 방화벽 규칙을 관리하고 표시하기 위해 ufw라는 하나의 도구를 사용한다는 것입니다. 기능면에서 fail2ban을 그대로 사용하는 데 아무런 문제가 없습니다. 문제는 fail2ban 규칙을 보려면 iptables -L -v -n을 사용해야하고 이미 알 수 있듯이 ufw를 사용할 때 출력이 길고 따르기가 어렵다는 것입니다. 통합의 이점은 규칙과 구문을 이해하기 쉽다는 것입니다 (먼저 ufw를 사용하는 이유를 가정)
Panther

기록을 위해 링크 한 사이트의 아무 곳이나 클릭하면 맬웨어 / 애드웨어로 리디렉션됩니다.
Antonio Cangiano

@AntonioCangiano-링크가 제대로 작동하면 브라우저와 DNS를 확인하십시오
Panther

@ bodhi.zazen Antonio가 올바르게 지적한대로 링크 된 기사를 클릭하면 악성 웹 사이트로 리디렉션됩니다. 그런 기사에서 보안 조언을받는 것을 꺼려합니다.
Goran Miskovic

4

몇 년 동안 다른 컴퓨터에서 fail2ban 및 ufw를 사용해 왔으며 아무런 문제가 없었습니다. fail2ban을 설정하려면 다음을 수행하십시오.

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

예를 들어 무단 ssh를 차단하려는 경우 파일을 원하는대로 편집하십시오.

[ssh]
enabled  = true
port     = ssh
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 6

"enabled"가 "false"로 설정된 경우 여기에 설명 된대로 "true"로 변경하십시오. 규칙을 설정 한 후 fail2ban 프로세스를 다시 시작해야합니다.

sudo /etc/init.d/fail2ban restart

ufw 방화벽에서 포트 22를 열면 fail2ban이 성공하지 않고 6 회 이상 연결을 시도하는 클라이언트를 차단하더라도 방화벽을 차단하지는 않습니다.


4

fail2ban 0.9.5를 설치 ufw하면 내가 간단하게 설정 해야하는 작업이 포함 되었습니다.banaction


2
기록을 위해, 행동은 버전 0.8.13에도 있습니다
Joril
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.