Liberar o WhatsApp - Texto, imagem, áudio, vídeo e ligações [iptables]
Dica publicada em Linux / Introdução
Liberar o WhatsApp - Texto, imagem, áudio, vídeo e ligações [iptables]
Nesta dica será abordado como efetuar a liberação do WhatsApp em um firewall que a política padrão seja DROP.
Vale ressaltar que estarão liberados o envio de texto, imagens, vídeos, áudios e ligações.
Desta forma surge a necessidade da liberação do mesmo em ambientes em que a política padrão do iptables seja DROP.
Nesta dica serão apresentados os passos a serem seguidos para que o recurso seja disponibilizado.
Apesar da liberação das portas citadas acima possibilitarem o envio e recebimento de mensagens de texto e ligações, o aplicativo continua não enviando/recebendo imagens e vídeos, desta forma será necessário efetuar a liberação dos IPs do WhatsApp (disponíveis no site do WhatsApp). Neste caso liberaremos os IPs somente para a porta 443, que se faz necessária.
O seguinte script pode ser criado e adicionado ao script do firewall:
Desta forma, efetuando as liberações apresentadas neste texto, será possível liberar o WhatsApp com sucesso em sua rede.
Vale ressaltar que o script de liberação dos IPs do WhatsApp deverá ser executado eventualmente, para que a lista de liberados seja atualizada.
Vale ressaltar que estarão liberados o envio de texto, imagens, vídeos, áudios e ligações.
Objetivo
Apesar de várias empresas optarem pelo bloqueio de determinados sites e aplicativos em sua rede interna, buscando um menor desperdício de tempo por parte de seus funcionários, algumas acabam utilizando ferramentas como o WhatsApp possibilitando um contato direto com funcionários, clientes e/ou fornecedores.Desta forma surge a necessidade da liberação do mesmo em ambientes em que a política padrão do iptables seja DROP.
Nesta dica serão apresentados os passos a serem seguidos para que o recurso seja disponibilizado.
Liberações
As seguintes regras deverão ser adicionadas ao script do firewall:
iptables -A FORWARD -p udp --dport 3478 -j ACCEPT # WhatsApp
iptables -A FORWARD -p tcp --dport 5222 -j ACCEPT # WhatsApp
iptables -A FORWARD -p tcp --dport 5223 -j ACCEPT # WhatsApp
iptables -A FORWARD -p tcp --dport 5222 -j ACCEPT # WhatsApp
iptables -A FORWARD -p tcp --dport 5223 -j ACCEPT # WhatsApp
Apesar da liberação das portas citadas acima possibilitarem o envio e recebimento de mensagens de texto e ligações, o aplicativo continua não enviando/recebendo imagens e vídeos, desta forma será necessário efetuar a liberação dos IPs do WhatsApp (disponíveis no site do WhatsApp). Neste caso liberaremos os IPs somente para a porta 443, que se faz necessária.
O seguinte script pode ser criado e adicionado ao script do firewall:
#!/bin/bash
wget='/usr/bin/wget'
ipt='/sbin/iptables'
url='https://www.whatsapp.com/cidr.txt'
ipt_target='ACCEPT'
$ipt -N WHATSAPP
$ipt -A FORWARD -j WHATSAPP
$ipt -F WHATSAPP
$ipt -I WHATSAPP -j RETURN
for node in `$wget -q --no-check-certificate -O - $url | sort | uniq`; do $ipt -I WHATSAPP -d $node -p tcp --dport 443 -j $ipt_target
done
wget='/usr/bin/wget'
ipt='/sbin/iptables'
url='https://www.whatsapp.com/cidr.txt'
ipt_target='ACCEPT'
$ipt -N WHATSAPP
$ipt -A FORWARD -j WHATSAPP
$ipt -F WHATSAPP
$ipt -I WHATSAPP -j RETURN
for node in `$wget -q --no-check-certificate -O - $url | sort | uniq`; do $ipt -I WHATSAPP -d $node -p tcp --dport 443 -j $ipt_target
done
Conclusão
Abaixo é possível entender o motivo de cada liberação:- Forward porta 3478 UDP - Necessária para efetuar ligações
- Forward porta 5222 TCP - Necessária para conexão e envio/recebimento de texto
- Forward porta 5223 TCP - Necessária para conexão e envio/recebimento de texto
- IPs WhatsApp Porta 443 - Necessária para envio/recebimento de imagens/vídeos
Desta forma, efetuando as liberações apresentadas neste texto, será possível liberar o WhatsApp com sucesso em sua rede.
Vale ressaltar que o script de liberação dos IPs do WhatsApp deverá ser executado eventualmente, para que a lista de liberados seja atualizada.
Cara, show de bola este script, porém como eu insiro uma rede de origem nele?
Por exemplo, quero que apenas a rede 10.90.90.0/22 tenha este tipo de liberação.
Desde já agradeço!
Abraços!