Skip to content

notas mentais de um nerd

tecnologia e finanças

Menu
  • Inicio
  • Sobre
  • BITcontrol
  • Pesquisar
Menu

iptables facil com shorewall

Posted on agosto 15, 2011

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.

Compartilhe isso:

  • Clique para compartilhar no X(abre em nova janela) 18+
  • Clique para compartilhar no Facebook(abre em nova janela) Facebook
  • Clique para imprimir(abre em nova janela) Imprimir
©2025 notas mentais de um nerd | Design: Newspaperly WordPress Theme