Página Inicial > FreeBSD, mundo BSD > Implementando segurança em Jail

Implementando segurança em Jail

Este tutorial tem o intuito de orientar uma configuração de ambiente de Jail onde o trafego entre o mundo externo e as Jail’s sejam gerenciados pelo servidor principal (o qual provê as Jail’s) com o uso de uma interface virtual (tap).

Toda a comunicação é gerenciada pelo firewall (no caso deste tutorial é o PF), portanto, iremos isolar as maquinas Jail’s em uma especie de DMZ.

Vamos ao ambiente:

Não vou entrar em detalhes de como configurar uma Jail, isto já tem documentação bem difundida e inclusive eu fiz um tutorial de como gerenciar Jail usando o software Ezjail.

Temos um FreeBSD 7.2 – Stable com:

Vamos efetuar a configuração de uma interface virtual para comunicação com as Jail’s:

ifconfig tap0 create
ifconfig tap0 172.16.50.1/24

Para tornar essa configuração permanente, use:

echo 'cloned_interfaces="tap0"' >> /etc/rc.conf
echo 'ifconfig_tap0="inet 172.16.50.1 netmask 255.255.255.0"' >> /etc/rc.conf

Dai, precisamos ainda criar um ip de alias na interface tap0 para criação de uma de nossas maquinas Jail:

ifconfig tap0 alias 172.16.50.10/32
echo 'ifconfig_tap0_alias0="inet 172.16.50.10/32"  # IP Jail Mail' >> /etc/rc.conf

Pronto, agora podemos fazer a criação de nossa Jail:

ezjail-admin create -f default mail-server.dominio.com.br 172.16.50.10

Faça as devidas configurações em relação à sua Jail.

Agora vamos configurar o firewall para criar uma entrada/saida dessa Jail na internet.

Coloque no arquivo /etc/pf.conf o seguinte conteúdo:

jail_mail-server="172.16.50.10"
nat_jail_mail-server="200.x.x.20"
if_ext="fxp0"
if_jail="tap0"
nat on $if_ext from 172.16.50.10 to any -> $nat_jail_mail-server
pass all

A partir dai é usar sua imaginação/necessidade em gerir as regras de firewall, nesse ambiente a Jail irá ficar isolada em uma especie de DMZ gerenciada pelo firewall da maquina principal, você pode inclusive criar politicas de roteamento e/ou balanceamento entre as maquinas Jail’s através do PF.

Categories: FreeBSD, mundo BSD Tags: ,
  1. Anderson Eduardo
    5, fevereiro, 2010 em 19:33 | #1

    Caro Luiz, preciso falar contigo. Espero seu contato.

  2. Davi Vercillo C. Garcia
    16, fevereiro, 2010 em 17:29 | #2

    Gustavo,

    Qual a vantagem de se criar uma interface Tap0 para criar a rede virtual ao invés de se criar somente alias na interface real ?

    Abraços,
    DVCG.

  3. 17, fevereiro, 2010 em 09:35 | #3

    Opa, então…. vou listar algumas delas:
    1 – Visão, com uma interface, podemos ter uma visão melhor dos pacotes entrando e saindo e pode-mos formular rotas e regras (inclusive QOS) baseadas na interface e não na rede.
    2 – Isolamento: Uma interface virtual do tipo TAP fica isolada e só é possível alcança-la se gerir-mos regras/rotas sobre ela.

  4. 20, abril, 2010 em 22:05 | #4

    Se desejar que cada interface de rede da jail fosse IP válido, como no exemplo

  1. Nenhum trackback ainda.