You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

DRAFT — Work in progress

SUSE Linux Enterprise es una distribución Linux desarrollada por SUSE company, es una versión comercial disponible en el sitio web del fabricante https://www.suse.com/releasenotes/aarch64/SUSE-SLES/15-SP5/index.html.
En esta documentación vamos a describir los pasos para desplegar Open-AudIT versión 5.2 en un servidor de pruebas con un sistema SUSE Enterprise server 15.5. Vamos a comentar los requerimientos y detalles técnicos que hemos abarcado para esta actividad, y que pueden servir de guía para nuestros clientes o interesados.

Requerimientos del servidor

  • 4GB memoria (recomendado en Wiki de opmantek)
  • Procesadores de Intel i3, Core 2 Duo, o servidores con mayor capacidad.
  • Compatible con procesadores de arquitecturas x86_64.

Detalles de recursos para maquina virtual (en VirtualBox)

  • Memoria asignada: 3 GB
  • vCPU: 2 cores
  • Network bridge: Habilitado
  • Boot order: Habilitar Network o como desee
  • Extended features o funciones extendidas en VirtualBox: Habilitar Enable EFI (Special OSes only)
  • Sistema operativo base donde se ejecutará el hipervisor para virtualizar(VirtualBox): Debian 12 Bookworm x86_64

Detalles del sistema operativo e instalación del sistema base requeridos para OpenAudIT

  • Sistema operativo: SUSE Linux Enterprise 15.5
  • Licencia de prueba con activación de fabricante: si (necesaria)
  • Tipo de partición: GPT
  • Firmware elegido: UEFI
  • Particionado manual: Particiones /efi/boot/ ráiz (/) y swap space
  • ISO utilizada: SLE-15-Online-x86_64-GM-Media1
  • Conectividad a internet requerida: si
  • Sistema de virtualización: VirtualBox 7.3
  • Sistema Windows requerido: No (El sistema anfitrión en esta prueba es Debian 12, sobre el cual se ejecutará VirtualBox).
  • Entorno de escritorio: Sin entorno de escritorio (sólo Text Mode)
  • SSH habilitado: No (Es habilitado posterior a la instalación)

Requerimientos de software y dependencias en SUSE Linux

OpenAudIT requiere apache2, php 8.1, mariaDB 10.6, apache2-mod_php 8.1, como unos de los componentes principales para levantar el servidor de la aplicación mencionada. MySQL no es involucrado en esta guía ya que mariadb es un fork de MySQL bajo licencia GPLv2 y es la base de datos relacional sin costo comercial que podemos usar, para mejor referencia de la licencia de este motor de base de datos, consultar https://mariadb.com/kb/en/mariadb-licenses/ En la tabla que se mostrará a continuación, se han comentado las versiones específicas a utilizar de los paquetes citados al principio de este párrafo, y el resto de las dependencias como las librerías y binarios que también serán necesarios para este despliegue, serán instalados por medio de los repositorios que activaremos en SUSE Linux Enterprise:


Nombre de paquetes
Descripción 

apache 2.4.51

Servidor web apache HTTP

php 8.1.28

Paquete principal del lenguaje de tipo scripting PHP 

mariadb 10.6.15

Paquete con binarios de servidor del motor de base de datos relacional mariaDB

Las dependencias serán mencionadas en el apartado de instalación de paquetes.

A continuación, se describen una serie de pasos recomendados por Mark Unwin, con el fin de realizar la instalación, configuración e inicialización de Open-AudIT en SUSE Linux Enterprise 15.5:

1. Ingresar con usuario root al sistema operativo

SUSE Linux por defecto no tiene establecido el uso de sudo, por lo tanto haremos uso del usuario root (superusuario) del sistema operativo con el siguiente comando:

su -

2. Registrar nuestro código generado en el portal web de SUSE para la activación del sistema SUSE Linux

Una vez dentro del sistema como usuario root, se recomienda registrarse durante la instalación o posterior a la instalación del sistema operativo, ya que así podrá obtener para el sistema las últimas actualizaciones y parches disponibles.

La herramienta SUSEConnect se utiliza para registrar un sistema SUSE Linux en el SUSE Customer Center (SCC). Esta herramienta es la que invocaremos desde la terminal del sistema para el registro indicado: 

En la terminal Linux ejecutamos la instrucción esperada:

SUSEConnect -r  YOUR_REGISTRATION_CODE

Se sustituye  YOUR_REGISTRATION_CODE por el código de activación adquirido para SUSE Linux 15.5:

SUSEConnect -r XXXXXXXXXXXXXXXX (este último argumento es un código alfanumérico).


Nota: El código de activación puede ser adquirido con una cuenta previamente creada (sólo se necesita un email y un password) desde el portal web oficial de SUSE Linux.

Luego presionamos Enter y veremos en pantalla la siguiente salida:



El mensaje esperado al final de la salida en pantalla es successfully registered system.


3. Realizar una actualización de paquetes del sistema operativo

Con la instrucción siguiente se podrá actualizar los paquetes a nuevas versiones:

zypper update

Se observará en pantalla esta salida:


No deberá existir errores de conexión para obtener un resultado correcto.

4. Reiniciar sistema operativo

Puede realizar esta acción a través del systemd del sistema con la instrucción systemctl reboot o como lo recomiende el administrador del sistema del cliente.

5. Asegurar la activación de repositorios para hacer uso de algunas herramientas de utilidad

Para los próximos pasos a realizar, es necesario hacer uso de un editor de texto (Vim, Nano u otro). Por ejemplo, si requiere utilizar Nano, va a requerir habilitar el siguiente repositorio en SUSE, para luego descargarlo e instalarlo en el sistema:

PackageHub/15.5/x86_64 →  Nombre del repositorio

Para proceder con la activación del repositorio mencionado, usaremos la herramienta SUSEConnect pasándole como argumento --product seguido del nombre del repositorio respectivo:

Desde la terminal ejecutamos: SUSEConnect --product PackageHub/15.5/x86_64

La salida esperada es:

Al final de la salida mostrada en pantalla se verá el mensaje successfully registred system. Este resultado es correcto.

6. Realizar la instalación de paquetes y dependencias para open-Audit

 Los paquetes que se describen a continuación estarán disponibles con los repositorios principales de SUSE Linux Enterprise activados y con el respectivo registro del sistema ya realizados. Si requiere obtener más detalles de las dependencias que se instalarán en su sistema, puede consultar al equipo de operaciones de FirsWave Latam.

Haciendo uso de zypper install seguido del nombre de los paquetes a instalar, procedemos a construir la siguiente instrucción desde la terminal Linux:

zypper install apache2 apache2-mod_php81 curl ipmitool libnsl2 logrotate mariadb-server net-snmp nmap perl-Crypt-CBC perl-Time-ParseDate php php-cli php-intl php-ldap php-mbstring php-mysqli php-snmp php-sodium php-xml samba-client screen sshpass wget zip

Nota: Es posible que algunos de los paquetes mencionados en el comando anterior ya estén instalados en su distribución SUSE Linux enterprise. Pero en caso de que sea un nuevo despliegue del sistema, serán necesarios instalarlos.

Luego de ejecutar el comando con los argumentos indicados, la salida esperada es la siguiente:







Nota 

Como se puede ver en la imagen anterior, el paquete perl-Time-ParseDate no se encuentra en los repositorios del sistema operativo, pero esto último no quiere decir que el paquete no exista. Esto ocurre porque el nombre del paquete que hemos mencionado es incorrecto para SUSE Linux Enterprise, es necesario indicarle al sistema operativo el nombre del paquete que él pueda reconocer.
El nombre correcto del paquete es perl-TimeDate. Proceder con ejecutar zypper install perl-TimeDate

7. Habilitar PHP en nuestro sistema SUSE Linux

PHP se ejecutará como módulo para Apache web server en nuestro sistema, esto es gracias a paquetes que ya instalamos como apache2-mod_php81 para que apache pueda interpretar scripts de php. Por ejemplo, los usuarios al ingresar a la URL de open-audIT, Apache podrá realizar solicitudes al PHP que ya está instalado en SUSE; sabemos que la URL de Open-audIT apunta hacia un archivo con extensión .php, ejemplo: htttp://server/web_index.php Apache responderá a la peticiones recibidas de la URL que le usuario escribirá, y la respuesta será visible en el navegador web.

Para habilitar el módulo de PHP para Apache de forma que esté disponible o pueda ser usado por el servicio de Apache, haremos uso de la herramienta a2enmod que es un comando que podemos llamar en la terminal Linux, a2enmod en si es un script que nos permitirá habilitar un módulo especificado dentro de la configuración de apache2.

Procedemos a ejecutar la siguiente instrucción en la terminal Linux:

a2enmod php

Si no hay error no se mostrará mensajes de este tipo en pantalla.

8. Crear enlace simbólico hacia directorio de instalación de Apache

La idea principal es no hacer uso del directorio estándar de instalación de Apache. Cuando se requiera realizar la configuración del archivo default-server.conf no utilizaremos este archivo directamente en el directorio por defecto de Apache que es /etc/apache2/. Reiteramos el uso de un enlace simbólico:

Parte de los archivos de configuración de Apache, por defecto están organizados de la siguiente manera en SUSE Linux, entre ellos default-server.conf :

/etc/apache2/

     |

     |- charset.conv

     |- conf.d/

     |   |

     |   |- *.conf

     |

     |- default-server.conf

     |- errors.conf

     |- global.conf

     |- httpd.conf

    

Podemos realizar el proceso comentado de este paso 7 con el editor nano si así lo queremos, o bien podemos usar otro método de nuestra preferencia. Ejecutamos la siguiente instrucción invocando nano en la terminal:


nano -l /etc/apache2/default-server.conf

Veremos el contenido del archivo default-server.conf y procedemos a cambiar la siguiente directiva de Apache que describiremos a continuación:

Directiva: Options None  →  Cambiar la directiva mencionada a Options FollowSymLinks

El parámetro None es sustituido por FollowSymLinks

Veamos la salida esperada en la siguiente captura de pantalla:



Nota: El parámetro None, es para que en cuyo caso no sea habilitada ninguna de ciertas características adicionales de Apache. Pero cuando es establecida la regla FollowSymLinks esta indica que el servidor seguirá los enlaces simbólicos en este directorio (en nuestro caso es /etc/apache2/default-server.conf).

9. Verificar configuración del servidor Apache

Comprobar los ajustes realizados y configuraciones anteriores de Apache, para ello utilizamos la CLI de apache con la herramienta apachectl:

Ejecutamos desde la terminal Linux la instrucción apachectl configtest

Como resultado es posible que en pantalla veamos un mensaje de tipo warning, aunque la sintaxis del archivo default-server.conf está correcta. Esto es debido a que estamos usando un entorno de pruebas de SUSE Linux recien instalado, que no tiene la configuración de algunas directivas o parámetros de Apache, de lo contrario si su servidor Linux cuenta con las configuraciones necesarias, el mensaje de warning no deberá mostrarse.

Para evitar este mensaje, a fines de prueba, podemos establecer la configuración de la regla ServerName de Apache en el archivo httpd.conf ubicado la ruta /etc/apache2/httpd.conf del sistema.

Nos encargamos de agregar la directiva ServerName en el archivo /etc/apache2/httpd.conf

Editamos el archivo con Vim, nano u otro editor de textos:



Se procede añadir la línea ServerName 127.0.0.1 debajo de IncludeOptional, recordando que estamos utilizando un servidor local y podemos utilizar la IP del localhost como se muestra en la imagen de arriba. Si tu servidor es remoto, por favor de escribir la IP correspondiente.

 Reiniciamos el servicio de Apache:
systemctl restart apache2


O llamamos el servicio de apache como httpd. En algunas distribuciones Linux, apache como servicio tiene el nombre de httpd

systemctl restart httpd

 Luego procedemos a ejecutar nuevamente el comando apachectl configtest para comprobar que las configuraciones anteriormente realizadas en Apache estén correctas.

Se espera obtener una salida como esta:

10. Reiniciar de nuevo el servicio de apache2 y configurar la activación permanente de este servicio

Para reiniciar el servicio de apache2 ejecutamos la instrucción: systemctl restart apache2

Luego ejecutamos la instrucción systemctl enable apache2 Para habilitar este servicio, sin necesidad de iniciarlo manualmente. Esto permitirá que apache2 inicie automáticamente en el siguiente reinicio del sistema operativo.



11. Habilitar servicio de MariaDB

Ejecutamos desde la terminal Linux la instrucción siguiente:
systemctl enable mariadb

La salida esperada es la siguiente:

Esto habilitará el servicio de mariadb. Se iniciará automáticamente en el siguiente reinicio del sistema. Posteriormente procedemos a reiniciar el servicio mariadb con systemctl

 
systemctl restart mariadb

12. Cambiar permisos del archivo de instalación de open-AudIT

Ejecutamos la siguiente instrucción para dar permisos de ejecución al archivo .run de open-audIT:

chmod +x OAE-Linux-x86_64-release_5.2.2.run



13. Ejecutar script de instalación de Open-AudIT

Para realizar la instalación automática de OpenAudIT, procedemos a ejecutar la instrucción siguiente para inicializar el script de instalación si estamos dentro del directorio donde se haya descargado el instalador, en caso contrario podemos usar la ruta absoluta apuntando hacia el script ya mencionado.

Desde el directorio donde descargamos el instalador ejecutamos el script:

./OAE-Linux-x86_64-release_5.2.2.run

En pantalla el instalador realizará varias validaciones sobre el sistema operativo, tales como: encontrar versión del sistema, tipo de distribución Linux, motores de bases de datos instalados, permisos, directorios y otras.

Una de las primeras salidas en pantalla que veremos una vez ejecutado el script mencionado es:



El instalador preguntará si deseamos continuar con el proceso de instalación, elegir la opción y:


Como se muestra en la captura anterior, el script de instalación nos preguntará si deseamos configurar el usuario root de la base de datos, vemos en el mensaje la palabra MySQL, pero recordemos que mariadb es un fork de Mysql, la opción a elegir es y.

La salida que veremos es la siguiente:



  • No labels