Bom noite a todos,
Como certamente estão recordados, fiz a pouco tempo uma apresentação sobre o SOE – Standard Operating Environment – onde referi que uma das regras de ouro no SOE é a homogeneização das plataformas e sistemas de forma a garantir melhor resposta, menor custo e maior qualidade no serviço prestado.
Para se garantir esta homogeneização, existe uma necessidade premente que nem todos as Organizações conseguem responder para a sua infraestrutura: A capacidade de conseguirem fazer patch managment, ou PMI de uma forma simples, rápida, automática e sobretudo segura.
Algumas por falta de capacidade de homem/máquina, outros por causa do risco apresentado ao próprio software que tem em produção no seu equipamento, a não existência de uma plataforma de patch managment, é sentida num aumento da complexidade sempre que é pedido para instalar um pacote de software novo, ou fazer um updade de segurança massivo.
Existem várias soluções no mercado para mitigar esta necessidade:
Em versões pagas e suportadas temos dois players principais: A Red Hat e a SuSE com os seus Satellite e Suse Manager respetivamente.
Em versões da comunidade temos o Katello (de onde o Satellite é desenvolvido) e o Spacewalk (projeto por detrás do SuSE Manager). Tipicamente estas versões estão menos testadas, mas contem mais features para o administrador de sistemas.
Este post fala precisamente do Spacewalk. Planeio num futuro próximo fazer um semelhante sobre o Katello.
O procedimento de instalação é extremamente simples, podendo inclusive o produto ser instalado num LXC container como foi o meu caso.
Primeiro instalar o repositório do produto:
wget http://yum.spacewalkproject.org/RPM-GPG-KEY-spacewalk-2015 -P /etc/pki/rpm-gpg
rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-spacewalk-2015
rpm -Uvh http://yum.spacewalkproject.org/2.5/RHEL/7/x86_64/spacewalk- repo-2.5-3.el7.noarch.rpm
Em seguida instalar o repositório EPEL:
wget https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7 -P /etc/pki/rpm-gpg
rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7. noarch.rpm
Instalar o repositório Jpackage:
cat > /etc/yum.repos.d/jpackage-generic.repo << EOF
[jpackage-generic]
name=JPackage (free), generic
mirrorlist= http://www.jpackage.org/mirrorlist.php?dist=generic&type =free&release=5.0
failovermethod=priority
gpgcheck=0
gpgkey=http://www.jpackage.org/jpackage.asc
enabled=1
EOF
Atualizar o sistema:
yum update -y
Instalar o postgres que irá servir de backend DB para o Spacewalk:
yum install spacewalk-setup-postgresql -y
Instalar o spacewalk com backend de postgresql:
yum install spacewalk-postgresql -y
Criar ficheiro de configuração automática:
cat > /root/spacewalk-answer-file << EOF
admin-email = [email protected]
ssl-set-org = nuneshiggs.com
ssl-set-org-unit = spacewalk
ssl-set-city = SDRana
ssl-set-state = Cascais
ssl-set-country = PT
ssl-password = spacewalk
ssl-set-email = [email protected]
ssl-config-sslvhost = Y
db-backend=postgresql
db-name=spaceschema
db-user=spaceuser
db-password=spacepw
db-host=localhost
db-port=5432
enable-tftp=Y
EOF
Correr a instalação
spacewalk-setup –answer-file=/root/spacewalk-answer-file
[root@lxcVpar36 ~]# spacewalk-setup –answer-file=/root/spacewalk-answer-file
* Loading answer file: /root/spacewalk-answer-file.
** Database: Setting up database connection for PostgreSQL backend.
Database “spaceschema” does not exist
** Database: Installing the database:
** Database: This is a long process that is logged in:
** Database: /var/log/rhn/install_db.log
*** Progress: ##
** Database: Installation complete.
** Database: Populating database.
*** Progress: ###########################
* Configuring tomcat.
* Setting up users and groups.
** GPG: Initializing GPG and importing key.
** GPG: Creating /root/.gnupg directory
* Performing initial configuration.
* Configuring apache SSL virtual host.
sysctl: cannot stat /proc/sys/crypto/fips_enabled: No such file or directory
** /etc/httpd/conf.d/ssl.conf has been backed up to ssl.conf-swsave
* Configuring jabberd.
* Creating SSL certificates.
** SSL: Generating CA certificate.
** SSL: Deploying CA certificate.
** SSL: Generating server certificate.
** SSL: Storing SSL certificates.
* Deploying configuration files.
* Update configuration in database.
* Setting up Cobbler..
* Restarting services.
Installation complete.
Visit https://lxcVpar36 to create the Spacewalk administrator account.
[root@lxcVpar36 ~]#
Caso vos ocorra um erro como o seguinte createdb: database creation failed: ERROR: new encoding (UTF8) is incompatible with the encoding of the template database (SQL_ASCII), efetuar:
su – postgres
psql
UPDATE pg_database SET datistemplate = FALSE WHERE datname = ‘template1’;
DROP DATABASE template1;
CREATE DATABASE template1 WITH TEMPLATE = template0 ENCODING = ‘UNICODE’;
UPDATE pg_database SET datistemplate = TRUE WHERE datname = ‘template1’;
\c template1
VACUUM FREEZE;
\q
(Repetir a instalação. O processo já irá deverá concluir com sucesso).
Até a próxima semana, onde explicarei como adicionar repositórios, canais e agentes de forma a fazer patch managment para a solução!
Caso tenham duvidas já sabem onde me encontrar.
Aquele abraço
Nuno Higgs.