Todo servicio a través de internet, necesita disponer de un servidor protegido de intrusiones mal intencionadas, que puedan generar cáos en la calidad del mismo. Esto podemos minimizarlo con la ayuda de un firewall, por ello vamos a instalar y configurar de forma básica un producto que cumple con todo lo esencial.
Se trata de CSF (ConfigServer Security & Firewall), un cortafuegos de código abierto, con facultades especiales que nos permiten realizar los controles necesarios para mejorar la seguridad de nuestros servidores.
Entre sus características más destacadas podemos mencionar:
- Bloquear/Permitir Puertos
- Intentos Fallidos de autentificacion ( LFD ) a cuentas de FTP y correo electrónico
- Bloqueo Temporal o Permanente de Ip que cumplan con las reglas configuradas.
- Bloqueo de Escaneo de Puertos.
- Prevenir y mitigar ataques DOS/DDOS
- Ataques de Fuerza Bruta.
Y para quienes prefieran, es posible administrarlo desde una GUI, en nuestro caso explicaremos como instalarlo para ser usado en el Webmin.
El proceso de instalación que realizamos como root, cumple con el propósito de configurar el CSF para Webmin, pero no impide el poder administrarlo desde la consola.
Iniciamos descargando el paquete en el directorio:
cd /usr/src/ wget https://download.configserver.com/csf.tgz
Se procede a descomprimir el archivo descargado en la ruta /usr/src/ para su instalación
tar -xzf csf.tgz
Entramos en la carpeta CSF y ejecutamos el script:
cd /usr/src/csf
sh install.sh
Podemos testear la instalación del CSF ejecutando el siguiente script. Para este caso, estamos asumiendo, que ya contamos con el paquete de perl, instalado como dependencia con webmin tal como explicamos en un post anterior.
perl /usr/local/csf/bin/csftest.pl
Ya en este punto, podemos decir que una vez testeado, podemos hacer uso normal desde la consola y proceder a culminar su configuración, para hacer uso del GUI (Webmin).
Para utilizar CSF en Webmin, es necesario instalar dos librerías adicionales:
- perl-libwww-perl
- perl-GDGraph
Si por ejemplo utilizamos CentOS o cualquier otra derivada de RHEL, lo podemos instalar ejecutando:
yum install perl-libwww-perl perl-GDGraph
Luego iniciamos sesión en nuestro webmin con nuestro usuario de root
Procedemos a instalar el CSF como un módulo dentro del webmin, siguiendo la siguiente ruta.
Webmin >> Configuracion de Webmin >> Modulos de Webmin
seleccionamos el archivo csfwebmin.tgz desde la siguiente ruta.
/usr/local/csf/csfwebmin.tgz
Instalamos el módulo:
Cerramos sección del webmin e ingresamos de nuevo. En el menú del Webmin, nos vamos al apartado de Sistema, y accedemos al Firewall (CSF)
Presentamos dos detalles iniciales a corregir, uno refiere a la modificación del modo test con el que inicia la aplicación, para ello, se precisa modificar el valor de la variable TEST en (FIREWALL CONFIGURATION), debemos apagarlo, poniendo el valor en «0».
Ademas se requiere que pongamos dentro de los puertos permitidos TCP_IN el port del Webmin (10000). Podemos hacerlo de dos formas, desde la consola o desde el webmin.
Vamos a realizarlo desde la consola, así que editamos el archivo:
vi /etc/csf/csf.conf
buscamos la variable, TCP_IN y agregamos el puerto 10000.
Reiniciamos el CSF, con el comando:
csf -r
Queda pendiente el tema del mensaje del RESTRICT_SYSLOG, este valor por recomendación, piden colocarlo en 3. Dentro del mismo archivo /etc/csf/csf.conf
vi /etc/csf/csf.con
editamos la variable colocando el valor en 3 y reiniciamos de nuevo el servicio del CSF
csf -r
En una próxima entrada, explicaremos al detalle, la configuración necesaria para tener nuestro servidor protegido.
Gracias por la colaboración @anger y quedamos a la espera de ese próximo post en el que nos expliques lo de la configuración de CSF.
Un abrazo amigo!
Excelente nota. Tenia pendiente leer este articulo y ahora pude leer con detenimiento. Esperando más aporte tuyo y muy agradecido. Voy a probarlo en Calculate Linux este fin de semana (o el pròximo) y te comento.