Comecei a testar o firewall em um sistema Red Hat 8. Minha única pergunta aqui é como depurar os dados enigmáticos que não significam quase nada. Como faço para rastrear uma rejeição de volta à fonte do problema de por que uma solicitação foi rejeitada??
Criei o seguinte para gravá-los em um local de log diferente para rastreamento. Criei um novo arquivo chamado /etc/rsyslog.d/firewall-drop.conf e adicionei o seguinte ao arquivo
:msg,contains,"_DROP" /var/log/firewalld-drop.log
:msg,contains,"_REJECT" /var/log/firewalld-drop.log
& stop
Reinicie o serviço para que ele tenha efeito. Recebo informações neste arquivo de log como:
Sep 13 10:03:07 localhost kernel: FINAL_REJECT: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:00:11:11:b0:3a:6e:08:00 SRC=10.2.3.87 DST=10.2.255.255 LEN=229 TOS=0x00 PREC=0x00 TTL=128 ID=60776 PROTO=UDP SPT=138 DPT=138 LEN=209
Sep 13 10:03:22 localhost kernel: FINAL_REJECT: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:70:b5:e8:4b:04:dc:08:00 SRC=10.2.3.203 DST=10.2.255.255 LEN=72 TOS=0x00 PREC=0x00 TTL=128 ID=63130 PROTO=UDP SPT=57621 DPT=57621 LEN=52
Sep 13 10:03:25 localhost kernel: FINAL_REJECT: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:e0:2b:e9:1c:d4:be:08:00 SRC=10.2.3.68 DST=10.2.255.255 LEN=78 TOS=0x00 PREC=0x00 TTL=128 ID=48193 PROTO=UDP SPT=137 DPT=137 LEN=58
Sep 13 10:03:26 localhost kernel: FINAL_REJECT: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:e0:2b:e9:1c:d4:be:08:00 SRC=10.2.3.68 DST=10.2.255.255 LEN=78 TOS=0x00 PREC=0x00 TTL=128 ID=48194 PROTO=UDP SPT=137 DPT=137 LEN=58
Sep 13 10:03:26 localhost kernel: FINAL_REJECT: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:e0:2b:e9:1c:d4:be:08:00 SRC=10.2.3.68 DST=10.2.255.255 LEN=78 TOS=0x00 PREC=0x00 TTL=128 ID=48195 PROTO=UDP SPT=137 DPT=137 LEN=58
Sep 13 10:03:38 localhost kernel: FINAL_REJECT: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:e0:2b:e9:1c:d4:be:08:00 SRC=10.2.3.68 DST=10.2.255.255 LEN=78 TOS=0x00 PREC=0x00 TTL=128 ID=48196 PROTO=UDP SPT=137 DPT=137 LEN=58
Sep 13 10:03:38 localhost kernel: FINAL_REJECT: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:e0:2b:e9:1c:d4:be:08:00 SRC=10.2.3.68 DST=10.2.255.255 LEN=78 TOS=0x00 PREC=0x00 TTL=128 ID=48197 PROTO=UDP SPT=137 DPT=137 LEN=58
Sep 13 10:03:39 localhost kernel: FINAL_REJECT: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:e0:2b:e9:1c:d4:be:08:00 SRC=10.2.3.68 DST=10.2.255.255 LEN=78 TOS=0x00 PREC=0x00 TTL=128 ID=48198 PROTO=UDP SPT=137 DPT=137 LEN=58
Sep 13 10:03:48 localhost kernel: FINAL_REJECT: IN=eth0 OUT= MAC=01:00:5e:00:00:01:e0:55:3d:11:04:f0:08:00 SRC=0.0.0.0 DST=224.0.0.1 LEN=32 TOS=0x00 PREC=0xC0 TTL=1 ID=55985 PROTO=2
Sep 13 10:03:52 localhost kernel: FINAL_REJECT: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:70:b5:e8:4b:04:dc:08:00 SRC=10.2.3.203 DST=10.2.255.255 LEN=72 TOS=0x00 PREC=0x00 TTL=128 ID=63131 PROTO=UDP SPT=57621 DPT=57621 LEN=52
A realidade aqui é que esses dados não significam nada para mim e certamente não são intuitivos. Como podemos descobrir qual é a causa raiz de uma rejeição de firewall?? Depois de algumas pesquisas, não encontrei nada que indicasse como ler essa baboseira corretamente. Esta é a primeira vez que brinco com o firewall, então posso estar perdendo algo realmente básico aqui???
Não é tão enigmático assim se você tem um conhecimento mínimo de redes tcp/ip.
Ignore o "MAC", SRC é a máquina cujo pacote foi descartado; DST é o destinatário pretendido (provavelmente a máquina na qual você está conectado), as partes mais relevantes são PROTO e DPT, protocolo e porta de destino.
o que nos diz que uma máquina está tentando falar sobre o compartilhamento do Windows e você está descartando-o.
57621 não é uma porta padrão, mas uma busca no Google
udp port 57621
sugere que é algo tentando falar com o Spotify (o que pode ou não ser o caso).