Configurando BastilleBSD

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.

vi /usr/local/etc/bastille/bastille.conf

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

sysrc cloned_interfaces+=lo1
sysrc ifconfig_lo1_name=”bastille0″
service netif cloneup

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

vi /etc/pf.conf

root@bastilleBSD:~ # /etc/pf.conf

ext_if=”vtnet0″

set block-policy return
scrub in on $ext_if all fragment reassemble
set skip on lo

table <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.

sysrc pf_enable=YES
service pf start

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/