Arno Iptables Firewall (poderoso e simples)

Neste artigo demonstro como é simples e fácil a instalação do excelente Arno Iptables Firewall como mecanismo de defesa.

[ Hits: 57.423 ]

Por: edps em 06/04/2010 | Blog: https://edpsblog.wordpress.com/


Introdução



De acordo com a Wikipédia:

"Firewall é o nome dado ao dispositivo de uma rede de computadores que tem por objetivo aplicar uma política de segurança a um determinado ponto de controle da rede. Sua função consiste em regular o tráfego de dados entre redes distintas e impedir a transmissão e/ou recepção de acessos nocivos ou não autorizados de uma rede para outra. Este conceito inclui os equipamentos de filtros de pacotes e de proxy de aplicações, comumente associados a redes TCP/IP...

Existe na forma de software e hardware, ou na combinação de ambos (neste caso, normalmente é chamado de "appliance"). A complexidade de instalação depende do tamanho da rede, da política de segurança, da quantidade de regras que autorizam o fluxo de entrada e saída de informações e do grau de segurança desejado...

Falar sobre firewall nesse espaço é uma coisa bastante comum, pois segurança é uma das coisas que mais almejamos nas nossas vidas e ao utilizar computadores não poderíamos agir de maneira diferente."


A classe de aplicações de firewall é extensa, os usuários mais experientes, administradores de rede, certamente preferem escrever suas regras "na unha" ou irão utilizar ferramentas como o IPCop, Shorewall, fwBuider etc.

Os usuários domésticos ou menos experientes, muito provavelmente utilizaram um firewall com interface gráfica, como os famosos Guarddog e Firestarter e o menos famoso GuFW (interface gráfica para o ufw).

Cansado de seguir "receitas de bolo" onde a maioria das vezes a segurança das regras era tão extrema que passava a enforcar minha conexão, resolvi buscar uma nova ferramenta para utilizar como firewall, eu a encontrei na forma do excelente Arno's Iptables Firewall.

Instalação padrão

Como sou usuário do Debian, nas mensagens abaixo aparecem /etc/init.d/ pois este é o seu padrão, para outras distros GNU/Linux vai aparecer a pasta correspondente.

Para instalar o Arno Iptables Firewall, baixem o pacote mais recente com:

wget -c http://rocky.eld.leidenuniv.nl/arno-iptables-firewall/arno-iptables-firewall_1.9.2j.tar.gz
tar -zxvf arno-iptables-firewall_1.9.2j.tar.gz
$ cd arno-iptables-firewall_1.9.2j/
$ su
# ./install


Aparecerão as seguintes mensagens:

# Install Script v1.02c
# Continue install (Y/N)?

Tecle "Y"

# ** Install done **

# Do you want to run the configuration script (Y/N)?

Tecle "Y"

# Arno's Iptables Firewall Script v1.9.2j
# Configure Script v1.02a
# Do you want to start the firewall at boot (via /etc/init.d/) (Y/N)?
# Obs1: se você quer que firewall inicie automaticamente.

O padrão é "Y"

# "/etc/rcS.d/S41arno-iptables-firewall" -> "/etc/init.d/arno-iptables-firewall"
# Your firewall.conf is not configured yet.
# Do you want me to help you setup a basic configuration (Y/N)?
# Obs2: se você quer ajuda para realizar a configuração do firewall.

O padrão é "Y"

# "/etc/arno-iptables-firewall/firewall.conf" -> "/etc/arno-iptables-firewall.conf.bak"
# We will now setup the most basic settings of the firewall

# What is your external (aka. internet) interface (multiple interfaces should be comma separated)?
# Obs3: agora iremos adicionar nossa interface de rede com acesso externo.
# Obs4: no meu caso a interface externa é ppp0

O padrão é "ppp0" ou "eth0"

# * Auto-detected external net(s): XXX.YYY.ZZZ.000
# Obs5: no caso acima, como eu estava conectado a internet o programa detectou o endereço ip utilizado!.
# Does your external interface get its IP through DHCP (Y/N)?
# Obs6: se queremos utilizar o DHCP.

O padrão é "Y"

# Do you want to be pingable from the internet (Y/N)? No
# Obs7: se queremos responder a pings.

O padrão é "N" # caso queira tecle "Y"

# Which TCP ports do you want to allow from the internet? (eg. 22=SSH, 80=HTTP, etc.) (comma separate multiple ports)?
# Obs8: no meu caso vou abrir as portas TCP 44662 e 51413 para o aMule e Transmission.

4662 51413

# Which UDP ports do you want to allow from the internet? (eg. 53=DNS, etc.) (comma separate multiple ports)?
# Obs9: no meu caso vou abrir as portas UDP 4665 4672 e 51413 para o aMule e Transmission.

4665 4672 51413

# Do you have an internal(aka LAN) interface that you want to setup (Y/N)? No
# Obs10: agora iremos adicionar nossa interface de rede interna.
# Obs11: não possuo rede interna.

Tecle "Y" # apenas se possui rede interna.

# Do you want the init script to be verbose (print out what it's doing) (Y/N)?
# Obs12: se deseja que o firewall seja executado no modo verbose.

O padrão é "N" # mais limpo!.

# ----------------------------------------------------------------
# ** NOTE: You can now (manually) start the firewall by executing
# ** "/etc/init.d/arno-iptables-firewall start"
# ** It is recommended however to first review the settings in
# ** /etc/arno-iptables-firewall/firewall.conf!

Para verificar o status do firewall e as regras ativas basta executar como root:

# iptables -L -nv (ou com o comando sudo no início)

Para iniciar, parar ou reiniciar o firewall, usaremos o comando "service arno-iptables-firewall" seguido dos parâmetros start, stop, restart ou status. Ex.:

# service arno-iptables-firewall start

Agora vamos testar a eficácia do mesmo acessando o site:
    Próxima página

Páginas do artigo
   1. Introdução
   2. O modo Debian
   3. Plugins
   4. Agradecimentos e referências
Outros artigos deste autor

LMDE Xfce - Instalação, configuração e extras

WAJIG, gerenciamento avançado de pacotes em distros Debian-like

JIGDO, atualização de uma imagem .iso

Ubuntu - Alternativas ao Unity

O incrível universo das PPA's do Ubuntu

Leitura recomendada

Slackware 11 + kernel-2.6.18 + Layer7 + iptables

Balanceamento de carga entre 2 placas de rede

Firewall funcional de fácil manipulação

Criando DMZ com o PFSense

IPTABLES - Conceitos e aplicação

  
Comentários
[1] Comentário enviado por backuppc em 06/04/2010 - 09:42h

Ola,
Se eu necessitar fazer uma regra do tipo, tudo que chegar na porta 3389 seja redirecionado para o ip 192.168.0.2 ( servidor dentro da minha rede ) como faria ?
Abraços

[2] Comentário enviado por removido em 06/04/2010 - 10:40h

No arquivo de configuração /etc/firewall.conf altere as seguintes linhas:

NAT_LOCAL_REDIRECT=0 # para 1

NAT_FORWARD_TCP="3389>192.168.0.2" # porta>destino

Reinicie o firewall, rode o comando sudo iptables-save > regras.txt, verifique se aparece a seguinte linha:

-A PREROUTING -i ppp0 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.2

# no exemplo acima aparece ppp0 pois essa a a minha interface de rede externa.


Como alternativa, você pode alterar o arquivo de configuração /etc/custom-rules inserindo o seguinte:

# iptables -t nat -A PREROUTING -p tcp --dport 3389 -j DNAT --to 192.168.0.2

Reinicie o firewall, rode novamente o comando sudo iptables-save > regras.txt, verifique se aparece a seguinte linha:

-A PREROUTING -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.2

Você também pode adicionar a opção -d <endereço_externo> nesse caso ficaria assim:

# iptables -t nat -A PREROUTING -d <endereço_externo> -p tcp --dport 3389 -j DNAT --to 192.168.0.2

espero tê-lo ajudado.

[3] Comentário enviado por backuppc em 06/04/2010 - 12:25h

Obrigado pela resposta.

Irei centralizar minhas regras no custom-rules já que os redirecionamentos ja tenho pronto e posso estar jogando lá dentro.

Já chegou á usar ?

/etc/arno-iptables-firewall/plugins/multiroute.conf

Interessante esse multiroute

abraços

[4] Comentário enviado por d3lf0 em 07/04/2010 - 09:37h

muito bom, assim que puder quero estar testando esta ferramenta.

[5] Comentário enviado por grandmaster em 07/04/2010 - 18:59h

Pareceu bem simples, vamos ver como funciona.

--
Renato de Castro Henriques
ITILv3 Foundation Certified
CobiT Foundation 4.1 Certified ID: 90391725
http://www.renato.henriques.nom.br



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts