Ola Pessoal,
Neste post, irei mostrar como configurar o BastilleBSD , usando um configuração básicas e o esquema para configuração de rede utilizado loopback interface e usar a parte de armazenamento como suporte ao ZFS.
Se você quiser saber mais detalhes , acesse a documentação do projeto.
Softwares que serão utilizados e as versões utilizadas:
– FreeBSD – link ( versão: 13.0 )
– BastilleBSD – link ( versão: 0.9.20220216 )
Primeiramente, é necessário verificar se seu sistema esta atualizado, veja esse post aqui no site de como verificar isso: {colocar link do blog aqui}
Agora, nos podemos começar a configuração do BastilleBSD:
1- Abra o arquivo de configuração bastille.conf e edite as configurações de armazenamento.
[startCode] vi /usr/local/etc/bastille/bastille.conf [endCode]
root@bastilleBSD:~ # vi /usr/local/etc/bastille/bastille.conf
…
## ZFS options
bastille_zfs_enable=”YES” ## default: “”
bastille_zfs_zpool=”zroot” ## default: “”
…
Com essa configuração nos iremos habilitar o uso do ZFS usando pool com nome zroot .
2- Continue editando bastille.conf e edite as configurações de rede.
root@bastilleBSD:~ # vi /usr/local/etc/bastille/bastille.conf
…
## Networking
bastille_network_loopback=”bastille0″ ## default: “bastille0”
…
Com essa configuração nos iremos criar uma nova interface no sistema com nome bastille0 usando uma interface de loopback, save o arquivo e vai para proximo passo para criacao da interface no sistema.
3- Criando a inteface bastille0
[startCode] sysrc cloned_interfaces+=lo1 [endCode]
[startCode] sysrc ifconfig_lo1_name=”bastille0″ [endCode]
[startCode] service netif cloneup [endCode]
root@freeebsd:~ # ifconfig
vtnet0: flags=8863<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
…
bastille0: flags=8008<LOOPBACK,MULTICAST> metric 0 mtu 16384
options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
groups: lo
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
root@freeebsd:~ #
4- Configurando firewall, adicionando a configuracao abaixo no arquivo pf.conf
[startCode] vi /etc/pf.conf [endCode]
root@bastilleBSD:~ # /etc/pf.conf
ext_if=”vtnet0″
set block-policy return
scrub in on $ext_if all fragment reassemble
set skip on lotable <jails> persist
nat on $ext_if from <jails> to any -> ($ext_if:0)
rdr-anchor “rdr/*”block in all
pass out quick keep state
antispoof for $ext_if inet
pass in inet proto tcp from any to any port ssh flags S/SA keep state
Verifique o nome da interface que vai se comunicar com mundo externo ou a que vai publicar o serviço externamente, no meu caso o nome da interface vtnet0, verifica o nome da interface usando comando ifconfig.
5- Habilitando firewall com as novas configuracaoes.
[startCode] sysrc pf_enable=YES [endCode]
[startCode] service pf start [endCode]
root@bastilleBSD:~ # sysrc pf_enable=YES
root@bastilleBSD:~ # service pf start
O primeiro comando, nos iremos adicionar o serviço pf ao inicializar do sistema e no segundo comando nos vamos iniciar o serviço pf.
Com isso concluímos o nosso post de como configurar o BastilleBSD no FreeBSD, no próximo post vou mostrar como criar o seu primeira jail usando um imagem do FreeBSD como referencia.
Fontes:
– https://docs.bastillebsd.org/en/latest/index.html
– https://docs.freebsd.org/en/books/handbook/jails/
– https://bastillebsd.com/