IPTABLES com condições AND

1

Eu preciso aplicar uma regra iptables usando a opção --string . Preciso corresponder em --hex ou ascii 2 strings que nunca estão localizadas na mesma área.

Cada amostra eu tentei DROP apenas uma das minhas duas strings, então eu tenho falso positivo. Preciso DROPAR as 2 STRINGS, mas quando tenho apenas 1 string ou outra, não quero DROP.

Assim, a regra que estou procurando é uma regra AND em torno de iptables .

Então, eu tentei:

iptables -I INPUT -j DROP -m string --string "TEST1" --algo bm -m string --string "TEST2" --algo bm

Não está funcionando, parece que tenho duas regras diferentes, por isso está bloqueando TEST1 ou TEST2, mas não TEST1 E TEST2: então False Positive

iptables -N my_chain
iptables -A my_chain -j DROP
iptables -A my_chain -j QUEUE ! -f -m string --string "TEST2" --algo bm
iptables -A INPUT -j my_chain ! -f -m string --string "TEST1" --algo bm

Não está funcionando, parece que tenho duas regras diferentes, por isso está bloqueando TEST1 ou TEST2, mas não TEST1 E TEST2: então False Positive

Algum conselho sobre como realizar isso?

    
por doc 03.05.2013 / 15:38

1 resposta

1

Já pensou em saltar para outra tabela definida pelo público?

por exemplo,

iptables -A INPUT -p udp -m string --string "TEST1" --algo bm -j secondarystring

iptables -N secondarystring
iptables -A secondarystring -m string --string "TEST2" --algo bm -j DROP

Nesta situação, apenas os pacotes que correspondem à primeira condição devem saltar para a tabela "secondarystring". Em seguida, os pacotes que correspondem à segunda condição (AND) devem ser descartados.

    
por 03.05.2013 / 15:46

Tags