Рейтинг:2

UFW ограничивает скорость соединений без каких-либо ограничений.

флаг ca

У меня есть сервер, на котором размещаются службы отдыха через HTTPS. У меня настроен UFW, как показано ниже:

user@server:~$ sudo ufw подробный статус

Статус: активен
Ведение журнала: включено (среднее)
По умолчанию: запрещать (входящие), разрешать (исходящие), отключенные (маршрутизируемые)
Новые профили: пропустить

К действию от
-- ------ ----
22/tcp РАЗРЕШИТЬ ВХОД ВСЕГДА                  
80/tcp РАЗРЕШИТЬ ВХОД В любом месте                  
443/tcp РАЗРЕШИТЬ ВХОД В любом месте                  
22/tcp (v6) РАЗРЕШИТЬ ВХОД ВСЕГДА (v6)             
80/tcp (v6) РАЗРЕШИТЬ ВХОД ВСЕГДА (v6)             
443/tcp (v6) РАЗРЕШИТЬ ВХОД ВСЕГДА (v6)

Так что все должно быть разрешено для HTTPS. Однако время от времени, когда клиент выполняет несколько быстрых последовательных подключений, UFW блокирует их.

пользователь@сервер:~$ cat /var/log/ufw.log | grep БЛОК | хвост

29 ноября 15:02:11 ядро ​​сервера: [ 2695.510376] [UFW BLOCK] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=40 TOS=0x00 PREC =0x00 TTL=53 ID=60467 DF PROTO=TCP SPT=32123 DPT=443 WINDOW=0 RES=0x00 RST URGP=0 
29 ноября 15:02:11 ядро ​​сервера: [ 2695.538273] [UFW BLOCK] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=40 TOS=0x00 PREC =0x00 TTL=53 ID=60469 DF PROTO=TCP SPT=32126 DPT=443 WINDOW=0 RES=0x00 RST URGP=0 
29 ноября 15:02:11 ядро ​​сервера: [ 2695.545677] [UFW BLOCK] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=40 TOS=0x00 PREC =0x00 TTL=53 ID=60471 DF PROTO=TCP SPT=32124 DPT=443 WINDOW=0 RES=0x00 RST URGP=0 
29 ноября 15:02:11 ядро ​​сервера: [ 2695.546473] [UFW BLOCK] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=40 TOS=0x00 PREC =0x00 TTL=53 ID=60473 DF PROTO=TCP SPT=32125 DPT=443 WINDOW=0 RES=0x00 RST URGP=0 
29 ноября 15:02:11 ядро ​​сервера: [ 2695.546900] [UFW BLOCK] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=40 TOS=0x00 PREC =0x00 TTL=53 ID=60475 DF PROTO=TCP SPT=32127 DPT=443 WINDOW=0 RES=0x00 RST URGP=0 
29 ноября 15:02:11 ядро ​​сервера: [ 2695.782249] [UFW BLOCK] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=83 TOS=0x00 PREC =0x00 TTL=121 ID=27041 DF PROTO=TCP SPT=32123 DPT=443 WINDOW=378 RES=0x00 ACK PSH FIN URGP=0 
29 ноября 15:02:25 ядро ​​сервера: [ 2709.850336] [UFW BLOCK] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=83 TOS=0x00 PREC =0x00 TTL=121 ID=59805 DF PROTO=TCP SPT=32126 DPT=443 WINDOW=378 RES=0x00 ACK PSH FIN URGP=0 
29 ноября 15:02:43 ядро ​​сервера: [ 2727.821278] [UFW BLOCK] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=83 TOS=0x00 PREC =0x00 TTL=53 ID=48661 DF PROTO=TCP SPT=32131 DPT=443 WINDOW=398 RES=0x00 ACK PSH URGP=0

Это происходит только тогда, когда есть такой всплеск трафика:

xx.xx.xx.xx - - [29/ноября/2021:15:01:42 +0000] "POST /MyAPI/doWork/ HTTP/1.1" 200 4903 "-" "okhttp/3.14.9"
xx.xx.xx.xx - - [29/ноября/2021:15:01:42 +0000] "POST /MyAPI/doWork/ HTTP/1.1" 200 5182 "-" "okhttp/3.14.9"
xx.xx.xx.xx - - [29/ноября/2021:15:01:42 +0000] "POST /MyAPI/doWork/ HTTP/1.1" 200 4903 "-" "okhttp/3.14.9"
xx.xx.xx.xx - - [29/ноября/2021:15:01:42 +0000] "POST /MyAPI/doWork/ HTTP/1.1" 200 4903 "-" "okhttp/3.14.9"
xx.xx.xx.xx - - [29/ноября/2021:15:01:42 +0000] "POST /MyAPI/doWork/ HTTP/1.1" 200 5182 "-" "okhttp/3.14.9"
xx.xx.xx.xx - - [29/ноября/2021:15:02:11 +0000] "POST /MyAPI/doWork/ HTTP/1.1" 200 4903 "-" "okhttp/3.14.9"
xx.xx.xx.xx - - [29/ноября/2021:15:02:11 +0000] "POST /MyAPI/doWork/ HTTP/1.1" 200 4903 "-" "okhttp/3.14.9"
xx.xx.xx.xx - - [29/ноября/2021:15:02:11 +0000] "POST /MyAPI/doWork/ HTTP/1.1" 200 4903 "-" "okhttp/3.14.9"
xx.xx.xx.xx - - [29/ноября/2021:15:02:11 +0000] "POST /MyAPI/doWork/ HTTP/1.1" 200 4903 "-" "okhttp/3.14.9"
xx.xx.xx.xx - - [29/ноября/2021:15:02:11 +0000] "POST /MyAPI/doWork/ HTTP/1.1" 200 4903 "-" "okhttp/3.14.9"
xx.xx.xx.xx - - [29/ноября/2021:15:02:44 +0000] "POST /MyAPI/doWork/ HTTP/1.1" 200 4903 "-" "okhttp/3.14.9"
xx.xx.xx.xx - - [29/ноября/2021:15:02:44 +0000] "POST /MyAPI/doWork/ HTTP/1.1" 200 4903 "-" "okhttp/3.14.9"
xx.xx.xx.xx - - [29/ноября/2021:15:02:44 +0000] "POST /MyAPI/doWork/ HTTP/1.1" 200 4903 "-" "okhttp/3.14.9"
xx.xx.xx.xx - - [29/ноября/2021:15:02:44 +0000] "POST /MyAPI/doWork/ HTTP/1.1" 200 4903 "-" "okhttp/3.14.9"
xx.xx.xx.xx - - [29/ноября/2021:15:02:45 +0000] "POST /MyAPI/doWork/ HTTP/1.1" 200 374 "-" "okhttp/3.14.9"
xx.xx.xx.xx - - [29/ноября/2021:15:02:42 +0000] "POST /MyAPI/doWork/ HTTP/1.1" 200 4972 "-" "okhttp/3.14.9"
xx.xx.xx.xx - - [29/ноября/2021:15:02:47 +0000] "POST /MyAPI/doWork/ HTTP/1.1" 200 374 "-" "okhttp/3.14.9"
xx.xx.xx.xx - - [29/ноября/2021:15:02:47 +0000] "POST /MyAPI/doWork/ HTTP/1.1" 200 374 "-" "okhttp/3.14.9"
xx.xx.xx.xx - - [29/ноября/2021:15:02:47 +0000] "POST /MyAPI/doWork/ HTTP/1.1" 200 374 "-" "okhttp/3.14.9"
xx.xx.xx.xx - - [29/ноября/2021:15:02:47 +0000] "POST /MyAPI/doWork/ HTTP/1.1" 200 374 "-" "okhttp/3.14.9"
xx.xx.xx.xx - - [29/ноября/2021:15:02:47 +0000] "POST /MyAPI/doWork/ HTTP/1.1" 200 374 "-" "okhttp/3.14.9"
xx.xx.xx.xx - - [29/ноября/2021:15:02:48 +0000] "POST /MyAPI/doWork/ HTTP/1.1" 200 374 "-" "okhttp/3.14.9"
xx.xx.xx.xx - - [29/ноября/2021:15:02:48 +0000] "POST /MyAPI/doWork/ HTTP/1.1" 200 374 "-" "okhttp/3.14.9"
xx.xx.xx.xx - - [29/ноября/2021:15:02:48 +0000] "POST /MyAPI/doWork/ HTTP/1.1" 200 374 "-" "okhttp/3.14.9"
xx.xx.xx.xx - - [29/ноября/2021:15:02:48 +0000] "POST /MyAPI/doWork/ HTTP/1.1" 200 374 "-" "okhttp/3.14.9"
xx.xx.xx.xx - - [29/ноября/2021:15:05:45 +0000] "POST /MyAPI/doWork/ HTTP/1.1" 200 4903 "-" "okhttp/3.14.9"
xx.xx.xx.xx - - [29/ноября/2021:15:05:45 +0000] "POST /MyAPI/doWork/ HTTP/1.1" 200 4903 "-" "okhttp/3.14.9"
xx.xx.xx.xx - - [29/ноября/2021:15:05:45 +0000] "POST /MyAPI/doWork/ HTTP/1.1" 200 5182 "-" "okhttp/3.14.9"
xx.xx.xx.xx - - [29/ноября/2021:15:05:45 +0000] "POST /MyAPI/doWork/ HTTP/1.1" 200 4903 "-" "okhttp/3.14.9"
xx.xx.xx.xx - - [29/ноября/2021:15:05:45 +0000] "POST /MyAPI/doWork/ HTTP/1.1" 200 5182 "-" "okhttp/3.14.9"

Можно ли запретить UFW это делать?

Я не эксперт по iptables, но, кажется, в них есть некоторые правила с ограничениями. Я не уверен, что это вызывает проблему, но все они определенно поступают непосредственно из UFW. Вот результат iptables -v -n -x -L:

Цепочка INPUT (политика DROP 1 пакеты, 40 байт)
    pkts bytes target prot opt ​​in out source target         
  415392 733209937 ufw-before-loging-input все -- * * 0.0.0.0/0 0.0.0.0/0           
  415392 733209937 ufw-до ввода все -- * * 0.0.0.0/0 0.0.0.0/0           
   19847 35666218 ufw-после ввода все -- * * 0.0.0.0/0 0.0.0.0/0           
   19847 35666218 ufw-после-регистрации-ввод все -- * * 0.0.0.0/0 0.0.0.0/0           
   19847 35666218 ufw-reject-input все -- * * 0.0.0.0/0 0.0.0.0/0           
   19847 35666218 ufw-track-input все -- * * 0.0.0.0/0 0.0.0.0/0           

Цепочка FORWARD (политика DROP 0 пакетов, 0 байт)
    pkts bytes target prot opt ​​in out source target         
       0 0 ufw-before-loging-forward all -- * * 0.0.0.0/0 0.0.0.0/0           
       0 0 ufw-before-forward all -- * * 0.0.0.0/0 0.0.0.0/0           
       0 0 ufw-after-forward all -- * * 0.0.0.0/0 0.0.0.0/0           
       0 0 ufw-after-log-forward all -- * * 0.0.0.0/0 0.0.0.0/0           
       0 0 ufw-reject-forward all -- * * 0.0.0.0/0 0.0.0.0/0           
       0 0 ufw-track-forward all -- * * 0.0.0.0/0 0.0.0.0/0           

Цепочка OUTPUT (политика ACCEPT 4 пакета, 280 байт)
    pkts bytes target prot opt ​​in out source target         
  312279 36416414 ufw-before-loging-output all -- * * 0.0.0.0/0 0.0.0.0/0           
  312279 36416414 ufw-перед-выводом все -- * * 0.0.0.0/0 0.0.0.0/0           
   16031 1176867 ufw-после-вывода все -- * * 0.0.0.0/0 0.0.0.0/0           
   16031 1176867 ufw-after-log-output все -- * * 0.0.0.0/0 0.0.0.0/0           
   16031 1176867 ufw-reject-output all -- * * 0.0.0.0/0 0.0.0.0/0           
   16031 1176867 ufw-track-output все -- * * 0.0.0.0/0 0.0.0.0/0           

Цепочка ufw-after-forward (1 ссылка)
    pkts bytes target prot opt ​​in out source target         

Цепочка ufw-after-input (1 ссылка)
    pkts bytes target prot opt ​​in out source target         
       0 0 ufw-skip-to-policy-input udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:137
       0 0 ufw-skip-to-policy-input udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:138
       0 0 ufw-skip-to-policy-input TCP -- * * 0.0.0.0/0 0.0.0.0/0 TCP dpt:139
       0 0 ufw-skip-to-policy-input TCP -- * * 0.0.0.0/0 0.0.0.0/0 TCP dpt:445
       0 0 ufw-skip-to-policy-input udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:67
       0 0 ufw-skip-to-policy-input udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:68
       0 0 ufw-skip-to-policy-input all -- * * 0.0.0.0/0 0.0.0.0/0 ADDRTYPE соответствует dst-type BROADCAST

Цепочка ufw-after-log-forward (1 ссылка)
    pkts bytes target prot opt ​​in out source target         
       0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 ограничение: в среднем 3 пакета в минуту 10 флагов LOG 0 префикс уровня 4 "[UFW BLOCK]"

Цепочка ufw-after-log-input (1 ссылка)
    pkts bytes target prot opt ​​in out source target         
       1 40 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 предел: в среднем 3/мин пакет 10 флаги LOG 0 уровень 4 префикс "[UFW BLOCK]"

Цепочка ufw-after-log-output (1 ссылка)
    pkts bytes target prot opt ​​in out source target         
      82 6813 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 предел: в среднем 3/мин пакет 10 флагов LOG 0 префикс уровня 4 "[UFW ALLOW]"

Цепочка ufw-after-output (1 ссылка)
    pkts bytes target prot opt ​​in out source target         

Цепочка ufw-before-forward (1 ссылка)
    pkts bytes target prot opt ​​in out source target         
       0 0 ПРИНЯТЬ все -- * * 0.0.0.0/0 0.0.0.0/0 ctstate СВЯЗАННО,УСТАНОВЛЕНО
       0 0 ПРИНЯТЬ icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 3
       0 0 ПРИНЯТЬ icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 11
       0 0 ПРИНЯТЬ icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 12
       0 0 ПРИНЯТЬ icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 8
       0 0 ufw-user-forward all -- * * 0.0.0.0/0 0.0.0.0/0           

Цепочка ufw-before-input (1 ссылка)
    pkts bytes target prot opt ​​in out source target         
    2452 204587 ПРИНЯТЬ все -- вот * 0.0.0.0/0 0.0.0.0/0           
  205497 387613737 ПРИНЯТЬ все -- * * 0.0.0.0/0 0.0.0.0/0 ctstate СВЯЗАННО, УСТАНОВЛЕНО
     113 6588 ufw-logging-deny all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate INVALID
     113 6588 УДАЛИТЬ все -- * * 0.0.0.0/0 0.0.0.0/0 ctstate INVALID
       0 0 ПРИНЯТЬ icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 3
       0 0 ПРИНЯТЬ icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 11
       0 0 ПРИНЯТЬ icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 12
       0 0 ПРИНЯТЬ icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 8
       0 0 ПРИНЯТЬ udp -- * * 0.0.0.0/0 0.0.0.0/0 udp spt:67 dpt:68
     926 66054 ufw-not-local все -- * * 0.0.0.0/0 0.0.0.0/0           
       0 0 ПРИНЯТЬ udp -- * * 0.0.0.0/0 224.0.0.251 udp dpt:5353
       0 0 ПРИНЯТЬ udp -- * * 0.0.0.0/0 239.255.255.250 udp dpt:1900
     925 64664 ufw-пользовательский ввод все -- * * 0.0.0.0/0 0.0.0.0/0           

Цепочка ufw-before-log-forward (1 ссылка)
    pkts bytes target prot opt ​​in out source target         
       0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate НОВОЕ ограничение: в среднем 3/мин пакет 10 флагов LOG 0 префикс уровня 4 "[UFW AUDIT]"

Цепочка ufw-before-log-input (1 ссылка)
    pkts bytes target prot opt ​​in out source target         
      82 10488 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate НОВОЕ ограничение: в среднем 3/мин пакет 10 флагов LOG 0 префикс уровня 4 "[UFW AUDIT]"

Цепочка ufw-before-log-output (1 ссылка)
    pkts bytes target prot opt ​​in out source target         
      82 5743 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate НОВОЕ ограничение: в среднем 3/мин пакет 10 флагов LOG 0 префикс уровня 4 "[UFW AUDIT]"

Цепочка ufw-before-output (1 ссылка)
    pkts bytes target prot opt ​​in out source target         
    2452 204587 ПРИНЯТЬ все -- * lo 0.0.0.0/0 0.0.0.0/0           
  155111 15748513 ПРИНЯТЬ все -- * * 0.0.0.0/0 0.0.0.0/0 ctstate СВЯЗАННО, УСТАНОВЛЕНО
     229 16406 ufw-user-output all -- * * 0.0.0.0/0 0.0.0.0/0           

Цепочка ufw-log-allow (0 ссылок)
    pkts bytes target prot opt ​​in out source target         
       0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 предел: в среднем 3/мин пакет 10 флагов LOG 0 префикс уровня 4 "[UFW ALLOW]"

Цепочка ufw-log-deny (2 упоминания)
    pkts bytes target prot opt ​​in out source target         
      45 2384 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate НЕВЕРНЫЙ предел: в среднем 3/мин пакет 10 LOG flags 0 префикс уровня 4 "[UFW AUDIT INVALID]"
      45 2384 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 предел: в среднем 3/мин пакет 10 флагов LOG 0 уровень 4 префикс "[UFW BLOCK]"

Сеть ufw-not-local (1 ссылка)
    pkts bytes target prot opt ​​in out source target         
     926 66054 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0 ADDRTYPE соответствует dst-type LOCAL
       0 0 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0 ADDRTYPE соответствует dst-типу MULTICAST
       0 0 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0 ADDRTYPE соответствует dst-типу BROADCAST
       0 0 ufw-logging-deny all -- * * 0.0.0.0/0 0.0.0.0/0 предел: в среднем 3/мин пакет 10
       0 0 УДАЛИТЬ все -- * * 0.0.0.0/0 0.0.0.0/0           

Цепочка ufw-reject-forward (1 ссылка)
    pkts bytes target prot opt ​​in out source target         

Цепочка ufw-reject-input (1 ссылка)
    pkts bytes target prot opt ​​in out source target         

Цепочка ufw-reject-output (1 ссылка)
    pkts bytes target prot opt ​​in out source target         

Цепочка ufw-skip-to-policy-forward (0 ссылок)
    pkts bytes target prot opt ​​in out source target         
       0 0 УДАЛИТЬ все -- * * 0.0.0.0/0 0.0.0.0/0           

Цепочка ufw-skip-to-policy-input (7 ссылок)
    pkts bytes target prot opt ​​in out source target         
       0 0 УДАЛИТЬ все -- * * 0.0.0.0/0 0.0.0.0/0           

Цепочка ufw-skip-to-policy-output (0 ссылок)
    pkts bytes target prot opt ​​in out source target         
       0 0 ПРИНЯТЬ все -- * * 0.0.0.0/0 0.0.0.0/0           

Цепочка ufw-track-forward (1 ссылка)
    pkts bytes target prot opt ​​in out source target         

Цепочка ufw-track-input (1 ссылка)
    pkts bytes target prot opt ​​in out source target         

Цепочка ufw-track-output (1 ссылка)
    pkts bytes target prot opt ​​in out source target         
     188 12756 ПРИНЯТЬ TCP -- * * 0.0.0.0/0 0.0.0.0/0 ctstate NEW
      37 3370 ПРИНЯТЬ udp -- * * 0.0.0.0/0 0.0.0.0/0 ctstate NEW

Цепочка ufw-user-forward (1 ссылка)
    pkts bytes target prot opt ​​in out source target         

Цепочка ufw-user-input (1 ссылка)
    pkts bytes target prot opt ​​in out source target         
       2 108 ПРИНЯТЬ tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
       1 52 ПРИНЯТЬ TCP -- * * 0.0.0.0/0 0.0.0.0/0 TCP dpt:80
     921 64464 ПРИНЯТЬ TCP -- * * 0.0.0.0/0 0.0.0.0/0 TCP dpt:443

Цепочка ufw-user-limit (0 ссылок)
    pkts bytes target prot opt ​​in out source target         
       0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 3/min пакет 5 LOG flags 0 Префикс уровня 4 "[UFW LIMIT BLOCK]"
       0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 отклонить-с icmp-порт-недоступен

Цепочка ufw-user-limit-accept (0 ссылок)
    pkts bytes target prot opt ​​in out source target         
       0 0 ПРИНЯТЬ все -- * * 0.0.0.0/0 0.0.0.0/0           

Цепочка ufw-user-loging-forward (0 ссылок)
    pkts bytes target prot opt ​​in out source target         

Цепочка ufw-user-loging-input (0 ссылок)
    pkts bytes target prot opt ​​in out source target         

Цепочка ufw-user-log-output (0 ссылок)
    pkts bytes target prot opt ​​in out source target         

Цепочка ufw-user-output (1 ссылка)
    pkts bytes target prot opt ​​in out source target         

Редактировать:

Добавлен полный журнал для определенного IP-адреса, который был заблокирован, чтобы включить строки AUDIT.

кот ufw.log | grep КЛИЕНТ.IP

29 ноября 16:00:14 ядро ​​сервера: [ 6178.504254] [UFW AUDIT INVALID] IN=ens4 OUT= MAC=xx:xx:xx:...SRC=CLIENT.IP DST=SERVER.IP LEN=52 TOS=0x00 PREC=0x00 TTL=121 ID=27580 DF PROTO=TCP SPT=64750 DPT=443 WINDOW=1539 RES=0x00 ACK FIN URGP=0 
29 ноября 16:00:14 ядро ​​сервера: [ 6178.504263] [UFW BLOCK] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=52 TOS=0x00 PREC =0x00 TTL=121 ID=27580 DF PROTO=TCP SPT=64750 DPT=443 WINDOW=1539 RES=0x00 ACK FIN URGP=0 
29 ноября 16:00:15 ядро ​​сервера: [ 6178.733987] [UFW AUDIT INVALID] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=40 TOS=0x00 PREC=0x00 TTL=53 ID=13970 DF PROTO=TCP SPT=64753 DPT=443 WINDOW=0 RES=0x00 RST URGP=0 
29 ноября 16:00:15 ядро ​​сервера: [ 6178.734039] [UFW BLOCK] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=40 TOS=0x00 PREC =0x00 TTL=53 ID=13970 DF PROTO=TCP SPT=64753 DPT=443 WINDOW=0 RES=0x00 RST URGP=0 
29 ноября 16:00:15 ядро ​​сервера: [ 6178.742917] [UFW AUDIT INVALID] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=40 TOS=0x00 PREC=0x00 TTL=53 ID=13974 DF PROTO=TCP SPT=64754 DPT=443 WINDOW=0 RES=0x00 RST URGP=0 
29 ноября 16:00:15 ядро ​​сервера: [ 6178.742943] [UFW BLOCK] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=40 TOS=0x00 PREC =0x00 TTL=53 ID=13974 DF PROTO=TCP SPT=64754 DPT=443 WINDOW=0 RES=0x00 RST URGP=0 
29 ноября 16:00:15 ядро ​​сервера: [ 6178.893083] [UFW AUDIT INVALID] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=75 TOS=0x00 PREC=0x00 TTL=121 ID=27581 DF PROTO=TCP SPT=64750 DPT=443 WINDOW=1539 RES=0x00 ACK PSH FIN URGP=0 
29 ноября 16:00:15 ядро ​​сервера: [ 6178.893115] [UFW BLOCK] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=75 TOS=0x00 PREC =0x00 TTL=121 ID=27581 DF PROTO=TCP SPT=64750 DPT=443 WINDOW=1539 RES=0x00 ACK PSH FIN URGP=0 
29 ноября 16:00:15 ядро ​​сервера: [ 6178.915281] [UFW AUDIT INVALID] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=75 TOS=0x00 PREC=0x00 TTL=121 ID=27199 DF PROTO=TCP SPT=64752 DPT=443 WINDOW=360 RES=0x00 ACK PSH FIN URGP=0 
29 ноября 16:00:15 ядро ​​сервера: [ 6178.915314] [UFW BLOCK] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=75 TOS=0x00 PREC =0x00 TTL=121 ID=27199 DF PROTO=TCP SPT=64752 DPT=443 WINDOW=360 RES=0x00 ACK PSH FIN URGP=0 
29 ноября 16:00:15 ядро ​​сервера: [ 6178.947972] [UFW AUDIT INVALID] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=75 TOS=0x00 PREC=0x00 TTL=121 ID=41365 DF PROTO=TCP SPT=64753 DPT=443 WINDOW=1003 RES=0x00 ACK PSH FIN URGP=0 
29 ноября 16:00:15 ядро ​​сервера: [ 6178.948004] [UFW BLOCK] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=75 TOS=0x00 PREC =0x00 TTL=121 ID=41365 DF PROTO=TCP SPT=64753 DPT=443 WINDOW=1003 RES=0x00 ACK PSH FIN URGP=0 
29 ноября 16:00:15 ядро ​​сервера: [ 6178.951350] [UFW AUDIT INVALID] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=75 TOS=0x00 PREC=0x00 TTL=121 ID=17364 DF PROTO=TCP SPT=64754 DPT=443 WINDOW=401 RES=0x00 ACK PSH FIN URGP=0 
29 ноября 16:00:15 ядро ​​сервера: [ 6178.951379] [UFW BLOCK] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=75 TOS=0x00 PREC =0x00 TTL=121 ID=17364 DF PROTO=TCP SPT=64754 DPT=443 WINDOW=401 RES=0x00 ACK PSH FIN URGP=0 
29 ноября 16:00:16 ядро ​​сервера: [ 6179.679941] [UFW AUDIT INVALID] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=75 TOS=0x00 PREC=0x00 TTL=121 ID=27582 DF PROTO=TCP SPT=64750 DPT=443 WINDOW=1539 RES=0x00 ACK PSH FIN URGP=0 
29 ноября 16:00:16 ядро ​​сервера: [ 6179.679968] [UFW BLOCK] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=75 TOS=0x00 PREC =0x00 TTL=121 ID=27582 DF PROTO=TCP SPT=64750 DPT=443 WINDOW=1539 RES=0x00 ACK PSH FIN URGP=0 
29 ноября 16:00:20 ядро ​​сервера: [ 6184.407553] [UFW AUDIT INVALID] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=75 TOS=0x00 PREC=0x00 TTL=121 ID=27584 DF PROTO=TCP SPT=64750 DPT=443 WINDOW=1539 RES=0x00 ACK PSH FIN URGP=0 
29 ноября 16:00:20 ядро ​​сервера: [ 6184.407579] [UFW BLOCK] IN=ens4 OUT= MAC=xx:xx:xx:...SRC=CLIENT.IP DST=SERVER.IP LEN=75 TOS=0x00 PREC=0x00 TTL=121 ID=27584 DF PROTO=TCP SPT=64750 DPT=443 WINDOW=1539 RES=0x00 ACK PSH FIN URGP=0 
29 ноября 16:00:53 ядро ​​сервера: [ 6217.594359] [UFW AUDIT INVALID] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=40 TOS=0x00 PREC=0x00 TTL=53 ID=15646 DF PROTO=TCP SPT=64762 DPT=443 WINDOW=0 RES=0x00 RST URGP=0 
29 ноября 16:00:53 ядро ​​сервера: [ 6217.594397] [UFW BLOCK] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=40 TOS=0x00 PREC =0x00 TTL=53 ID=15646 DF PROTO=TCP SPT=64762 DPT=443 WINDOW=0 RES=0x00 RST URGP=0 
29 ноября 16:01:00 ядро ​​сервера: [ 6224.389153] [UFW AUDIT INVALID] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=75 TOS=0x00 PREC=0x00 TTL=121 ID=40585 DF PROTO=TCP SPT=64762 DPT=443 WINDOW=345 RES=0x00 ACK PSH FIN URGP=0 
29 ноября 16:01:00 ядро ​​сервера: [ 6224.389187] [UFW BLOCK] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=75 TOS=0x00 PREC =0x00 TTL=121 ID=40585 DF PROTO=TCP SPT=64762 DPT=443 WINDOW=345 RES=0x00 ACK PSH FIN URGP=0 
29 ноября 16:01:23 ядро ​​сервера: [ 6247.359229] [UFW AUDIT INVALID] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=40 TOS=0x00 PREC=0x00 TTL=53 ID=21101 DF PROTO=TCP SPT=64771 DPT=443 WINDOW=0 RES=0x00 RST URGP=0 
29 ноября 16:01:23 ядро ​​сервера: [ 6247.359287] [UFW BLOCK] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=40 TOS=0x00 PREC =0x00 TTL=53 ID=21101 DF PROTO=TCP SPT=64771 DPT=443 WINDOW=0 RES=0x00 RST URGP=0 
29 ноября 16:01:42 ядро ​​сервера: [ 6266.470287] [UFW AUDIT INVALID] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=52 TOS=0x00 PREC=0x00 TTL=52 ID=1563 DF PROTO=TCP SPT=64772 DPT=443 WINDOW=352 RES=0x00 ACK FIN URGP=0 
29 ноября 16:01:42 ядро ​​сервера: [ 6266.470328] [UFW BLOCK] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=52 TOS=0x00 PREC =0x00 TTL=52 ID=1563 DF PROTO=TCP SPT=64772 DPT=443 WINDOW=352 RES=0x00 ACK FIN URGP=0 
29 ноября 16:02:02 ядро ​​сервера: [ 6285.692541] [UFW AUDIT INVALID] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=52 TOS=0x00 PREC=0x00 TTL=52 ID=1564 DF PROTO=TCP SPT=64772 DPT=443 WINDOW=352 RES=0x00 ACK FIN URGP=0 
29 ноября 16:02:02 ядро ​​сервера: [ 6285.692584] [UFW BLOCK] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=52 TOS=0x00 PREC =0x00 TTL=52 ID=1564 DF PROTO=TCP SPT=64772 DPT=443 WINDOW=352 RES=0x00 ACK FIN URGP=0 
29 ноября 16:09:45 ядро ​​сервера: [ 6749.404864] [UFW AUDIT] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=60 TOS=0x00 PREC =0x00 TTL=52 ID=58119 DF PROTO=TCP SPT=64788 DPT=443 WINDOW=65535 RES=0x00 SYN URGP=0 
Doug Smythies avatar
флаг gn
Для каждой из ваших записей `BLOCK` найдите в файле соответствующую запись `UFW AUDIT INVALID`. За исключением последнего, все они связаны с завершением сеанса, что часто происходит с Linux, потому что он использует полудуплексное рукопожатие, а не полнодуплексное рукопожатие. Я говорю, что проблемы может и не быть. Обратите внимание, что правила UFW трудно соблюдать, и он использует один и тот же префикс журнала в нескольких местах, что очень раздражает.
Doug Smythies avatar
флаг gn
см. [здесь] (https://askubuntu.com/questions/1187993/ufw-occasionally-blocking-https-443-tcp-although-configured-to-allow-that-port/1188016#1188016). У меня нет хорошего объяснения для последнего примера BLOCK, и мне нужно было бы увидеть его в контексте захвата tcpdump всего сеанса.
флаг ca
Привет @DougSmythies, спасибо! Я также добавил строки `UFW AUDIT INVALID`. Какая правильная команда/флаги для получения правильного tcpdump? Я полагаю, мне просто нужно запустить захват на некоторое время, пока не произойдет блокировка, верно?
флаг ca
Таким образом, на стороне клиента, когда происходит блокировка, кажется, что что-то сбрасывается, т.е. соединение с приложением не работает. Если я отключу UFW, этого не произойдет.
Doug Smythies avatar
флаг gn
ХОРОШО. так что ваш пример, `cat ufw.log | grep CLIENT.IP` вроде нормально, как я уже говорил. Последняя запись «UFW AUDIT» тоже выглядит нормально. Мне придется вернуться с предложением tcpdump.
Doug Smythies avatar
флаг gn
Я действительно не понимаю, что может быть не так с вашим набором правил iptables, сгенерированным UFW.Я не знаю, поможет ли это, но для tcpdump я могу придумать два варианта: по порту, `sudo tcpdump -n -tttt -i ens4 порт 443` и извлечь по IP позже с помощью grep; По IP-адресу `sudo tcpdump -n -tttt -i ens4 host CLIENT.IP` и при необходимости извлеките только содержимое порта 443 позже.
флаг ca
Спасибо! Я запущу это завтра утром, когда все клиенты снова подключатся. Посмотрю и отчитаюсь. Большое спасибо за Вашу помощь!
Рейтинг:0
флаг gn

Если мы возьмем опубликованный вывод для кот ufw.log | grep КЛИЕНТ.IP и перегруппировать некоторые из них в отдельные сеансы, основываясь на номере клиентского порта, который мы получаем:

29 ноября 16:00:15 ядро ​​сервера: [ 6178.733987] [UFW AUDIT INVALID] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=40 TOS=0x00 PREC=0x00 TTL=53 ID=13970 DF PROTO=TCP SPT=64753 DPT=443 WINDOW=0 RES=0x00 RST URGP=0 
29 ноября 16:00:15 ядро ​​сервера: [ 6178.734039] [UFW BLOCK] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=40 TOS=0x00 PREC =0x00 TTL=53 ID=13970 DF PROTO=TCP SPT=64753 DPT=443 WINDOW=0 RES=0x00 RST URGP=0 
29 ноября 16:00:15 ядро ​​сервера: [ 6178.947972] [UFW AUDIT INVALID] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=75 TOS=0x00 PREC=0x00 TTL=121 ID=41365 DF PROTO=TCP SPT=64753 DPT=443 WINDOW=1003 RES=0x00 ACK PSH FIN URGP=0 
29 ноября 16:00:15 ядро ​​сервера: [ 6178.948004] [UFW BLOCK] IN=ens4 OUT= MAC=xx:xx:xx:...SRC=CLIENT.IP DST=SERVER.IP LEN=75 TOS=0x00 PREC=0x00 TTL=121 ID=41365 DF PROTO=TCP SPT=64753 DPT=443 WINDOW=1003 RES=0x00 ACK PSH FIN URGP=0 

29 ноября 16:00:15 ядро ​​сервера: [ 6178.742917] [UFW AUDIT INVALID] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=40 TOS=0x00 PREC=0x00 TTL=53 ID=13974 DF PROTO=TCP SPT=64754 DPT=443 WINDOW=0 RES=0x00 RST URGP=0 
29 ноября 16:00:15 ядро ​​сервера: [ 6178.742943] [UFW BLOCK] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=40 TOS=0x00 PREC =0x00 TTL=53 ID=13974 DF PROTO=TCP SPT=64754 DPT=443 WINDOW=0 RES=0x00 RST URGP=0 
29 ноября 16:00:15 ядро ​​сервера: [ 6178.951350] [UFW AUDIT INVALID] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=75 TOS=0x00 PREC=0x00 TTL=121 ID=17364 DF PROTO=TCP SPT=64754 DPT=443 WINDOW=401 RES=0x00 ACK PSH FIN URGP=0 
29 ноября 16:00:15 ядро ​​сервера: [ 6178.951379] [UFW BLOCK] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=75 TOS=0x00 PREC =0x00 TTL=121 ID=17364 DF PROTO=TCP SPT=64754 DPT=443 WINDOW=401 RES=0x00 ACK PSH FIN URGP=0 
29 ноября 16:00:15 ядро ​​сервера: [ 6178.915281] [UFW AUDIT INVALID] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=75 TOS=0x00 PREC=0x00 TTL=121 ID=27199 DF PROTO=TCP SPT=64752 DPT=443 WINDOW=360 RES=0x00 ACK PSH FIN URGP=0 
29 ноября 16:00:15 ядро ​​сервера: [ 6178.915314] [UFW BLOCK] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=75 TOS=0x00 PREC =0x00 TTL=121 ID=27199 DF PROTO=TCP SPT=64752 DPT=443 WINDOW=360 RES=0x00 ACK PSH FIN URGP=0

29 ноября 16:00:53 ядро ​​сервера: [ 6217.594359] [UFW AUDIT INVALID] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=40 TOS=0x00 PREC=0x00 TTL=53 ID=15646 DF PROTO=TCP SPT=64762 DPT=443 WINDOW=0 RES=0x00 RST URGP=0 
29 ноября 16:00:53 ядро ​​сервера: [ 6217.594397] [UFW BLOCK] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=40 TOS=0x00 PREC =0x00 TTL=53 ID=15646 DF PROTO=TCP SPT=64762 DPT=443 WINDOW=0 RES=0x00 RST URGP=0 
29 ноября 16:01:00 ядро ​​сервера: [ 6224.389153] [UFW AUDIT INVALID] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=75 TOS=0x00 PREC=0x00 TTL=121 ID=40585 DF PROTO=TCP SPT=64762 DPT=443 WINDOW=345 RES=0x00 ACK PSH FIN URGP=0 
29 ноября 16:01:00 ядро ​​сервера: [ 6224.389187] [UFW BLOCK] IN=ens4 OUT= MAC=xx:xx:xx:... SRC=CLIENT.IP DST=SERVER.IP LEN=75 TOS=0x00 PREC =0x00 TTL=121 ID=40585 DF PROTO=TCP SPT=64762 DPT=443 WINDOW=345 RES=0x00 ACK PSH FIN URGP=0 
 

Теперь обратите внимание на некоторые несоответствия в последовательности некоторых пакетов ACK FIN, идущих после пакетов RST и всегда с совершенно другим TTL (время жизни). Все эти пакеты приходят после того, как TCP-сессия уже закрыта и о ней забыли.

я ничего не знаю о хорошоhttp, но если совместное использование сокетов каким-то образом используется, могут возникнуть проблемы с синхронизацией при закрытии сокета.

Смотрите также другой ответ здесь, но я скопирую соответствующую часть, немного переформулировав:

Для TCP-соединений Linux обычно использует «полудуплексную» последовательность закрытия, когда любая сторона сеанса может инициировать завершение соединения с помощью одного двустороннего рукопожатия FIN-ACK (которое переводит соединение в состояние CLOSE_WAIT) вместо полного 4-стороннее рукопожатие FIN-ACK. Что очень часто происходит, особенно с маршрутизатором между ними, так это то, что одна сторона думает, что сеанс закрыт, а другая нет. Ваш серверный компьютер завершил сеанс и забыл о сеансе, поэтому считает пакеты недопустимыми пакетами открытия нового сеанса и блокирует их. Обычно никакого вреда не было, фактическая сессия работала нормально. Что необычно в этом случае, так это то, что пакет RST (сброс) предшествует некоторым пакетам FIN-ACK.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.