O meu servidor (linux) tem algumas regras bastante simples do iptables.
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -m tcp -p tcp --dport ssh -j ACCEPT
iptables -A INPUT -m tcp -p tcp --dport https -j ACCEPT
iptables -A INPUT -j LOG
iptables -A INPUT -j NFLOG
iptables -A INPUT -j DROP
O ICMP não está filtrado, mas nenhuma outra conexão não permitida é permitida.
A regra NFLOG apenas armazena pacotes em uma fula de captura de pacotes (pcap).
Como o syslog ficou bastante spam, eu examinei os detalhes dos pacotes.
tshark -V -a filesize:1 -r /scooby/doo.pcap
(IPs e portas [replaced]
)
Frame 1: 52 bytes on wire (416 bits), 52 bytes captured (416 bits)
Encapsulation type: Raw IP (7)
[Protocols in frame: raw:ip:gre:ip:udp:data]
Internet Protocol Version 4, Src: [incoming IP] ([incoming IP]), Dst: [my server IP] ([my server IP])
Version: 4
Header length: 20 bytes
Total Length: 52
Identification: 0x0000 (0)
Flags: 0x02 (Don't Fragment)
Time to live: 52
Protocol: GRE (47)
Generic Routing Encapsulation (IP)
Flags and Version: 0x0000
Protocol Type: IP (0x0800)
Internet Protocol Version 4, Src: [not my IP1] ([not my IP1]), Dst: [not my IP2] ([not my IP2])
Version: 4
Header length: 20 bytes
Total Length: 28
Time to live: 64
Protocol: UDP (17)
User Datagram Protocol, Src Port: [random port1] ([random port1]), Dst Port: [random port2] ([random port2])
Length: 8
Os pacotes não solicitados são principalmente pacotes ip: gre: ip: udp.
O volume de pacotes GRE - geralmente múltiplos por minuto - supera em muito outros pacotes não solicitados (scanners de vulnerabilidade / spammers / scanners de porta).
Nenhum dos IPs dentro do encapsulamento GRE tem algum significado especial para mim, apenas vários IPs regulares pertencentes a (exclusivamente) empresas baseadas nos EUA (portanto, endereços não totalmente aleatórios).
Por que alguém enviaria esses pacotes GRE?
Existem vulnerabilidades DoS conhecidas relacionadas aos pacotes GRE?
Isso é uma tentativa de enganar roteadores / servidores misonfigurados para encaminhar os pacotes encapsulados ao seu destino aparente?
O remetente tenta coletar informações sobre a natureza dos possíveis túneis GRE que eu possa ter configurado?
Bônus: A reação mais razoável é realmente "-j DROP"? -los?