Назад | Перейти на главную страницу

UFW регистрирует блокировку на разрешенном порту

Мой нынешний ufw status как следует. UFW настроен на отказ по умолчанию.

[ 1] SSH                        ALLOW IN    10.1.0.0/16               
[ 2] DNS                        ALLOW IN    10.1.0.0/16               
[ 3] DNS                        ALLOW IN    192.168.0.0/16            
[ 4] 1900,3478,10001/udp        ALLOW IN    10.1.0.0/16                # UniFi UDP ports
[ 5] 6789,8080,8443,8843,8880,27117/tcp ALLOW IN    10.1.0.0/16                # UniFi TCP ports
[ 6] 5353/udp                   ALLOW IN    10.1.0.0/16                # Multicast DNS aka Bonjour

Таким образом, все входящие TCP-пакеты на порт 8080 из блока 10.1.0.0/16 должны быть разрешены, но в моем ufw.log я вижу постоянные повторения следующего:

Mar 10 18:28:48 pi-hole kernel: [97820.380848] [UFW BLOCK] IN=eth0 OUT= MAC=b8:27:eb:ef:23:6a:b4:fb:e4:28:d2:48:08:00:45:00:00:34:52:72:40:00:40:06:d1:51 SRC=10.1.1.1 DST=10.1.1.254 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=21106 DF PROTO=TCP SPT=36656 DPT=8080 WINDOW=245 RES=0x00 ACK FIN URGP=0 
Mar 10 18:29:10 pi-hole kernel: [97841.880829] [UFW BLOCK] IN=eth0 OUT= MAC=b8:27:eb:ef:23:6a:b4:fb:e4:28:d2:48:08:00:45:00:00:34:55:42:40:00:40:06:ce:81 SRC=10.1.1.1 DST=10.1.1.254 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=21826 DF PROTO=TCP SPT=36657 DPT=8080 WINDOW=245 RES=0x00 ACK FIN URGP=0 
Mar 10 18:29:31 pi-hole kernel: [97863.530929] [UFW BLOCK] IN=eth0 OUT= MAC=b8:27:eb:ef:23:6a:b4:fb:e4:28:d2:48:08:00:45:00:00:34:87:7d:40:00:40:06:9c:46 SRC=10.1.1.1 DST=10.1.1.254 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=34685 DF PROTO=TCP SPT=36658 DPT=8080 WINDOW=245 RES=0x00 ACK FIN URGP=0 

подразумевая, что он блокирует входящие TCP-пакеты от 10.1.1.1, идущие на порт 8080.

Я пробовал бежать ufw reload но безрезультатно. Я также попытался разрешить 8080 с любого IP-адреса, та же проблема.

Я даже полностью удалил UFW, используя apt purge ufw и переустановил и перестроил мои правила, но по-прежнему возникает та же проблема.

Любые идеи?

Согласно https://askubuntu.com/questions/803276/ufw-block-syslog-tcp-ip-is-blocked-and-this-is-allowed-in-ufw-gps-tracking-t выше, проблема заключается в том, что разные поставщики по-разному закрывают соединения. Это приводит к тому, что UFW получает несколько пакетов на порт 8080 о соединениях, которые, по мнению источника, все еще были открыты, но этот UFW, хотя и был закрыт. Чтобы обойти это, мы сначала удалим правило разрешения порта 8080 в ufw, используя sudo ufw delete <rule number of 8080 rule>

Затем мы говорим UFW принимать все 8080 пакетов независимо от того, действительны они или нет. Мы делаем это, редактируя /etc/ufw/before.rules для ipv4 и /etc/ufw/before6.rules для ipv6. Незадолго до раздела 'drop INVALID packets'.

# quickly process packets for which we already have a connection
-A ufw-before-input -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A ufw-before-output -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A ufw-before-forward -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

#Accept everything from tcp 8080 
#Stops ufw.log filling with 8080 notices despite port 8080 being 'allowed'
-A ufw-before-input -p tcp --dport 8080 -j ACCEPT


# drop INVALID packets (logs these in loglevel medium and higher)
-A ufw-before-input -m conntrack --ctstate INVALID -j ufw-logging-deny
-A ufw-before-input -m conntrack --ctstate INVALID -j DROP

Это хорошая идея - напомнить себе об этом правиле, потому что оно не появится, когда вы запустите ufw status. У меня есть правило, которое открывает некоторые другие порты для той же службы (контроллер unifi), поэтому я добавил примечание, используя

ufw allow from x.x.x.x to any proto tcp port 8443,27117 comment 'UniFi ports. Also see manual rule for 8080 in /etc/ufw/before.rules'

ufw status показывает комментарий:

8443,27117/tcp  ALLOW  10.1.0.0/16  # UniFi ports. Also see manual rule for 8080 in /etc/ufw/before.rules

Я не использую ipv6 в своем экземпляре, поэтому я не могу его протестировать, но вы должны отредактировать before6.rules и добавить туда соответствующее правило.