sexta-feira, 17 de abril de 2015

Como bloquear skype usando apenas iptables

O procedimento funcionou 100% na data de hoje. Obviamente não sabemos como será o comportamento no futuro. A dica é criar um shellscript ou incorporar o código sugerido no seu script já existente.

1°) Criar um lista com IPs do skype. Esta lista eu montei com base em diversos tutoriais na internet, juntando o máximo de IPs possíveis. Obviamente esta lista deverá ser atualizada futuramente, o que torna a solução em questão como não ideal na minha opinião, mas por hora está resolvendo. Aceito sugestões de como resolver de outras formas mais eficientes.

IPs:
64.4.23.0/24
65.55.223.0/24
64.4.23.0/24
157.55.56.0/24
111.221.77.0/24
65.55.223.0/24
207.46.39.0/24
134.179.24.0/24
207.46.47.0/24
111.221.74.0/24
111.221.77.0/24
157.55.130.0/24
157.55.235.0/24
157.55.56.0/24
157.56.52.0/24
194.165.188.0/24
195.46.253.0/24
213.199.179.0/24
63.245.217.0/24
64.4.23.0/24
65.55.223.0/24
13.146.167.0/24
92.41.255.0/24
92.41.254.0/24
91.190.218.0/24
91.190.218.0/23
91.190.216.0/24
91.190.216.0/23
82.101.61.0/24
213.146.189.0/24
213.146.188.0/24
213.146.167.0/24

2°) Fazer um FOR, bloqueando cada um destes IPs. É necessário regra de bloqueio apenas no FORWARD, pois estamos tratando repasses entre máquinas. Nada de INPUT ou OUTPUT:
TEIMA=192.168.100.0/24
SKYPE=$(cat skype.txt)
for I in $SKYPE; do
        iptables -I FORWARD -s $TEIMA -d $I -j DROP
done

3°) Incluir uma regra que bloqueie a busca por texto "skype", o que será útil caso o "teimoso" tente buscar outros IPs do skype.
iptables -I FORWARD -s $TEIMA -m string --algo bm --string "skype" -j DROP