...
- 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) para este prueba
- Sistema de archivos para virtualizar elegido: EXT4
- Sistema operativo utilizado donde se ejecutará el hipervisor para virtualizar(VirtualBox): Debian 12 Bookworm x86_64
- 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
Detalles del sistema operativo SUSE Linux Enterprise configurado y utilizado
- Obtener una cuenta en el portal https://www.suse.com/download/sles/
- Sistema operativo seleccionadoSistema 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 de pruebas: Particiones
/efi/boot/
ráiz raiz(/ en un LVM)
yswap 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
...
1. Ingresar con usuario root al sistema operativo
...
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:
...
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).
...
Luego presionamos Enter y veremos en pantalla la siguiente salida:
...
,
particiónswap space.
Puede manejar la separación de los demás directorios y filesystems como desee o según sus requerimientos:/srv /opt /usr /tmp
/var, entre otros.- Sistema de archivos elegido: XFS, ya que se requiere muchos archivos que estarán cambiando de tamaño y escribiendo sobre el disco de forma constante de Open-AudIT, esto para evitar desperdiciar espacio en disco.
- ISO utilizada: SLE-15-Online-x86_64-GM-Media1
- Conectividad a internet requerida: si
- Sistema de virtualización: VirtualBox 7.0 (No es obligatorio usar VirtualBox).
- Sistema Windows requerido: No (El sistema anfitrión en esta prueba es Debian 12 Bookworm, sobre el cual se ejecutará VirtualBox).
- Entorno de escritorio: Sin entorno de escritorio (sólo Text Mode)
- Acceso SSH habilitado: No (Es habilitado posterior a la instalación)
- Acceso a repositorios remotos de SUSE Linux Enterprise: Si
Info |
---|
Despliegue en producción: Recomendamos realizar las configuraciones pertinentes en ambientes previos o de pruebas de OpenAudIT. Realizar el despliegue de una maquina virtual con SUSE Linux Enterprise para implementar OpenAudIT, le permitirá hacer las comprobaciones y validaciones necesarias antes de pasar a un ambiente de operación. Como buena practica es importante hacer uso de ambientes de testing. |
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 web 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 vamos a configurar, 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 estos implementar OpenAudIT, serán instalados por medio de los repositorios que activaremos en SUSE Linux Enterprise:
Nombre de paquetes | Descripción |
| Servidor web HTTP |
| Paquete principal del lenguaje de tipo scripting PHP |
| 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, donde adicionalmente el equipo de Firstwave Latam con el fin de realizar la instalación, configuración e inicialización de Open-AudIT en SUSE Linux Enterprise 15.5 anexa varios detalles importantes para el despliegue mencionado:
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
|
---|
Para proceder con la activación del repositorio mencionado, usaremos la herramienta SUSEConnect pasándole como argumento --product seguido del nombre del repositorio respectivo:
...
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
|
---|
7. Habilitar PHP en nuestro sistema SUSE Linux
...
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
...
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
...
systemctl restart httpd
...
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
...
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
...
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
...
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 también podemos llamar 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:
La salida esperada del final de la instalación es ver el mensaje en pantalla que describimos ahora:
Open-AudIT has been installed
Podremos ver la URL por defecto que utilizaremos en el navegador web para probar el acceso a open-Audit como podemos visualizar en la siguiente captura:
En pantalla, en el final del log de instalación, veremos una sección que dice:Open-Audit should now be accesible at
http://<HOSTNAME_OR_IP>/open-audit/index.php
Esto indica que la instalación fue exitosa.
14. Cambiar dueño y grupo a directorio de open-AudIT
Como parte de los requerimientos de esta prueba, cambiaremos el dueño (owner) y el grupo (group) del directorio /usr/local/open-audit
Para la acción mencionada, ejecutamos la instrucción siguiente apuntando al directorio esperado:
chown –-recursive wwwrun:wwwrun /usr/local/open-audit
Si listamos el contenido del directorio /usr/local/ podremos ver el owner y el group que configuramos para el directorio /usr/local/open-audit/ como se muestra en la siguiente captura:
15. Crear enlace simbólico hacia el directorio de Open-AudIT
Nos ubicamos en esta ruta de Apache /srv/www/htdocs en la terminal de Linux y ejecutamos:
cd /srv/www/htdocs
Desde el directorio que hemos hecho mención, ejecutamos la siguiente instrucción para crear un enlace simbólico que apunte hacia el directorio /usr/local/open-audit/public para no hacer uso del directo /srv/www/htdocs
Creamos el enlace simbólico ejecutando la instrucción siguiente:
ln -s /usr/local/open-audit/public open-audit
Salida de comandos ejecutados del paso 14 y 15
Si queremos listar el contenido del directorio/srv/www/htdocs/
de Apache, veremos el enlace simbólico hacia la ruta /usr/local/open-audit/public
16. Permitir conexiones HTTP y HTTPS en el sistema
Utilizando el servicio de firewalld
disponible en SUSE Linux, vamos a indicarle al sistema operativo que permita las conexiones entrantes de HTTP y HTTPS:
Desde la terminal Linux ejecutamos el comando firewall-cmd
con los argumentos que se describen a continuación:
firewall-cmd --permanent --zone=public --add-service=http --add-service=https
La salida esperada para permitir las conexiones ya mencionadas es la siguiente:
- Con el argumento
--permanent
le decimos al sistema operativo que establezca las demás opciones (o argumentos del comando firewall-cmd) de manera permanente, para este cambio es necesario reiniciar el servicio de - El argumento
--zone=public
es para configurar las “zonas” las cuales tienen distintos niveles de seguridad, por ejemplo, el parámetro public es para redes públicas, se aceptan algunas conexiones entrantes selectas y el resto son rechazadas. - El argumento
–-add-service
es para abrir un servicio, para este escenario se le indica a firewall-cmd que abra el servicio de http (puerto 80/tcp) y de https (puerto 443/tcp) hacia el tráfico proveniente de la zona public.
Info |
---|
Esta configuración a nivel del servicio de firewalld, es sólo con fines de prueba, para entornos de producción considere las buenas prácticas de seguridad y los ajustes a la medida según las recomendaciones de su equipo de Infraestructura, seguridad lógica y administración de sistemas. No intente desplegar esta configuración en un ambiente de operación sin antes realizar un análisis de factibilidad y viabilidad. |
17. Asignar permisos a archivos binarios del software nmap
Nota: El escaneo de puertos UDP con nmap requiere privilegios elevados. Para este caso de uso con nmap, los permisos los vamos a asignar ejecutando la instrucción que describimos abajo:
chmod u+s `which nmap`
18 .Comprobar acceso a interfaz web de Open-AudIT
Luego de realizar las configuraciones anteriores, nos dirigimos a nuestro navegador web de nuestra elección e ingresamos la dirección del servidor de OpenAudIT, en esta prueba estamos haciendo uso de una IP (Ejemplo: 192.168.0.0/24), la ruta es: http://IP_Servidor/open-audit/index.php
La salida esperada es ver la interfaz del login de OpenAudIT:
Las credenciales por defecto de ingreso a la aplicación web, como bien son señaladas en la interfaz de OpenAudIT son las siguientes:
User: admin
Password: password
Nota: Por favor no utilizar estas credenciales en un ambiente de producción
Finalmente, nuestro servidor de pruebas de OpenAudIT ya está levantado y en ejecución desde un entorno de SUSE Linux Enterprise 15.5.
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.
...
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: