você está aqui: Home  → Arquivo de Mensagens

Ebook Gratuito: Dá para fazer em Shell?, com o Prof. Julio Neves

Automatizando a instalação do Debian - caso Alienvault OSSIM

Colaboração: Alexandro Silva

Data de Publicação: 12 de agosto de 2015

Preeseding é o recurso usado pelo Debian para automatização da instalação. Ele provê uma forma automizada para responder as questionamentos realizados durante o processo de instalação, facilitando assim a criação de versões customizadas.

O objetivo deste artigo é apresentar como o preeseding pode colaborar no processo de automatização da instalação do Debian e seus derivados.

O sistema de monitoramento de ameaças Alienvault OSSIM será utilizado como exemplo será utilizado, por ele utilizar a distribuição Debian como base.

Desta forma apresentarei como customizar o processo de particionamento usando o Logical Volume Management (LVM), pelo fato do OSSIM não utilizar esse recurso para particionamento de discos.

Esta é uma das caracterísiticas que pode ser alterada, existem diversas customizações que podem ser realizadas, tais como:

  • Instalação ou remoção de pacotes
  • Criação de usuários
  • Separar banco de dados do framework
  • Particionamento

IMPORTANTE: O Alienvault OSSIM foi desenvolvido para ser implementado como um sistema OneBox, onde todos os recursos são executados em um único host, apenas o Sensor pode ser instalado em hosts separados. Dessa forma qualquer modificação poderá impactar no funcionamento do sistema.

Toda a customização é feita em arquivos .preseed que seguem uma estrutura definida em diversos parâmetros.

Exemplo de um arquivo preseed.

Execute o seguinte procedimento para fazer a customização do Alienvault OSSIM usando o Logical Volume Management (LVM).

Instalar pacotes

$ sudo aptitude install rsync genisoimage

Criar estrutura de diretório

$ mkdir ossim
$ cd ossim
$ mkdir iso loopdir isofiles workspace

Fazer download do Alienvault OSSIM

ossim]$ cd iso
iso]$ wget -c http://downloads.alienvault.com/c/download?version=av-ossim-5.1.0 -O ossim-5.1.0.iso
ossim]$ cd ..

Montar ISO e extrair arquivos

$ sudo mount -o loop iso/ossim-5.1.0.iso loopdir
$ rsync -v -a -H --exclude=TRANS.TBL loopdir/ isofiles/
$ sudo umount loopdir
$ chmod u+w isofiles

Editar preseed

O configuração de instalação automatizada do OSSIM é dividida em vários arquivos .preseed. O arquivo responsável pela customização do Server é o defaultA.preseed enquanto que o defaultB.preseed é referente ao Sensor.

Para fazer o particionamento estou usando como base um disco de 50 GB ficando:

1 GB para swap
19 GB para a partição raiz
E o restante do disco será alocado para o /var

Será apresentado abaixo somente os parâmetros para customização do particionamento, onde irei editar o .preseed responsável pela instalação do Server.

$ cd isofiles/simple-cdd/
$ vim defaultA.preseed

Comente todas as linhas da seção referente ao particionamento

### Partitioning.
...

Adicione as seguintes linhas para ativar o Local Volume Manager (LVM)

d-i partman-auto/choose_recipe select boot-root
d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string lvm

d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-auto-lvm/no_boot boolean true

d-i partman-auto-lvm/new_vg_name string vg_OSSIM

d-i partman-auto/expert_recipe string \
boot-root :: \
1024 1024 1024 linux-swap method{ swap } \
format{ } $lvmok{ } lv_name{ lv_swap } \
. \
# Particao raiz com 19 GB (19 * 1024)
19456 19456 19456 ext4 method{ lvm } \
$lvmok{ } mountpoint{ / } lv_name{ lv_root } \
format{ } use_filesystem{ } filesystem{ ext4 } \
. \
# Espaço livre restante sera alocado para o /var
1 10240 10000000000 ext4 method{ lvm } \
$lvmok{ } mountpoint{ /var } lv_name{ lv_var } \
format{ } use_filesystem{ } filesystem{ ext4 } \
.
d-i partman-lvm/confirm_nooverwrite boolean true
d-i partman-lvm/confirm boolean true
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select Finish
d-i partman/confirm_nooverwrite boolean true
d-i partman/confirm boolean true

grub-pc grub-pc/install_devices multiselect /dev/sda
grub-pc grub2/linux_cmdline_default string quiet splash vga=792

Gerar nova ISO

$ cd ..
$ sudo genisoimage -o OSSIM51_custom_alexos.iso -r -J -no-emul-boot -boot-load-size 4 -boot-info-table -b isolinux/isolinux.bin -c isolinux/boot.cat .

Testar nova ISO

Para testar basta criar uma máquina virtual com 50 GB de disco e fazer a instalação do Alienvault OSSIM usando a ISO customizada. Se estiver tudo correto as partições serão criadas sem nenhuma intervenção manual durante o processo de instalação.

Referências

Este artigo foi publicado originalmente no blog do autor


Veja a relação completa dos artigos de Alexandro Silva