Preseeding é 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 por ter como base a distribuição Debian.
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
[alexos@yardratto ~]$ sudo aptitude install rsync genisoimage
Criar estrutura de diretório
[alexos@yardratto ~]$ mkdir ossim [alexos@yardratto ~]$ cd ossim [alexos@yardratto ossim]$ mkdir iso loopdir isofiles workspace
Fazer download do Alienvault OSSIM
[alexos@yardratto ossim]$ cd iso [alexos@yardratto iso]$ wget -c http://downloads.alienvault.com/c/download?version=av-ossim-5.1.0 -O ossim-5.1.0.iso [alexos@yardratto ossim]$ cd ..
Montar ISO e extrair arquivos
[alexos@yardratto ossim]$ sudo mount -o loop iso/ossim-5.1.0.iso loopdir [alexos@yardratto ossim]$ rsync -v -a -H --exclude=TRANS.TBL loopdir/ isofiles/ [alexos@yardratto ossim]$ sudo umount loopdir [alexos@yardratto ossim]$ 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.
[alexos@yardratto ossim]$ cd isofiles/simple-cdd/ [alexos@alexos 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
[alexos@alexos simple-cdd]$ cd .. [alexos@alexos isofiles]$$ 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
Preseed – Documentação Oficial – https://wiki.debian.org/DebianInstaller/Preseed
Alienvault LVM Partitioning – http://www.toms-blog.com/alienvault-lvm-partitioning/
Automating the installation using preseeding – https://www.debian.org/releases/squeeze/ia64/apbs01.html.en
AlienVault OSSIM – https://www.alienvault.com/products/ossim
Lista de Plugins existentes no USM / OSSIM AlienVault – http://www.ibliss.com.br/blog/lista-de-plugins-existentes-no-usm-ossim-alienvault/
AlienVault USM / OSSIM – Coleta de logs Windows via WMI – http://www.ibliss.com.br/blog/alienvautl-usm-ossim-coleta-de-logs-windows-via-wmi/
LVM HOWTO – http://tldp.org/HOWTO/LVM-HOWTO/
Comments are closed.