Shorewall - Firewall passo a passo no Linux

Neste artigo estarei mostrando passo-a-passo como instalar e configurar um firewall utilizando o Shorewall (um front-end para o Iptables). O Shorewall, além de ser muito fácil de se configurar, também é muito completo, permitindo configurar quase tudo o que o iptables permite: filter, NAT, SNAT, DNAT, QOS/traffic shapping, nfqueue etc.

[ Hits: 195.475 ]

Por: Eduardo Vieira Mendes em 19/01/2009


O arquivo policy



Será neste arquivo que definiremos quais são as politicas padrões a serem seguidas pelo firewall, ou seja, se um pacote (requisição) passar por toda a regras que vamos definir mais à frente, será aplicado esse conjunto de regras padrões.

# vim /etc/shorewall/policy

## Política de tráfego originado pelo firewall
# Se você quiser deixar que o seu servidor firewall tenha acesso livre a rede externa pode deixar
# essa opção como ACCEPT e retirar a opção de logar "info".
# Pode ser útil se você roda um servido proxy neste firewall

#$FW net REJECT info
# Rejeita tráfego do firewall para a internet

#$FW loc ACCEPT
# Aceita tráfego do firewall para a sua rede interna

# Não aceita todas as outras redes/conexões que não se encaixam nos parâmetros acima
#$FW all REJECT info


## Politica de trafego originado na sua lan (interface loc)
# Se você quer forçar suas estações a se conectarem através de um proxy
# no seu firewall, mude esta opção para REJECT e adicione a opção de log (info)

# Aceita tráfego da sua rede para a internet
#loc net ACCEPT

# Aceita tráfego da sua rede para o firewall
#loc $FW ACCEPT

# Não aceita todas as outras redes/conexões que não se encaixam nos parâmetros acima
#loc all DROP info


## Política de tráfego regado da internet.

# Não aceita nenhuma conexão originada na internet para o seu firewall
#net $FW DROP info

# Não aceita conexões originadas na internet pra a sua rede local
#net loc DROP info

# Não aceita todas as outras redes/conexões que não se encaixam nos parâmetros acima
#net all DROP info

# Esta regra deve ser a última
# Não aceita todas as outras redes/conexões que não se encaixam nos parâmetros acima
all all REJECT info

# ULTIMA LINHA - NUNCA REMOVA

Notem que está quase tudo comentado no meu policy, isto porque bloqueio* tudo e depois venho desbloqueando somente o necessário.

Caso queira pode apenas descomentar as opções que queira usar.

* Suposto bloqueio - na verdade é definido no arquivo rules tudo o que deve passar ou ser bloqueado, somente depois é aplicada as regras do arquivo policy.

Página anterior     Próxima página

Páginas do artigo
   1. Instalação
   2. Configurando o Shorewall
   3. O arquivo zone
   4. O arquivo interfaces
   5. O arquivo masq
   6. O arquivo policy
   7. O arquivo rules - seu fiel escudeiro
   8. Utilizando macros
   9. Conclusão
Outros artigos deste autor

Prompt Bash avançado

Permissões e propriedades de arquivos

Utilizando o Protheus em estações Linux

Bluefish - um poderoso editor para web designers

Redes PLC

Leitura recomendada

Implementando prioridade nos serviços com TOS no Iptables

Abrindo "passagem" para clientes de correio

Firewall iptables com NAT

Metodologia de Proxy Parcial

Montando regras iptables

  
Comentários
[1] Comentário enviado por odirneto em 19/01/2009 - 16:06h

O shorewall é até facil, mas ainda prefito o iptables na raça mesmo... sei la, eu tenho um certo problema com alguns front-ends... sempre me parece que num vo entende a logica por tras

mas mto bom o tutorial, gostei.. bem legal =]

[2] Comentário enviado por vodooo em 20/01/2009 - 08:48h

Olá odirneto, bom dia!

Primeiramente, obrigado pelo elogio!

A maioria dos Administradores de rede experientes gostam mesmo de mexer diretamente com o Iptables, o que te dá um controle muito maior do que está ocorrendo no seu firewall, mas ainda assim existem Administradores (experientes ou não) que utilizam alguma ferramenta como o Shorewall, seja por facilidade, ou por gosto mesmo.

PS.: A quem estiver dando nota ao artigo. favor dar a nota e explicar em comentário o porque de não ter gostado do artigo, expondo assim suas críticas, as quais serão muito bem vindas e me ajudarão a criar um artigo ainda melhor da próxima vez.

No mais, abraços a todos e Viva a Liberdade!!!

[3] Comentário enviado por odirneto em 20/01/2009 - 11:11h

É, isso é verdade mesmo vodoo.. eu, apesar de tar longe de ser um administrador experiente e tal, prefiro o iptables mesmo.. é que tem aquele negocio né, quando você tem um front-end, você nunca entende o que o front-end está fazendo para você né.. ?

Enfim, mas o seu tutorial é muito bom mesmo cara, bem completinho e bem explicado. Ta de parabens mesmo.

ps - Po, vamo troca umas figurinhas, me manda um e-mail ae odirneto@petmais.net

[4] Comentário enviado por anarco2002 em 20/01/2009 - 17:32h

Parabéns, filho!!!

[5] Comentário enviado por vodooo em 26/01/2009 - 10:49h

Olá anarco2002.

Obrigado pelo elogio!!!

Abraços

[6] Comentário enviado por alexpfo em 03/08/2009 - 10:53h

COmo faço está regra no Shorewall
Preciso usar o msn-proxy mas não funciona o comando do iptables por causa do firewall.
comando do msn-proxy: iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 1863 -j REDIRECT --to-port 1863

Podem me ajudar.


Obrigado.


[7] Comentário enviado por erikogp em 31/03/2011 - 13:50h

Vi que o tópico está antigo, mas tenho esperança de alguém ver esse comentário e me responder. Não sei mais o que fazer. Não consigo fazer o redirecionamento do TSWeb funcionar.
Recentemente instalei o mandriva server e ele vem nativamente com o Shorewall. Está tudo muito bom, tenho o squid 3.0 rodando 100%, o SARG também e o shorewall funciona tudo, menos o redirecionamento para o servidor Terminal services. Não é problema no servidor, pois aqui temos dois e já testei com os dois e nada. Tenho duas conexões e a outra roda o debian 4.0 e faz o redirecionamento. Só que o script dele não funciona no Mandriva.
Segue abaixo a configuração do arquivo RULES do shorewall, que é onde fica o comando para redirecionamento:


ACCEPT+ fw net tcp http - - - squid
REDIRECT fw 3128 tcp http -
REDIRECT loc 3128 tcp http -
DNAT net loc:192.168.147.12:3389 tcp 3389

Já estou há exatamente uma semana tentando e não consigo. Internamente acesso normalmente o servidor. O serviço de terminal do server 2008 está instalado e funcionando perfeitamente, pois comprei a licença e instalei o serviço de terminal.
Há algum outro arquivo onde devo fazer alguma outra modificação?

[8] Comentário enviado por gideaobf em 07/03/2012 - 17:45h

Eae erikogp, conseguiu? alguma novidade?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts