Shorewall - Um firewall de alto nível para configurar servidores Linux

Shorewall - Um firewall de alto nível para configurar servidores Linux

Configurar um firewall no Linux pode ser muito assustador para um novato, ou para alguém que não está muito familiarizado com iptables. Felizmente, há uma solução muito fácil de usar em Shorewall.

Instale o Firewall do Shorewall no Linux

Neste tutorial de várias partes, eu vou começar você Shorewall, e guardá -lo por alguns tópicos mais avançados com este incrível sistema de firewall.

O que é Shorewall?

Shorewall é essencialmente um front-end para iptables, mas é um front-end de ambiente de linha de comando que utiliza vários arquivos de texto para sua configuração. Enquanto Shorewall é um sistema de firewall robusto que pode ser dimensionado em redes muito grandes que atendem a inúmeras máquinas, vamos começar com uma configuração básica de duas interface e pregar o básico.

Uma configuração de duas interface consiste em uma máquina com duas portas Ethernet, uma entrando e uma que vai para a rede local.

Instalação do Shorewall no Linux

Shorewall pode ser instalado usando ferramentas de gerenciador de pacotes apt-get e yum.

Em Debian/Ubuntu/Linux Mint
$ sudo apt-get install Shorewall6
Em RHEL/CENTOS/FEDORA
$ sudo yum install Shorewall6

Após a instalação, precisamos copiar uma configuração de amostra do “/usr/share/doc/Shorewall”Diretório para o diretório padrão do Shorewall"/etc/Shorewaleu".

$ sudo cp/usr/share/doc/shorewall/exemplo/dois interfaces/*/etc/shorewall

E depois CD para /etc /Shorewall.

$ CD /etc /Shorewall

Se dermos uma olhada neste diretório, vemos um monte de arquivos e Shorewall.conf arquivo. O Shorewall vê a rede como um grupo de zonas diferentes, então o primeiro arquivo que queremos dar uma olhada é o “/etc/Shorewall/Zonas" arquivo.

Zonas

Aqui, vemos que existem três zonas definidas por padrão: líquido, loc, e todos. É importante notar que Shorewall trata a própria máquina de firewall como sua própria zona e a armazena em uma variável chamada $ Fw. Você verá essa variável ao longo do restante dos arquivos de configuração.

O "/etc/Shorewall/Zonas”O arquivo é bastante auto-explicativo. Você tem a zona líquida (interface voltada para internet), o loc zona (Interface voltada de LAN) e todos, que é tudo.

Política

Esta configuração desiste do seguinte:

  1. Permite todas as solicitações de conexão do zona loc (LAN) para o zona líquida (Internet).
  2. Solta todas as solicitações de conexão (ignora) da zona líquida para o firewall e a LAN.
  3. Rejeita e registra todos os outros pedidos.

O Nível de log Bit deve estar familiarizado para quem fez administrar com Apache, Mysql, ou qualquer outro número de outro Foss programas. Nesse caso, estamos dizendo Shorewall Para usar o nível de informação de registro.

Se você deseja ter seu firewall disponível para administrar sua LAN, você pode adicionar as seguintes linhas ao seu “/etc/Shorewall/Política" arquivo.

#Source Dest Policy Log Limit

Agora que nossas zonas e políticas estão definidas, temos que configurar nossas interfaces. Você faz isso editando o “/etc/Shorewall/Interfaces" arquivo.

Interfaces

Aqui, definimos nossa interface voltada para a Internet como eth0 para o zona líquida. No nosso lado LAN, definimos a outra interface, Eth1, para o zona loc. Ajuste este arquivo para iniciar sua configuração corretamente.

As várias opções que você pode colocar para qualquer uma dessas interfaces é extensa e são melhor explicadas em detalhes na página do homem.

$ Man Shorewall-Interfaces

Uma rápida corrida de alguns deles é o seguinte:

  1. Nosmurfs - Pacotes de filtro com endereço de transmissão como fonte.
  2. LogMartians - pacotes de log com endereço de origem impossível.
  3. RoutEfilter - Filtragem de rota do kernel para anti-spoofing.

Claro, agora que nosso sistema está firewalled, vamos precisar de certas conexões para serem permitidas para conseguir o que precisamos fazer. Você os define no arquivo de regras em “/etc/Shorewall/Regras““.

Regras

Este arquivo parece confuso no início, principalmente porque as colunas se sobrepõem, mas os cabeçalhos são bastante auto-explicativos. Primeiro, você tem o Coluna de ação, que descreve o que você deseja executar.

Em seguida, você tem um FONTE cabeçalho onde você define o zona onde o pacote está originando. Então, você tem o seu Dest, ou destino, qual é o zona ou endereço de IP do destino. Vamos usar um exemplo.

Suponha que você queira executar um Ssh servidor por trás do seu firewall na máquina com o endereço IP de 192.168.1.25. Você não apenas terá que abrir uma porta no seu firewall, mas também terá que dizer ao firewall que qualquer tráfego que chegue à porta 22 precisa ser roteado para a máquina em 192.168.1.25.

Isso é conhecido como Encaminhamento de porta. É uma característica comum na maioria firewall/roteadores. Em "/etc/Shorewall/Regras“, Você conseguiria isso adicionando uma linha como esta:

SSH (DNAT) LOC: 192.168.1.25
Encaminhamento da porta SSH

Acima, definimos qualquer Ssh pacotes destinados vindos do zona líquida para o firewall tem que ser roteado (Dnat) para porta 22 na máquina com endereço 192.168.1.25.

Isso é chamado Tradução do Endereço da Rede ou Nat. O "D”Simplesmente diz Shorewall que isso é um Nat Para um endereço de destino.

Para que isso funcione, você precisa ter Nat Suporte habilitado em seu kernel. Se você precisar Nat E não tem, por favor, veja meu tutorial sobre recompilar um kernel debian.

Links de referência

Página inicial do Shorewall

No próximo artigo, passaremos por alguns tópicos mais avançados, mas deve haver muito aqui para começar por agora. Como sempre, dê uma olhada nas páginas do homem para um entendimento mais aprofundado.

Leia também : Explorando as opções de configuração e linha de comando do Shorewall Firewall