iptables lista negra vazia User-Agent sip tcpdump

1

Eu escaneio usando o tcpdump para user agents que acessam meu servidor de telefone.

Eu obtenho resultados interessantes. Eu os adiciono a uma lista que protege muitos dos meus servidores.

Isso funciona bem. O problema é que eu recebo user agents em branco ou vazio. Como faço para bloquear isso?

aqui está minha varredura do tcpdump e resultados com agentes de usuário em branco

tcpdump -i eth0 port sip -l -A | egrep -i 'User-Agent'
Fri May 18 09:37:50 EDT 2018
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on venet0, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
User-Agent: friendly-scanner
User-Agent: UK Dialer
User-Agent: UK Dialer
User-Agent: friendly-scanner
User-Agent: friendly-scanner
User-Agent: friendly-scanner
User-Agent: friendly-scanner
User-Agent: friendly-scanner
User-Agent: friendly-scanner
User-Agent: Asterisk PBX 1.6.5
User-Agent: friendly-scanner
User-Agent: friendly-scanner
User-Agent: friendly-scanner
User-Agent:
User-Agent:
User-Agent:
User-Agent:
User-Agent: friendly-scanner
User-Agent: friendly-scanner

Aqui está o que eu uso para bloquear

iptables INPUT -p udp -m udp --dport 5060 -m string --string "friendly-scanner" --algo bm --to 65535 -j DROP
    
por user2630659 18.05.2018 / 16:12

1 resposta

0

Você pode usar uma correspondência mais longa, incluir delimitadores de registros e usar hexadecimal para não imprimível. Sua regra pode se tornar:

iptables -A INPUT -p udp -m udp --dport 5060 -m string --icase --hex-string '|a|User-Agent: |0d0a|' --algo bm --to 65535 -j DROP

que será impresso de volta (usando iptables-save ) como:

iptables -A INPUT -p udp -m udp --dport 5060 -m string --icase --hex-string '|0a557365722d4167656e743a200d0a|' --algo bm --to 65535 -j DROP

Agora, você deve estar ciente da sintaxe do espaço em branco no formato de campo de cabeçalho do SIP . Como não há correspondência de regex disponível, há possibilidades quase infinitas (mesmo que apenas uma seja incentivada), portanto, você deve verificar regularmente o seu "spam" com o Wireshark em vez do tcpdump para ter o conteúdo exato. Aqui está uma Amostra de chamada SIP capturada de Captura de amostras do Wireshark .

Cabeçalhos também são insensíveis a maiúsculas e minúsculas, mas por ter testado, --icase funciona com o conteúdo de --hex-string , portanto, também corresponderia a USER-AGENT: .

    
por 19.05.2018 / 01:32