Guía Hardening – Software, instalación y eliminación

Esta sera otra de esas entradas cortas y sencillas, pero que sentara unas bases a la hora de actuar siempre, ya sea instalando o eliminando software.
Un punto importante del hardening es la reducción de la superficie de ataque, y ya lo vimos a la hora de instalar el sistema, no es lo mismo hacer una instalación mínima, que una típica con entorno gráfico, a más paquetes y dependencias, más posibilidades y exposición a vulnerabilidades y ataques, y más trabajo, por lo que tenemos que saber de antemano que aplicaciones nos hacen falta y cuales no.

¿Necesitamos ruby, perl, python. etc.. ?
¿Acceso por ssh?
¿Entorno gráfico?

En base a preguntas como estas y sus respuestas, procederemos a generar una lista con las aplicaciones y herramientas que nos hacen falta, esta lista con el tiempo se ampliara por lo que es importante documentar como siempre todos nuestros pasos y decisiones.
Los ordenes para esta tarea son muy sencillas y dispones de varias opciones, normalmente se utiliza apt o aptitude, este último incluye un modo semigráfico, además dispone de un algoritmo más elaborado a la hora de resolver comparaciones y problemas entre paquetes.

Instalación y eliminación.

Tanto si utilizamos apt-get o aptitude al instalar o eliminar paquetes se utiliza el sufijo “install” para instalar y “remove” para eliminar, por ejemplo:

root@debian:/# apt-get install vim

installvim

Y con esta orden eliminamos VIM y los paquetes sugeridos:

root@debian:/# apt-get remove vim

removevimSencillo, rápido y sin complicaciones… bueno, no siempre, en algunas ocasiones podemos encontrarnos con problemas después de eliminar o modificar los archivos de algunos paquetes, en esta situación y para revertir el problema podemos utilizar <- -reinstall>.

root@debian:/# apt-get – -reinstall install vim

reinstallvim

El resultado final es la instalación completa de los paquetes indicados.

Seguridad de los paquetes instalados.

Como administradores de sistemas siempre debemos comprobar la autenticidad de los paquetes instalados, y en Debian disponemos de un sello de garantía contra modificaciones, este sello funciona con una firma y una cadena de «hashes» criptográficos, por lo que podemos asegurarnos que los paquetes no fueron modificados en el origen ni por terceros.
Para administrar esta llaves se utiliza el programa apt-key el cual verifica las firmas disponibles en los archivos Release.gpg de las réplicas, utilizando el conjunto de llaves públicas GnuPG, estas llaves se actualizan automáticamente por parte de Debian con el paquete debian-archive-keyring, que es el encargado de generar el conjunto de llaves.

root@debian:/# apt-key fingerprint

fingerprint

Hay que acostumbrarse y añadir estas llaves si utilizamos por algún motivo repositorios de terceros que no están firmados por Debian, ademas es muy sencillo, y lo único que necesitamos es la llave que generalmente nos proporcionan en el repositorio “archivo.asc”.

root@debian:/# apt-key add < archivo.asc

Yo, como recomendación, no añado repositorios externos a no ser que sea estrictamente necesario, y como dice Diego “utiliza el sentido común”.

Deja un comentario

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