nftables unterstützt String-Matching-Unterstützung

nftables unterstützt String-Matching-Unterstützung

Iptables kann Pakete per Zeichenfolge abgleichen.

Beispiel für DNS:

iptables -A INPUT -i eth0 -p udp --dport 53 -m string --hex-string "|09|proxypipe|03|net" --algo bm -j DROP

Wie führt man ein solches Matching in Nftables durch?

Antwort1

Mit nftables können Sie die Raw Payload Expression-Syntax verwenden (dokumentiertHier), um ein Paket basierend auf dem Inhalt eines Bitblocks abzugleichen.

Eine Regel zum Blockieren von Abfragen würde also proxypipe.netfolgendermaßen aussehen:

meta l4proto udp udp dport 53 @th,160,120 0x0970726f787970697065036e657400 counter drop comment "block queries for proxypipe.net"

Das obige würde 120 Bit an Daten erfassen, beginnend mit Bit 160 des Transportheaders ( @th), und sie mit dem Hex-Äquivalent von vergleichen|09|proxypipe|03|net

Beachten Sie, dass im Gegensatz zur iptables-Version das Obige nur proxypipe.netan einer festen Position im Paket übereinstimmt. Dies bedeutet, dass es keine foobar.proxypipe.netanderen Unterdomänen blockiert.

verwandte Informationen