Arquivo da tag: shorewall

Bloquear/liberar portas no firewall para ligações pelo WhatsApp

Portas a serem bloqueadas para que as ligações via whatsapp não funcionem dentro de sua rede:
UDP: 45395, 45395
TCP: 4244, 5222, 5223, 5228, 5242
UDP/TCP: 59234, 59234, 59234, 50318, 50318
A mesma logica se você quiser liberar as ligações, basta fazer a liberação destas portas.

Para liberar no shorewall use as seguintes regras (/etc/shorewall/rules):
#ligacao whatsapp
ACCEPT loc net udp 45395
ACCEPT loc net udp 3478
ACCEPT loc net tcp 4244
ACCEPT loc net tcp 5222
ACCEPT loc net tcp 5223
ACCEPT loc net tcp 5228
ACCEPT loc net tcp 5242
ACCEPT loc net tcp 59234
ACCEPT loc net udp 59234
ACCEPT loc net tcp 50318
ACCEPT loc net udp 50318
##final liberacao whatsapp

Para bloquear no shorewall use as seguintes regras (/etc/shorewall/rules):
#bloqueio ligacao whatsapp
DROP loc net udp 45395
DROP loc net udp 3478
DROP loc net tcp 4244
DROP loc net tcp 5222
DROP loc net tcp 5223
DROP loc net tcp 5228
DROP loc net tcp 5242
DROP loc net tcp 59234
DROP loc net udp 59234
DROP loc net tcp 50318
DROP loc net udp 50318
##final bloqueio ligação whatsapp

redirecionando trafego de saída para outro IP no shorewall

Imagine que você quer redirecionar todo o trafego de saída da porta 123456 para um determinado IP:
A regra no iptables seria:
#iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 123456 -j DNAT –to 200.200.200.200:123456

no shorewall, basta adicionar no /etc/shorewall/rules
DNAT loc net:187.17.66.212:56789 tcp 56789

iptables facil com shorewall

Shorewall é uma ferramenta que ajuda a configurar o IPTABLES, com ele você cria regras facilmente e facilita a gerencia do seu firewall

Primeiro vamos instalar (debian e derivados)

#apt-get install shorewall

depois de instalar, vai ser criado o diretorio /etc/shorewall em seu sistema, mas os arquivos de configuração ainda não estão la..
para copiar os arquivos padrões:

#cp /usr/share/doc/shorewall/examples/two-interfaces/* /etc/shorewall/

no comando acima , estamos copiado os arquivos de configuração de exemplo para um servidor com duas internfaces (normalmente rede local e internet, como um gateway, se esse não for seu caso, procure o caso mais parecido em /usr/share/doc/shorewall/examples/)

Começando as configurações:
Primeiro vamos editar o arquivo interfaces, para definir qual interface é responsavel pela rede local e qual é responsavel pela internet:
vamos editar o arquivo /etc/shorewall/interfaces:


net ppp0 detect dhcp,tcpflags,nosmurfs,routefilter,logmartians
loc eth0 detect tcpflags,nosmurfs,routefilter,logmartians

no exemplo estamos dizendo que a rede da INTERNET esta ligada na placa de rede ppp0 (no caso um link 3G) e a rede local esta ligada na placa de rede eth0, as demais opções são filtros adotados para cada interfaces, para mais informações desses filtros use man shorewall-interfaces

com nosso arquivo de interfaces pronto, vamos configurar as zonas:
edite o arquivo /etc/shorewall/zones

fw firewall
net ipv4
loc ipv4

no exemplo estamos dizendo que a interface net e a interface loc estão usando ipv4, a zona firewall esta definindo a propria maquina.

configurando as politicas padrões:
Essas politicas, serão a ação tomada por padrão caso não tenha uma regra especifica para a determinada ação, se você tem intimidade com o IPTABLES ela faz o mesmo papel das cadeias (CHAINS).
edite o arquivo /etc/shorewall/policy

#SOURCE DEST POLICY LOG LEVEL LIMIT:BURST
loc net DROP info
loc fw REJECT info
loc all DROP info

net fw DROP info
net loc DROP info
net all DROP info

fw loc ACCEPT
fw net ACCEPT
fw all ACCEPT info
# THE FOLLOWING POLICY MUST BE LAST
all all REJECT info


O arquivo segue o padrão: origem , destino , ação a ser tomada.
exemplo:
a linha:
loc net DROP info
diz que os pacotes originados na interface loc (rede local) com destino net (internet) vão ser bloqueados e as informações sobre esse pacote serão logadas no formato info ( /var/log/messages )

Finalmente vamos configurar as regras
as regras são responsaveis pelas ações a serem tomadas
edite o arquivo /etc/shorewall/rules


#ACTION SOURCE DEST PROTO DEST(port) SOURCE(port)

esse é o padrão que o arquivo obedece, vamos a alguns exemplos para ficar mais facil de entender:
ACCEPT $FW loc icmp
#pacotes originados no firewall com destino a rede local o qual usam o protocolo ICMP (ping) serão aceitos

ACCEPT loc net tcp 22
#todos os pacotes originados na rede local com destino a internet usando o protocolo TCP na porta 22 serão aceitos

ACCEPT net fw tcp 80
#todos os pacotes originados na interface net (internet) com destino o proprio firewall usando o protocolo tcp na porta 80 serão aceitos

DROP net fw tcp 22
#todos os pacotes originados na interface net (internet) com destino o proprio firewall usando TCP com destino a porta 22 serão bloqueados

Proto! nosso firewall esta configurado, personalize as regras conforme sua necessidade.
depois disso podemos verificar as configurações do shorewall usando o comando:

#shorewall check

se tudo estiver OK, voçê pode iniciar o shorewall usando o comando:

#shorewall start

para segurança, por padrão o debian não deixa você iniciar o shorewall sem que isso seja definido dentro do arquivo /etc/default/shorewall
apenas altere a opção startup=0 para startup=1

Você pode obter mais informações em www.shorewall.net , a documentação esta em ingles mas é bem clara e simples.