Um guia para os iniciantes no mundo do FreeBSD
Como configurar o Jail (Criando ambientes virtuais no FreeBSD)
Este tutorial é uma contribuição enviada por Gustavo Santos
1) Criar um arquivo jail.sh com as seguintes linhas:
#!/usr/local/bin/bash
D=/Diretorio/onde/esta/o/Jail
cd /usr/src
make world DESTDIR=$D
cd etc
make distribution DESTDIR=$D NO_MAKEDEV=yes
cd $D/dev
./MAKEDEV jail
cd $D
ln -sf dev/null kernel
Em seguida execute o comando abaixo que criará os arquivos do nosso ambiente virtual:
# nohup jail.sh &
Voce pode acompanhar a execução com o comando:
# tail -f nohup.out
2) Após o termino da criação dos arquivos para o nosso
ambiente virtual devemos aprisionar a máquina
principal para somente responder pela interface
diferente do nosso ambiente virtual para isso devemos
colocar no /etc/rc.conf da máquina principal as
seguintes linhas:
sendmail_enable="NO"
inetd_flags="-wW -a 192.168.11.23"
portmap_enable="NO"
syslogd_flags="-ss"
3) Copiar o arquivo sysinstall para dentro do Jail:
mkdir /jail/192.168.11.100/stand
cp /stand/sysinstall /jail/192.168.11.100/stand
4) Deve-se agora iniciar o jail com o comando abaixo
jail /data/jail/192.168.11.100 testhostname
192.168.11.100 /bin/sh
Depois de executado o comando acima, deve-se fazer os
seguintes procedimentos:
- Criar um arquivo vazio touch /etc/fstab;
- Desabilitar o portmap (rc.conf: portmap_enable="NO")
- Desabilitar as interfaces de rede (rc.conf: network_interfaces="")
- Configurar o /etc/resolv.conf
- Configurar o /etc/hosts coloando a entrada do host e IP
- Deve-se setar a senha do root do jail;
- Configurar o timezone
- Instalar os programas necessários (ports, etc ...)
5) Por último para o nosso ambiente virtual iniciar
automáticamente após o boot, devemos criar o arquivo
jailstart.sh e colocá-lo em /usr/local/etc/rc.d com os
comandos mostrados abaixo:
# ifconfig ed0 inet alias 192.168.11.100 netmask 255.255.255.255
# mount -t procfs proc /jail/192.168.11.100/proc
# jail /jail/192.168.11.100 testhostname 192.168.11.100 /bin/sh /etc/rc
6) Pode-se criar tantos ambientes virtuais quanto
forem necessários, bastando para isso ter espaço em
disco.
7) Fiz os procedimentos acima e tenho um ambiente
virtual rodando apache, sendmail, ssh, ftp e telnet, a
máquina aparentemente não ficou muito pesada, no
momento estou me preparando para criar um super
firewall usando os conceitos mostrados.
Se você possui alguma critica , duvida ou sugestão ,entre em contato pelo e-mail: edson.brandi@uol.com.br