você está aqui: Home  → Arquivo de Mensagens

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