fall2ban SSH 감옥 변경 작업 REJECT to DROP

fall2ban SSH 감옥 변경 작업 REJECT to DROP

을 사용하려고합니다 fail2ban.

감옥의 구성은 다음과 같습니다 /etc/fail2ban/jail.conf.

[sshd]

# To use more aggressive sshd modes set filter parameter "mode" in jail.local:
# normal (default), ddos, extra or aggressive (combines all).
# See "tests/files/logs/sshd" or "filter.d/sshd.conf" for usage example and details.
#mode   = normal
enabled = true
port    = ssh
maxretry = 3
logpath = %(sshd_log)s
backend = %(sshd_backend)s
banaction = iptables-multiport[name=sshd, port=ssh, protocol=tcp]

내 서버에서 3번의 SSH 로그인 시도 실패를 시도하면 내 IP(익명)가 블랙리스트에 등록된 것을 볼 수 있습니다.

fail2ban-client status sshd
    Status for the jail: sshd
    |- Filter
    |  |- Currently failed: 0
    |  |- Total failed:     3
    |  `- File list:        /var/log/auth.log
    `- Actions
       |- Currently banned: 1
       |- Total banned:     1
       `- Banned IP list:   X.X.X.X

iptables구성된 규칙은 다음과 같습니다 fail2ban.

iptables -S
    -P INPUT ACCEPT
    -P FORWARD ACCEPT
    -P OUTPUT ACCEPT
    -N f2b-sshd
    -A INPUT -p tcp -m multiport --dports 22 -j f2b-sshd
    -A f2b-sshd -s X.X.X.X/32 -j REJECT --reject-with icmp-port-unreachable
    -A f2b-sshd -j RETURN

다시 로그인을 시도하면 다음 메시지가 나타납니다.ssh: connect to host <hostname_anonymised> port 22: Connection refused

icmp port unreachable그런데 문제는 위와 같은 메시지를 받고 싶지 않다는 것입니다 . 이는 보안 문제입니다.

나는 (icmp REJECT를 사용하는 대신) Fail2ban이 자동으로 DROP되기를 원합니다. 내가 원하는 것을 지정하기 위해 감옥의 구성을 변경하려고 시도했지만 대신 banactionJail2ban을 알려주는 올바른 매개변수를 찾을 수 없습니다 .DROP silentlyREJECT with icmp

어떻게 구성하나요 fail2ban?

답변1

모든 iptables작업이 가능합니다blocktype 범위, 재정의될 수 있습니다:

  • 지구 내 action.d/iptables.conf:
[Definition]
blocktype = DROP

(최신 Fail2ban 버전의 기본 업스트림 구성과 마찬가지로 이전 및 유지 관리 릴리스에는 금지로 사용하는 작업에 대한 포함 내용이 다를 수 있습니다)

  • 또는 jail.local기본 또는 감옥 섹션에서:
[DEFAULT]
banaction = iptables-multiport[blocktype=DROP]
banaction_allports = iptables-allports[blocktype=DROP]

그 후에는 Fail2ban을 다시 시작하는 것을 잊지 마십시오.

또한 참고하시기 바랍니다https://github.com/fail2ban/fail2ban/issues/2217#issuecomment-423248516REJECT 및 DROP에 대한 추가 정보.

답변2

ICMP 메시지 거부(REJECT)를 사용하는 대신 자동 차단(DROP)을 수행하도록 fall2ban을 구성하려면 다음 단계를 수행할 수 있습니다.

/etc/fail2ban/jail.local텍스트 편집기에서 파일을 엽니다.

원하는 차단 작업을 지정하려면 [sshd] 섹션에서 다음 줄을 추가하거나 수정하세요.

banaction = iptables-multiport[name=sshd, port=ssh, protocol=tcp, action=drop]

이 구성은 fail2banSSH 연결을 차단할 때 기본 거부 작업 대신 삭제 작업이 사용됨을 나타냅니다.

jail.local 파일에 변경 사항을 저장합니다.

새 구성을 적용하려면 pass2ban 서비스를 다시 시작하세요.

sudo service fail2ban restart

이 구성을 사용하면 fall2ban은 SSH 감옥에서 IP 주소를 차단할 때 ICMP 메시지 거부 작업 대신 삭제 작업을 사용합니다.

이는 ICMP 거부 메시지를 보내지 않고 자동 차단을 제공합니다.

관련 정보