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.
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.
[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
[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.
[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
[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
[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?