Iptables: string de filtragem criptografada por ssl

1

Eu preciso filtrar (enviar para o conjunto de BANRULES) pacotes HTTP / https de entrada com uma certa string (matchword). Eu faço fácil quando o SSL não está em uso (porta 80):

iptables -A INPUT -p tcp -m tcp --dport 80 -m string --string "matchword" --algo bm --to 65535 -j BANRULES

Mas isso não funciona (por causa da criptografia de pacotes) quando o SSL está em uso (porta 443):

iptables -A INPUT -p tcp -m tcp --dport 443 -m string --string "matchword" --algo bm --to 65535 -j BANRULES

Como posso fazer isso? Obrigado.

    
por Carlinhos 15.12.2014 / 23:41

2 respostas

2

@DanFarrell está parcialmente correto na medida em que você precisa da chave secreta para descriptografá-la - no entanto, se você tiver a chave secreta (ou seja, você possui o servidor que está sendo banido - o que está implícito quando você diz que os pacotes estão sendo recebidos) pode ser descriptografado - mas provavelmente não pelo iptables.

Você pode ser capaz de configurar um proxy reverso (ou dependendo da sua rede até descarregar o manuseio do SSL para o seu firewall baseado no iptables) - pode ser necessário executar algo como o Squid (ou um servidor web com mod_proxy ou equivalente). Aqui é um exemplo de como fazer isso com o squid.

    
por 16.12.2014 / 00:09
1

Não pode ser feito. Você não pode descriptografar apenas o tráfego HTTPS; você precisa da chave secreta para descriptografá-la. Esse é o ponto inteiro do HTTPS - a camada TLS protege contra a espionagem em pontos no caminho entre o servidor e o cliente.

    
por 15.12.2014 / 23:46