firewalld SSH закрытые порты все еще регистрируют неудачные попытки входа

firewalld SSH закрытые порты все еще регистрируют неудачные попытки входа

Настройка нового VPS с помощью almalinux.

Я настроил firewalld со следующими параметрами

  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: dhcpv6-client http https
  ports: 80/tcp 443/tcp 7822/tcp
  protocols:
  forward: no
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

Почему в /var/log/secure по-прежнему регистрируются неудачные попытки входа, хотя порты, к которым они подключаются, закрыты?

Apr 15 14:11:57 server sshd[46737]: Failed password for root from 148.113.133.177 port 43582 ssh2
Apr 15 14:11:57 server sshd[46737]: Received disconnect from 148.113.133.177 port 43582:11: Bye Bye [preauth]

Apr 15 14:12:15 server sshd[46743]: Invalid user chenyoumin from 27.254.149.199 port 60384
Apr 15 14:12:15 server sshd[46743]: pam_unix(sshd:auth): check pass; user unknown
Apr 15 14:12:15 server sshd[46743]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=27.254.149.199 

Когда я пытаюсь подключиться к серверу по ssh со случайным портом: ssh -p 50645 [email protected]

он возвращает: ssh: connect to host server.com port 50645: No route to host

И в /var/log/secure ничего не регистрируется.


Обновлять

Я отключил firewalld и включил nftables. Я загрузил следующий набор правил

table inet firewall {
        chain inbound_ipv4 {
        }

        chain inbound_ipv6 {
                icmpv6 type { nd-router-advert, nd-neighbor-solicit, nd-neighbor-advert } accept
        }

        chain inbound {
                type filter hook input priority filter; policy drop;
                ct state vmap { invalid : drop, established : accept, related : accept }
                iifname "lo" accept
                meta protocol vmap { ip : jump inbound_ipv4, ip6 : jump inbound_ipv6 }
                tcp dport { 80, 443, 7822 } accept
        }

        chain forward {
                type filter hook forward priority filter; policy drop;
        }
}
table inet f2b-table {
        set addr-set-sshd {
                type ipv4_addr
                elements = { 45.89.110.110 }
        }

        chain f2b-chain {
                type filter hook input priority filter - 1; policy accept;
                meta l4proto { tcp } ip saddr @addr-set-sshd reject
        }
}

Теперь, похоже, все работает нормально. Любая попытка подключиться по ssh к порту, отличному от 7822, просто зависает, и в журналах нет никаких записей.

Но я все еще вижу попытки брутфорса от ботов в журналах. Как они это делают и как мне это остановить? Они каким-то образом открывают эти соединения до применения правил? Как мне сбросить эти соединения без перезапуска VPS?

Apr 16 14:30:39 server sshd[61577]: pam_unix(sshd:auth): check pass; user unknown
Apr 16 14:30:39 server sshd[61577]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=103.39.133.250
Apr 16 14:30:41 server sshd[61577]: Failed password for invalid user user from 103.39.133.250 port 48096 ssh2
Apr 16 14:30:46 server sshd[61580]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=43.156.239.10  user=root
Apr 16 14:30:49 server sshd[61580]: Failed password for root from 43.156.239.10 port 40702 ssh2
Apr 16 14:30:58 server sshd[61583]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=165.22.96.129  user=root
Apr 16 14:31:00 server sshd[61583]: Failed password for root from 165.22.96.129 port 49100 ssh2
Apr 16 14:31:14 server sshd[61586]: Invalid user user from 43.156.82.82 port 36394
Apr 16 14:31:14 server sshd[61586]: pam_unix(sshd:auth): check pass; user unknown
Apr 16 14:31:14 server sshd[61586]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=43.156.82.82
Apr 16 14:31:16 server sshd[61586]: Failed password for invalid user user from 43.156.82.82 port 36394 ssh2
Apr 16 14:31:18 server sshd[61589]: Invalid user ubuntu from 213.190.4.134 port 36238
Apr 16 14:31:18 server sshd[61589]: pam_unix(sshd:auth): check pass; user unknown
Apr 16 14:31:18 server sshd[61589]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=213.190.4.134
Apr 16 14:31:20 server sshd[61589]: Failed password for invalid user ubuntu from 213.190.4.134 port 36238 ssh2

решение1

Я не вижу применения вашей политики firewalld в выводе iptables-save.

Изменение вашего INPUT имеет политику по умолчанию принятия. И оно переходит только в цепочку f2b-SSH, которая, как я подозреваю, управляется fail2ban и банит множество исходных хостов (которые, как я подозреваю, бьют по вашему серверу sshd).

Если адрес не был забанен fail2ban, он в конце концов будет принят, и именно поэтому вы видите сообщения в журналах.

Вы запустили firewalld? Он запустился правильно?

Кстати, какой это AlmaLinux? 8 все еще на iptables, 9 на nftables AFAIR. Если это AlmaLinux 9, предоставьте nft list rulesetвывод.

Связанный контент