Instalando OCS Inventory sobre Linux con Certificado SSL

Open Computer and Software Inventory Next Generation, OCS Inventory NG, es un software libre que permite a los Administradores de TI gestionar el inventario de sus activos de TI, recopila información sobre el hardware y software de equipos que hay en la red que ejecutan el programa de cliente OCS, más conocido como Agente OCS.

ocsblog

OCS Inventory visualiza el inventario a través de una interfaz web. Además, OCS comprende la posibilidad de implementación de aplicaciones en los equipos de acuerdo a criterios de búsqueda.

En esta primera entrada vamos a cubrir la instalación de OCS Inventory NG en un Linux Ubuntu Server con certificado SSL, imprescindible para el despliegue de aplicaciones (deployment).

Requisitos de paquetería

Actualiza Ubuntu.

sudo apt-get update

Una vez actualizado, instalamos los siguientes paquetes, aceptando también la instalación de todas sus dependencias:

sudo apt-get install openssl apache2 php5 make perl mysql-server libxml-simple-perl libxml-perl libarchive-zip-perl libio-compress-perl libapache-dbi-perl libnet-ip-perl libsoap-lite-perl libphp-pclzip php5-gd php5-mysql

Instala OCS Inventory Server

Descargamos el instalador desde su web:  OCSNG_UNIX_SERVER-2.2.tar.gz

Descomprimos el instalador en una carpeta

tar -xvf OCSNG_UNIX_SERVER-2.2.tar.gz cd OCSNG_UNIX_SERVER-2.2 

Instalamos:

sudo sh ./setup.sh 

Por defecto, al presionar ENTER, se aplicará la configuración por defecto indicada entre [], corchetes.

Habilita el módulo SSL y los sitios Apache de OCS Inventory

sudo a2enmod ssl ; sudo a2ensite default-ssl.conf ; sudo a2ensite ocsinventory-reports.conf ; sudo a2ensite z-ocsinventory-server.conf

Reiniciamos el servicio apache.

sudo /etc/init.d/apache2 restart 

Crear un Certificado SSL para utilizar el Deploy de Software

Debemos utilizar un Certificado SSL para poder distribuir Software desde OCS Inventory Server a los Agentes. Esto es imprescindible.

Comentar que existen múltiples herramientas para la distribución de Software, si ya dispones de una que lo haga bien, no te líes. OCS Inventory NG está diseñado como aplicación de Inventario y no como aplicación de distribución de software, no sé si me explico.

openssl genrsa -des3 -out ocsng.key 2048 (Ingresa dos veces y recuerda una clave para el certificado). mv ocsng.key ocsng-old.key
openssl rsa -in ocsng-old.key -out ocsng.key 

Ingresa nuevamente tu clave

openssl req -new -key ocsng.key -out ocsng.csr

Ingresa datos de tu certificado (país, ciudad, empresa…) Cuando te consulte por… Common Name ingresamos la IP estática de nuestro servidor Ubuntu.

openssl x509 -req -days 3650 -in ocsng.csr -signkey ocsng.key -out ocsng.pem

El parámetro -days 3650 es el tiempo de “vida” del certificado. Aquí, configurado para 10 años. No debemos escatimar en el tiempo de vida del certificado, pues cuando caduque no podremos usar la característica deploy.
Copia el certificado en las rutas por defecto, para ello:

sudo cp ocsng.pem /etc/ssl/certs/ ; sudo cp ocsng.key /etc/ssl/private/ 

Realiza un backup de la configuración de tus Sitios Apache (siempre recomendado)

sudo cp /etc/apache2/sites-enabled/default-ssl.conf /etc/apache2/sites-enabled/default-ssl.conf.bak ; sudo cp /etc/apache2/sites-enabled/ocsinventory-reports.conf /etc/apache2/sites-enabled/ocsinventory-reports.conf.bak ; sudo cp /etc/apache2/sites-enabled/z-ocsinventory-server.conf /etc/apache2/sites-enabled/z-ocsinventory-server.conf.bak 

Cambia la ruta de los certificados en default-ssl.conf

sudo vim /etc/apache2/sites-enabled/default-ssl.conf SSLCertificateFile /etc/ssl/certs/ocsng.pem SSLCertificateKeyFile /etc/ssl/private/ocsng.key

Generamos un auto-login al certificado en apache, para ello generaremos un archivo con la contraseña provista para el certificado.

sudo vim /usr/share/apache2/pass

Tecleamos:

#!/bin/sh 
echo "TU-CONTRASEÑA" 
sudo chmod +x /usr/share/apache2/pass

Guardamos y salimos del archivo.

Agregamos el archivo en default-ssl.conf

sudo vim /etc/apache2/sites-enabled/default-ssl.conf

Ingresamos la cadena en una nueva línea entre /VirtualHost y /IfModule

SSLPassPhraseDialog exec:/usr/share/apache2/pass

Guardamos y salimos del archivo.

Habilitar SSL en la carpeta /download en default-ssl.conf

La carpeta /download es donde se alojarán los paquetes para hacer Deploy de Software. Para ello, deberemos SI O SI habilitar SSL sobre la misma.

sudo vim /etc/apache2/sites-enabled/default-ssl.conf

Ingresamos la cadena en una nueva línea entre ServerAdmin webmaster@localhost y DocumentRoot /var/www/html

Alias /download /var/lib/ocsinventory-reports/download  
<Directory /var/lib/ocsinventory-reports/download>
#Options Indexes FollowSymLinks MultiViews 
AllowOverride None 
Order allow,deny 
Allow from all
</Directory> 

Guardamos y salimos del archivo.

Deshabilitar HTTP en la carpeta /download en ocsinventory-reports.conf

Para asegurarnos de que nadie sin el certificado SSL generado pueda descargar Paquetes, desactivaremos SSL en el archivo ocsinventory-reports.conf.

sudo vim /etc/apache2/sites-enabled/ocsinventory-reports.conf 

Ingresa la cadena en una nueva línea entre Directory /var/lib/ocsinventory-reports/download y IfModule mod_authz_core.c

Require all granted 

Guardamos  y salimos.
Reiniciamos apache.

Copia el certificado generado a tu /home/usuario:

sudo cp /etc/ssl/certs/ocsng.pem /home/usuario 

Renómbralo a “cacert.pem” (el nombre admitido por defecto en los Agentes de OCS Inventory)

mv ocsng.pem cacert.pem 

Extrae el certificado generado a un lugar seguro, al que tengas acceso.
Copia utilizando WinSCP el certificado “cacert.pem” a un lugar “seguro” accesible para implementarlo en tus Agentes Windows.

Configuración final vía Consola Accede ahora mediante tu navegador a la URL

http://tuipestatica/ocsreports

Veremos la siguiente pantalla, si todo ha ido bien:

ocs01

 

Teclearemos en mi caso:

MySQL login: root
MySQL password: TU-CONTRASEÑA-DE-ROOT-MYSQL
Name of Database: ocsweb
MySQL hostname: localhost

La aplicación terminará de configurarse y accederemos a la siguiente pantalla de acceso:

instalacion

Tanto el usuario como la contraseña por defecto son admin/admin. 

Autor: Jorge Bastida Cano

Programador de Software y Apasionado de las nuevas tecnologías.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.