방화벽을 사용하는 Fail2ban

방화벽을 사용하는 Fail2ban

localhost에서 ssh를 차단하도록 fall2ban을 구성하려고 합니다. Fail2ban은 방화벽이 있는 CentOS 7(Linux 3.10.0-229.4.2.el7.x86_64 x86_64)에 설치됩니다. Jail.conf를jail.local에 복사했고,jail.local에서 다음 매개변수를 변경했습니다.

banaction = firewallcmd-new
[sshd]
enabled = true
maxretry = 5
port = ssh
logpath = /var/log/secure
action = firewallcmd-ipset

결과가 없습니다. 어떤 아이디어가 있나요?

일부 로그 정보:

2ban.filter         [2489]: INFO    Added logfile = /var/log/secure
2015-06-23 07:21:33,439 fail2ban.filter         [2489]: INFO    Set maxRetry = 3
2015-06-23 07:21:33,440 fail2ban.filter         [2489]: INFO    Set jail log file encoding to UTF-8
2015-06-23 07:21:33,441 fail2ban.actions        [2489]: INFO    Set banTime = 86400
2015-06-23 07:21:33,442 fail2ban.filter         [2489]: INFO    Set findtime = 600
2015-06-23 07:21:33,442 fail2ban.filter         [2489]: INFO    Set maxlines = 10
2015-06-23 07:21:33,501 fail2ban.server         [2489]: INFO    Jail sshd is not a JournalFilter instance
2015-06-23 07:21:33,599 fail2ban.jail           [2489]: INFO    Jail 'sshd' started

SELinux는 비활성화됩니다.

action.d/firewallcmd-ipset.conf 파일

[INCLUDES]

before = iptables-common.conf

[Definition]

actionstart = ipset create fail2ban-<name> hash:ip timeout <bantime>
              firewall-cmd --direct --add-rule ipv4 filter <chain> 0 -p <protocol> -m multiport --dports <port> -m set --match-set fail2ban-<name> src -j <blocktype>

actionstop = firewall-cmd --direct --remove-rule ipv4 filter <chain> 0 -p <protocol> -m multiport --dports <port> -m set --match-set fail2ban-<name> src -j <blocktype>
             ipset flush fail2ban-<name>
             ipset destroy fail2ban-<name>

actionban = ipset add fail2ban-<name> <ip> timeout <bantime> -exist

actionunban = ipset del fail2ban-<name> <ip> -exist

[Init]

# Option:  chain
# Notes    specifies the iptables chain to which the fail2ban rules should be
#          added
# Values:  [ STRING ]
#
chain = INPUT_direct

# Option: bantime
# Notes:  specifies the bantime in seconds (handled internally rather than by fail2ban)
# Values:  [ NUM ]  Default: 600

bantime = 600


# DEV NOTES:
#
# Author: Edgar Hoch and Daniel Black
# firewallcmd-new / iptables-ipset-proto6 combined for maximium goodness

답변1

무슨 일이 일어나고 있는지 이해할 만큼 정보가 충분하지 않기 때문에 여기서 추측하고 있습니다. 하지만 나는 다음과 같은 것을 시도할 것입니다:

fail2ban-regex --print-all-missed /var/log/secure /etc/fail2ban/filter.d/sshd.conf

무언가를 찾았는지, 어떤 줄이 누락되었는지 확인하세요. 나는 /var/log/secure가 sshd가 실패한 로그인을 인쇄하는 곳이라고 가정합니다. 내 데비안 기반 시스템에서는 /var/log/auth.log입니다.

나는 또한 감옥에서 금지 시간과 찾기 시간을 가졌습니다.

bantime  = 86400
findtime = 86400

살펴봐야 할 시간 창을 알려주지 않았기 때문에 아무것도 얻지 못했을 수도 있습니다.

관련 정보