Basado en Linux Debian 10

Seguridad por oscuridad para Apache y OpenSSH

YouTube

Proyecto P4Ahora que sabemos cómo instalar Linux Debian Base y tenemos instalado el Servidor Web Apache tenemos dos servicios a los que remotamente se puede acceder. Tanto si estas siguiendo el proyecto P4 como no, seria ideal que aplicaras esta técnica a tu servidor.

Para mejorar la seguridad en nuestro servidor además de protegernos con diversas aplicaciones podemos esconder cosas. La seguridad por oscuridad en Apache y OpenSSH trata de ocultar todo lo que podamos de nuestro sistema ante un posible escaneo externo el cual puede dar varias pistas a quien quiera atacar nuestro sistema y para ello vamos a ver unos ejemplos.

Si quieres atacar una maquina lo primero que hay que hacer es escanearla y ver qué puertos tiene abiertos y qué servicios ofrece. Si encontramos la versión de los programas que ofrecen servicios podemos buscar agujeros de seguridad sobre ese programa y versión especifica.

Antes de comenzar a retocar los programas vamos a instalar el que para mí es el mejor escáner de puertos. El no es otro que nmap y con él vamos a hacer la primera práctica.

 

Escaner de puertos con Nmap

Para comenzar nos identificamos en nuestro servidor como root con …

su

Una vez identificados instalamos nmap con …

apt install nmap

Ahora vamos a escanear nuestro servidor con …

nmap -sV localhost

Cómo podemos ver una vez finalizado el escaneo tenemos el puerto 22/80 abiertos y se ven las versiones que usan nuestros programas.

Esto es algo que si lo modificamos y ponemos otras versiones que no sean las reales simplemente conseguiremos despistar al atacante y en esto de la seguridad informática todo suma.

 

Seguridad por Oscuridad en el Servidor Web Apache

De serie Apache muestra la versión del servidor como podemos ver a continuación …

index

Puedes ver esto si dejas un directorio sin ficheros y lo cargas desde tu navegador web.

Si dejamos esto tal cual quien quiera atacarnos tendrá datos para empezar a buscar fallos de seguridad en la versión y como explotarlos.

Si borramos esto no es que estemos seguros del todo pero se lo ponemos más difícil a quien tenga ganas de jugar con nuestro sistema.

Para ello editamos el fichero de configuración de se seguridad de Apache con …

vi /etc/apache2/conf-available/security.conf

Ahora buscamos las directivas …

ServerTokens OS

ServerSignature On

Y las modificamos dejándolas así …

ServerTokens Prod 

ServerSignature Off

Seguidamente guardamos los cambios y reiniciamos el servidor web Apache con …

systemctl reload apache2

Ahora si volvemos a cargar la dirección web veremos que todo ha desaparecido…

Seguridad por oscuridad para Apache y OpenSSH

 

Seguridad por Oscuridad en el Servidor OpenSSH

Para borrar la versión de OpenSSH por completo hay que editar con un editor hexadecimal el paquete pero desde su archivo de configuración podemos no borrar la versión por completo pero si algunos datos valiosos …

Seguridad por oscuridad para Apache y OpenSSH

Cómo podemos ver se ve la versión que usamos de OpenSSH y la versión del sistema operativo.

Podemos borrar la versión del sistema operativo editando el siguiente fichero …

vi /etc/ssh/sshd_config

Agregamos al final del archivo lo siguiente …

DebianBanner no

Guardamos el fichero y reiniciamos el servicio para que coja los cambios …

systemctl restart sshd

Ahora aun podemos ver la versión de OpenSSH que tenemos pero la versión del sistema operativo ya la tenemos escondida …

Openssh

Si no nos quedamos agusto y lo que queremos es eliminar la versión por completo vamos a hacerlo.

Para poder editar el archivo del servidor OpenSSH necesitamos un editor hexadecimal que se pueda ejecutar en una terminal, para ello instalaremos el programa Hexedit con …

apt install -y hexedit

Una vez instalado vamos a hacer una copia de seguridad del fichero …

cp /usr/sbin/ssh /usr/sbin/ssh.ORIGINAL

Ahora hacemos una copia que será la que editemos …

cp /usr/sbin/sshd /usr/sbin/sshd.MOD

Ahora con el editor hexadecimal editamos el fichero …

hexedit /usr/sbin/sshd.MOD

Veremos una pantalla como esta …

hexedit

La columna que nos interesa es la de la derecha que es la ASCII, con la tecla TAB puedes pasar de una columna a otra.

Nos situamos en la de la derecha y buscamos la versión que SSH muestra con la tecla CTRL + S y buscamos la versión, en mi caso es la 7.9

OpenSSH

Como se puede ver aquí la tenemos …

OpenSSH 2

Modificamos la versión y ponemos lo que queramos siempre y cuando no alteremos el orden de caracteres …

version ssh

Ahora guardamos el fichero pulsando CTRL + X y la tecla Y para aceptar.

Con esto ya tenemos modificada la versión, ahora borramos el original …

rm /usr/sbin/sshd

Copiamos el fichero editado a la ruta donde debe de estar instalado …

cp /usr/sbin/sshd.MOD /usr/sbin/sshd

Finalizamos reiniciando el servicio sshd para que coja los cambios …

systemctl restart ssh

Escaneo de versiones con Nmap

Ahora si escaneamos el servidor con el escáner de puertos nmap

nmap -sV IP

Veremos que ahora la versión ha cambiado por la que le pusimos …

nmap

Con estas medidas de seguridad que acabamos de tomar no estamos salvo porque nada que esté conectado a internet lo está pero por lo menos las cosas no se las ponemos fácil a quien quiera hacer de las suyas con nuestro sistema.