sábado, 4 de abril de 2020

Migrar Debian 10 (Buster) a Debian 11 (Bullseye)

A la fecha de publicación de este post, la versión estable del Sistema Operativo Debian, es la versión 10 (Buster). Esta migración se realizara en un PC personal, así que lo primordial es realizar un respaldo a sus documentos.

Antes que nada vamos a verificar que servicios tenemos activos ejecutando el siguiente comando:

# netstat -tlpn

netstat -tlpn
Observando la imagen, vemos que solo tenemos activos los siguientes servicios:
  • 111: rpcbind  
  • 22:  ssh 
  • 631:  cups
¿Porque debemos verificar que servicios tenemos activos? Sencillamente para que no afecte algún servicio en el proceso de migración.
Antes de empezar la migración, debemos tener nuestro Debian 10 (Buster) actualizado completamente, asi que ejecutamos los siguientes comandos:

# apt-get update 
# apt-get upgrade 
# apt-get dist-upgrade

apt-get dist-upgrade
lsb_release -a
 Si todo ha ido sin problemas, realicemos comprobaciones de integridad y coherencia de la base de datos para paquetes parcialmente instalados, ejecutando el siguiente comando:

# dpkg -C

Luego realizamos una comprobación si tenemos paquetes retenidos, ejecutando este otro comando: 

# apt-mark showhold


Si todo a ido bien, no debería mostrarnos ningún paquete. Luego eliminamos todas las dependencias que ya no sean necesarias, ejecutando:

# apt-get autoremove

Vamos ahora a cambiar los repositorios, pero primero realiza una copia a tu repositorio actual. Ya realizada la copia procedemos al cambio de los repositorios, para este paso utilizaremos el comando sed:

# sed -i 's/buster/bullseye/g' /etc/apt/sources.list

o

# sed -i 's/buster/testing/g' /etc/apt/sources.list

Ya realizado el cambio en los repositorios actualizamos los paquetes; recomiendo si tienen repositorios de terceros, comentarlos.

# apt-get update 
  
# apt-get upgrade 

# apt-get dist-upgrade 

Nuevamente una vez realizado o ejecutados estos comandos, procedemos a eliminar las dependencias que ya no son necesarias:

# apt-get autoremove

y

# apt-get autoclean

Luego reiniciamos nuestro equipo:

# reboot

Una vez iniciado nuestro sistema verificamos que ya estamos en la versión Debian 11 (Bullseye) ejecutando estos comandos:

# lsb_release -a

# cat /etc/issue

# cat /etc/debian_version

martes, 14 de mayo de 2019

OCS Inventory NG 2.6 en Debian Stretch

Vamos a explicar como instalar OCS Inventory NG 2.6 en Debian Stretch. 
Que es OCS Inventory, según la wikipedia es:

Open Computer and Software Inventory Next Generation (OCS) es un software libre que permite a los Administradores de TI (Tecnología de Información) gestionar el inventario de sus activos de TI. OCS-NG recopila información sobre el hardware y software de equipos que hay en la red que ejecutan el programa de cliente OCS ("agente OCS de inventario").

root@ocs:~# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 9.9 (stretch)
Release: 9.9
Codename: stretch


Lo primero que vamos a instalar es el Apache:

root@ocs:~# apt-get install apache2

Luego vamos a instalar PHP y una serie de librerías indispensables:

root@ocs:~# apt-get install libxml-simple-perl libcompress-zlib-perl libdbi-perl libdbd-mysql-perl libapache-dbi-perl libnet-ip-perl libsoap-lite-perl libarchive-zip-perl make build-essential php-pclzip php7.0 libapache2-mod-php7.0 php7.0-common php-pear php7.0-cli php7.0-ldap libxml-simple-perl libio-compress-lzma-perl php7.0-gd php7.0-curl php-soap libsoap-lite-perl libmojolicious-perl libplack-perl php-mbstring php-zip

Ahora vamos a instalar CPAN (Comprehensive Perl Archive Network) y dependencias: 

root@ocs:~# cpan
Sorry, we have to rerun the configuration dialog for CPAN.pm due to
some missing parameters. Configuration will be written to
 <</root/.cpan/CPAN/MyConfig.pm>>


CPAN.pm requires configuration, but most of it can be done automatically.
If you answer 'no' below, you will enter an interactive dialog for each
configuration option instead.

Would you like to configure as much as possible automatically? [yes] 


Autoconfiguration complete.

commit: wrote '/root/.cpan/CPAN/MyConfig.pm'

You can re-run configuration any time with 'o conf init' in the CPAN shell
Terminal does not support AddHistory.

cpan shell -- CPAN exploration and modules installation (v2.1101)
Enter 'h' for help.

cpan[1]>

Cuando ejecutamos el comando cpan, por primera vez, nos muestra un dialogo de configuración, solo aceptamos y listo caemos en el promt del cpan. Ahora procedemos a ejecutar la instalación del cpan en su ultima versión.


cpan[1]> install cpan
Fetching with LWP:
http://www.cpan.org/authors/01mailrc.txt.gz
Reading '/root/.cpan/sources/authors/01mailrc.txt.gz'
............................................................................DONE
Fetching with LWP:
http://www.cpan.org/modules/02packages.details.txt.gz
Reading '/root/.cpan/sources/modules/02packages.details.txt.gz'
Database was generated on Fri, 10 May 2019 20:41:02 GMT
.............
New CPAN.pm version (v2.26) available.
[Currently running version is v2.1101]
You might want to try
install CPAN
reload cpan
to both upgrade CPAN.pm and run the new version without leaving
the current session.

...............................................................DONE
Fetching with LWP:
http://www.cpan.org/modules/03modlist.data.gz
Reading '/root/.cpan/sources/modules/03modlist.data.gz'
DONE
Writing /root/.cpan/Metadata
Warning: Cannot install cpan, don't know what it is.
Try the command

i /cpan/

to find objects with matching identifiers.

Antes de instalar los siguientes módulos de PERL, tenemos que tener instalado las siguientes librerías:

* libarchive-zip-perl
* libsoap-lite-perl
* libxml-simple-perl
* libnet-ip-perl
* libapache-dbi-perl
* libmojolicious-perl
* libplack-perl
* libyaml-0-2
* libswitch-perl

Instalamos los siguientes módulos de Perl:

* YAML
* XML::Entities
* SOAP::Lite
* Apache::DBI
* Mojolicious::Lite
* Plack::Handler

cpan[2]> install YAML

cpan[3]> install XML::Entities

cpan[4]> install SOAP::Lite

cpan[5]> install Apache::DBI

cpan[6]> install Mojolicious::Lite

cpan[7]> install Plack::Handler


Continuamos ahora con la instalación de la Base de Datos, que en este caso instalaremos MariaDB (la wiki de ocs recomienda instalar mariaDB), así que ejecutamos el siguiente comando: 

root@ocs:~# apt-get install mariadb-server php7.0-mysql

Vamos a cambiar la clave root, crear la BD de OCS y crear el usuario de OCS en el mariaDB:

root@ocs:~# mysql -u root

MariaDB [(none)]> set password for 'root'@'localhost' = password('ocs2019');

MariaDB [(none)]> create database ocsweb;
Query OK, 1 row affected (0.01 sec)

MariaDB [(none)]> create user 'ocs'@'%' identified by 'ocs123456';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> grant all privileges on ocsweb.* to 'ocs'@'%' with grant option;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

Que realizamos anteriormente:
* Cambiamos el password de root de mariaDB con su clave: ocs2019
* Creamos una BD llamada: ocsweb
* Creamos el usuario ocs con su clave: ocs123456
* Y darle permisos al usuario ocs sobre la BD ocsweb

Ahora vamos a proceder a descargar el OCS Inventory desde su pagina web oficial: https://www.ocsinventory-ng.org/en/ nos vamos a la pestaña que dice DOWLOADS y seleccionamos OCS Inventory Unix/Linux Server. El archivo descargado en cuestion viene en formato .tar.gz asi que procedemos a descomprimirlo, asi que ejecutamos:

root@ocs:~# tar xzf OCSNG_UNIX_SERVER_2.6.tar.gz

Accedemos a la carpeta y ejecutamos el archivo setup.sh

root@ocs:~/OCSNG_UNIX_SERVER_2.6# ./setup.sh

NOTA: durante la instalación lo mas seguro es que te aparezca este Warning:

Checking for Apache2::SOAP PERL module...
*** Warning: PERL module Apache2::SOAP is not installed !
This module is only required by OCS Inventory NG SOAP Web Service.
Do you wish to continue ([y]/n]

De igual forma puedes continuar con la instalación, pero es preferible que todo quede bien; entonces lo que tenemos que hacer es instalar el siguiente paquete e instalar el modulo en Perl:

root@ocs:~/OCSNG_UNIX_SERVER_2.6# apt-get install apache2-dev

cpan[1]> install Apache2::SOAP

Seguimos con la instalación; el OCS nos realizara una serie de preguntas el cual vamos respondiendo con Y ó N; si nos falta alguna dependencia o modulo de Perl, te indica si puede continuar o cancelar la instalación. Una vez finalizado debe mostrarnos lo siguiente:

Antes de ir al navegador tenemos que modificar 2 archivos; los archivos están ubicados en la ruta: /etc/apache2/conf-available

* z-ocsinventory-server.conf
* zz-ocsinventory-restapi.conf

root@ocs:/etc/apache2/conf-available# vim z-ocsinventory-server.conf


En este caso se modifico solo la clave.

root@ocs:/etc/apache2/conf-available# vim zz-ocsinventory-restapi.conf


Igual que el archivo anterior, solo se cambia la clave.
Ahora creamos enlaces simbólico y cambiamos permisos:

root@ocs:~# ln -s /etc/apache2/conf-available/ocsinventory-reports.conf /etc/apache2/conf-enabled/ocsinventory-reports.conf

root@ocs:~# ln -s /etc/apache2/conf-available/z-ocsinventory-server.conf /etc/apache2/conf-enabled/z-ocsinventory-server.conf

root@ocs:~# chown www-data:www-data -R /var/lib/ocsinventory-reports

root@ocs:~# /etc/init.d/apache2 restart
[ ok ] Restarting apache2 (via systemctl): apache2.service.

Ahora si procedemos abrir nuestro navegador web: http://server/ocsreports 

Colocamos los datos para la conexión a la DB, y si todo a ido bien, nos muestra la siguiente pantalla:


Hacer click en OCS-NG GUI:




Hasta este punto ya tenemos el OCS Inventory instalado y funcionando, solo nos queda agregar a los agentes en los servidores o PC. Como ven no es complicada la instalacion, pero si tediosa cuando te da errores por falta de alguna dependencia o modulo de Perl.

Referencias WEB:




martes, 7 de mayo de 2019

Openvas - Greenbone Security Assistant

En una entrada anterior explique como instalar OpenVas en Kali ahora vamos a proceder para explicar en parte como utilizar la interfaz web de OpenVas que es el Greenbone Security Assistant. 

Antes que nada, debemos de actualizar las firmas del OpenVas, así que ejecutamos:

root@kalilinux:~# openvas-feed-update





Procedemos a iniciar nuestro OpenVas, ejecutando el siguiente comando:

root@kalilinux:~# openvas-start




Como ven en la ultima imagen, el navegador web se inicia con la siguiente url: https://127.0.0.1:9392


Iniciamos sesión con nuestro usuario y password y ahora si, vamos a los que vinimos. Lo primero que nos encontraremos es el Dashboard del Greenbone Security Assitant el cual no posee nada ya que no hemos realizado ningún análisis.


Ahora vamos agregar las maquinas a las cuales les realizaremos el scaneo; para esto nos vamos donde dice: 

* Configuration --> Targets


* New Target


     .- Name (Nombre del Servidor)
     .- Manual (IP servidor)

 Las demás opciones dejarlas predeterminadas, y darle al botón Create.


Nos toca configurar la tarea a realizar, o sea el tipo de escaneo a realizar:
 * Scans ---> Tasks


* New Task


.- Name: nombre del scaneo
.- Scan Targets: Selecciona el servidor a escanear, en este caso Server01
.- Schedule: marcar casiila once (ver imagen).



Luego de crear la nueva tarea, nos aparecerá en la barra de tareas el nuevo Scan a realizar al Server01:

Para ejecutarlo, solo le damos clic al boton verde
y en la parte superior el auto-refresh de la pagina, el cual podemos elegir el tiempo que deseamos para refrescar la pagina:

Y cada vez que se va refrescando la pagina, nos muestra el progreso del scaneo:


Una vez culminado el escaneo, nos muestra los resultados del análisis realizado:


El resultado como tal, ninguna vulnerabilidad grave; si existiera alguna, nos mostraría  la vulnerabilidad y los pasos que podemos realizar para corregirla; en mi caso la vulnerabilidad LOW que me muestra es:


Se observa el tipo de solución tanto para Windows como para Linux, el impacto y los resultados de la vulnerabilidad. Estos resultados podemos descargarlos en formato PDF.
Es cuestión de ir jugando con la aplicación para conocerla y entenderla. 

Entendiendo un poco a Greenbone Security Assistant; en la pestaña Configuration ---> Port Lists vemos el listado de los tipos de escaneo que podemos elegir cuando creamos un New Targets:


y en Configuration ---> Scan Configs se lista los diferentes scaneo a realizar, el cual se declaran cuando creamos un New Task:


Estos listados de Port Lists y Scan Configs pueden ser personalizados y ajustarlos a nuestra necesidad para el tipo de Escaneo que queremos realizar. En lo personal utilizo esta aplicación para escanear los servidores en mi red local, mucho cuidado del como la utiliza en su entorno y mas si es sobre servidores en producción.

Espero sirva de algo este post para algún amigo Debianero, de igual forma se escuchan sugerencias. Saludos.

Post Relacionado:


Referencias WEB: