Eu tenho um roteador ASUS RT-N56U com firmware personalizado padavan 3.0.3.7-079.
/home/root # cat /proc/version
Linux version 3.0.101 (padavan@hms) (gcc version 4.4.7 (GCC) ) #4 Thu Feb 13 22:57:46 KRAT 2014
Eu tenho telnet-in e estou adicionando regras de firewall com o comando iptables. Principalmente isso funciona bem, no entanto, quando tento adicionar uma regra de correspondência de string como esta:
/home/root # iptables -A FORWARD -p udp --dport 53 -m string --algo bm --string "yahoo.com" -j DROP
iptables: No chain/target/match by that name.
Recebo um erro "iptables: nenhuma cadeia / destino / correspondência com esse nome". No entanto, quando eu digito isso:
/home/root # iptables -A FORWARD -p udp --dport 53 -m string --string "yahoo.com" -j DROP
iptables v1.4.16.3: string: option "--algo" must be specified
Eu recebo um erro dizendo que devo especificar a opção --algo para a extensão de string (então a extensão de string deve estar funcionando / instalada como eu esperava?) E se eu despir para apenas
iptables -A FORWARD -m string --algo bm --string "yahoo.com"
iptables: No chain/target/match by that name.
Qual eu acho que ainda deve ser válido (mesmo que não tenha um alvo?) Eu ainda recebo um erro ...
Como teste, tentei apenas:
iptables -A FORWARD
O que é adicionado bem, embora a regra não faça nada.
Aqui está a minha tabela de filtros atual:
/home/root # iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-N UPNP
-N bfplimit
-N doslimit
-N logaccept
-N logdrop
-N maclist
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i br0 -j ACCEPT
-A INPUT -m state --state INVALID -j DROP
-A INPUT -d 224.0.0.0/4 -p igmp -j ACCEPT
-A INPUT -d 224.0.0.0/4 -p udp -m udp ! --dport 1900 -j ACCEPT
-A INPUT -i eth3 -m state --state NEW -j doslimit
-A INPUT -p udp -m udp --sport 67 --dport 68 -j ACCEPT
-A INPUT -p icmp -m icmp ! --icmp-type 8 -j ACCEPT
-A INPUT -j DROP
-A FORWARD -i br0 -o br0 -j ACCEPT
-A FORWARD -m state --state INVALID -j DROP
-A FORWARD -p tcp -m webstr--url ad.lgappstv.com -j REJECT --reject-with tcp-reset
-A FORWARD -p tcp -m webstr--url ibis.lgappstv.com -j REJECT --reject-with tcp-reset
-A FORWARD -p tcp -m webstr--url smartclip.com -j REJECT --reject-with tcp-reset
-A FORWARD -p tcp -m webstr--url smartclip.net -j REJECT --reject-with tcp-reset
-A FORWARD -p tcp -m webstr--url ad.lgsmartad.com -j REJECT --reject-with tcp-reset
-A FORWARD -p tcp -m webstr--url ibs.lgappstv.com -j REJECT --reject-with tcp-reset
-A FORWARD -p tcp -m webstr--url info.lgsmartad.com -j REJECT --reject-with tcp-reset
-A FORWARD -p tcp -m webstr--url lgtvsdp.com -j REJECT --reject-with tcp-reset
-A FORWARD -p tcp -m webstr--url yumenetworks.com -j REJECT --reject-with tcp-reset
-A FORWARD -p tcp -m webstr--url snu.lge.com -j REJECT --reject-with tcp-reset
-A FORWARD -p tcp -m webstr--url lgtvonline.lge.com -j REJECT --reject-with tcp-reset
-A FORWARD -p tcp -m webstr--url su.lge.com -j REJECT --reject-with tcp-reset
-A FORWARD -p tcp -m webstr--url cjpowercast.com.edgesuite.net -j REJECT --reject-with tcp-reset
-A FORWARD -p tcp -m webstr--url rdvs.alljoyn.org -j REJECT --reject-with tcp-reset
-A FORWARD -p tcp -m webstr--url ngfts.lge.com -j REJECT --reject-with tcp-reset
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -d 224.0.0.0/4 -p udp -j ACCEPT
-A FORWARD -i eth3 -m state --state NEW -j doslimit
-A FORWARD -d 192.168.0.10/32 -i br0 -p tcp -m tcp --sport 1:65535 --dport 1:65535 -j DROP
-A FORWARD -s 192.168.0.11/32 -i br0 -p tcp -m tcp --sport 1:65535 --dport 1:65535 -j DROP
-A FORWARD -d 192.168.0.11/32 -i br0 -p tcp -m tcp --sport 1:65535 --dport 1:65535 -j DROP
-A FORWARD -s 192.168.0.10/32 -i br0 -p udp -m udp --sport 1:65535 --dport 1:65535 -j DROP
-A FORWARD -d 192.168.0.10/32 -i br0 -p udp -m udp --sport 1:65535 --dport 1:65535 -j DROP
-A FORWARD -s 192.168.0.11/32 -i br0 -p udp -m udp --sport 1:65535 --dport 1:65535 -j DROP
-A FORWARD -d 192.168.0.11/32 -i br0 -p udp -m udp --sport 1:65535 --dport 1:65535 -j DROP
-A FORWARD -s 192.168.0.10/32 -i br0 -p tcp -m tcp --sport 1:65535 --dport 1:65535 -j DROP
-A FORWARD -i br0 -j ACCEPT
-A FORWARD -d 192.168.0.101/32 -p tcp -m tcp --dport 12052 -j ACCEPT
-A FORWARD -d 192.168.0.101/32 -p tcp -m tcp --dport 9921:9923 -j ACCEPT
-A FORWARD -d 192.168.0.101/32 -p tcp -m tcp --dport 8732:8733 -j ACCEPT
-A FORWARD -d 192.168.0.101/32 -p tcp -m tcp --dport 443:444 -j ACCEPT
-A FORWARD -d 192.168.0.101/32 -p udp -m udp --dport 443:444 -j ACCEPT
-A FORWARD -d 192.168.0.101/32 -p tcp -m tcp --dport 13452 -j ACCEPT
-A FORWARD -d 192.168.0.101/32 -p tcp -m tcp --dport 8333 -j ACCEPT
-A FORWARD -d 192.168.0.101/32 -p udp -m udp --dport 8333 -j ACCEPT
-A FORWARD -d 192.168.0.101/32 -p tcp -m tcp --dport 18080 -j ACCEPT
-A FORWARD -j UPNP
-A FORWARD -o br0 -j DROP
-A bfplimit -j ACCEPT
-A doslimit -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 20/sec --limit-burst 30 -j RETURN
-A doslimit -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j DROP
-A doslimit -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -m limit --limit 1/sec -j RETURN
-A doslimit -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -j DROP
-A doslimit -p icmp -m icmp --icmp-type 8 -m limit --limit 2/sec -j RETURN
-A doslimit -p icmp -m icmp --icmp-type 8 -j DROP
-A logaccept -m state --state NEW -j LOG --log-prefix "ACCEPT " --log-tcp-sequence --log-tcp-options --log-ip-options
-A logaccept -j ACCEPT
-A logdrop -m state --state NEW -j LOG --log-prefix "DROP " --log-tcp-sequence --log-tcp-options --log-ip-options
-A logdrop -j DROP
Aqui está a saída de ajuda para a extensão de string
/home/root # iptables -m string --help
iptables v1.4.16.3
...
string match options:
--from Offset to start searching from
--to Offset to stop searching
--algo Algorithm
--icase Ignore case (default: 0)
[!] --string string Match a string in a packet
[!] --hex-string string Match a hex string in a packet
Alguém tem alguma ideia de por que o filtro -m string
está me dando um erro?
Tags iptables