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.
O Shorewall disponibiliza macros (conjunto de regras) que podemos usar para liberar ou bloquear alguma conexão.
No arquivo rules deste artigo fiz uso dos seguintes macros:
POP3
SMTP
SSH
DNS
Ping
Os arquivos de macros podem ser encontrados na pasta /usr/share/shorewall/.
A sintaxe de sua utilização é a seguinte:
macro/ação opções
Ex:
SSH/ACCEPT net $FW
Neste exemplo nosso firewall vai aceitar as conexões vindas da internet ao nosso servidor ssh.
Agora vamos configurar o arquivo /usr/share/shorewall/macro.SSH.
# vim /usr/share/shorewall/macro.SSH
#################################################################### #AÇÃO ORIGEM DESTINO PROTOCOLO DEST SOURCE RATE USER PORTA(S) PORTA(S) LIMITE
GRUPO
PARAM - - tcp 10010 #ÚLTIMA LINHA - NÃO REMOVER
Neste caso, digitar:
SSH/ACCEPT nte $FW
Seria o mesmo que:
ACCEPT net $FW tcp 10010
Podemos economizar comandos utilizando os macros.
Exemplo 2:
SMB/ACCEPT loc $FW
Seria o mesmo que digitar:
ACCEPT loc fw udp 135,445
ACCEPT loc fw udp 137:139
ACCEPT loc fw udp 1024: 137
ACCEPT loc fw tcp 135,139,445
[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?