El tema más importante que debemos tener diariamente en nuestras mentes como administradores de IT o usuarios frecuentes es la forma como protegemos la integridad y disponibilidad de los archivos almacenados, como protegemos la integridad de los servicios y roles del servidor y como evitamos el acceso no autorizado a los equipos en un mundo que cada día está más en línea.
Una de las soluciones más prácticas que podemos implementar en entornos Linux, en este caso usaremos CentOS 7, es implementar sistemas de firewall que nos brinden la posibilidad de llevar un control centralizado sobre el acceso y desarrollo del día a día dentro de la organización y hoy Solvetic analizara a fondo como instalar y configurar CSF en CentOS 7 para obtener un nivel de seguridad mucho mayor al acostumbrado.
CSF cuenta con tecnología que detecta accesos no debidos usando protocolos como SSH, SMTP, IMAP, Pop3 o el ya conocido, aunque no protocolo, su para acceder como super usuarios.
- Detectar accesos no autorizados a través de conexiones SSH.
- Intentos de inicio de sesión usando el comando su para adquirir potestad sobre el sistema.
- Analizar y comprobar fallos de autenticación.
- Integrado a la interfaz gráfica de WebAdmin y Cpanel.
- CSF puede autoconfigurar el puerto SSH si aún no es estándar durante su instalación.
- Bloquea el tráfico del direccionamiento IP no usado con frecuencia.
- CSF genera reportes sobre accesos sospechosos, uso excesivo de procesos por parte de los usuarios, archivos sospechosos, entre otros.
- Alerta cuando un usuario envía demasiados scripts por hora evitando así spam en los scripts.
- CSF protege paquetes BOGON.
- Compatible con diversos dispositivos Ethernet.
- CSF realiza comprobaciones periódicas de seguridad al servidor con el fin de analizar vulnerabilidades.
- CSF permite direcciones IP de DNS dinámicos.
- Puede bloquear direcciones IP de forma permanente o temporal usando TTL.
- CSF soporta direcciones IPv6.
- Hace seguimiento a los cambios en las distintas cuentas del sistema.
- Detecta el uso excesivo de puertos.
- Puede detectar ataques con acceso distribuido.
- Puede bloquear códigos de acceso por país.
- Soporta Ipset para grandes listas de direcciones IP.
Como vemos CSF es una herramienta muy completa y practica para la tarea de conservar la integridad de CentOS 7.
1. Cómo instalar las dependencias de CSF en CentOS 7
En primer lugar será necesario instalar determinadas dependencias como Perl ya que CSF está basado en este.
Ejecutaremos lo siguiente en CentOS 7:
yum install wget vim perl-libwww-perl.noarch perl-Time-HiRes
Posteriormente será necesario aceptar la descarga y respectiva instalación de los paquetes:
2. Cómo instalar y verificar CSF en CentOS 7
Una vez descargadas e instaladas las dependencias iremos al directorio /usr/src/ ingresando lo siguiente: cd /usr/src/
Ahora instalaremos CSF ejecutando la siguiente línea:
wget https://download.configserver.com/csf.tgz
Una vez descargado extraeremos el contenido ejecutando lo siguiente:
tar -xzf csf.tgz
Accedemos al directorio csf:
cd csf
Instalaremos el contenido ejecutando lo siguiente:
sh install.sh
De esta forma hemos instalado correctamente CSF en CentOS 7. Para comprobar que realmente CSF funciona de la forma adecuada en CentOS 7 ejecutaremos los siguientes comandos:
cd /usr/local/csf/bin/perl csftest.plEl resultado será similar a este:
3. Cómo configurar CSF en CentOS 7
Una vez comprobemos que CSF funciona correctamente llega el momento de su configuración en el sistema.
El primer paso es detener el servicio de firewall por defecto en CentOS 7 usando el siguiente comando:
systemctl stop firewalld
Ahora deshabilitamos el arranque automático de firewalld en el arranque de CentOS 7 usando este comando:
systemctl disable firewalld
Para configurar CSF debemos ir a la siguiente ruta /etc/csf usando el editor preferido.
Para ello usaremos los siguientes comandos:
cd /etc/csf/nano csf.conf
Allí modificaremos la línea TESTING del valor 1 a 0:
Guardamos los cambios usando las teclas:
Ctrl + O
Y salimos del editor usando las teclas:
Ctrl + X
De forma predeterminada CSF habilita el tráfico entrante y saliente por el puerto SSH 22, si deseamos editar otro puerto desde este archivo lo podremos realizar.
Algunos de los puertos más comunes a usar son:
- Puerto 21: Control de FTP
- Puerto 22: SSH
- Puerto 20: Transferencia de datos FTP
- Puerto 25: SMTP
- Puerto 53. DNS
- Puerto 80: HTTP
- Puerto 123: NTP
- Puerto 443: HTTPS
- Puerto 587: SMTP
- Puerto 995. POP3S
Ahora debemos iniciar los servicios de CSF y LFD ejecutando los siguientes comandos:
systemctl start csfsystemctl start lfd
Para conocer las reglas por defecto de CSF ejecutaremos el siguiente comando:
csf –l
4. Comandos básicos a usar en CSF CentOS 7
Algunos de los comandos básicos que podemos implementar en CSF son los siguientes:
csf –s
csf –f
csf –r
csf -d Dirección IP
csf -dr Dirección IP
csf –df
Estos son los comandos básicos a usar en CSF en CentOS 7.
5. Configuración avanzada de CSF
Esta configuración la debemos realizar en el archivo csf.conf y algunos de los parámetros más comunes son:
Esto es practico ya que CSF por defecto bloqueara las direcciones IP que se encuentran en el archivo csf.allow y ayuda a prevenir que lfd la bloquee, es útil si manejamos direcciones estáticas, para esto ubicamos la línea IGNORE_ALLOW y modificamos su valor en 1:
IGNORE_ALLOW = "1"
ICMP_IN = "1"ICMP_OUT = "1"
CC_DENY = "CN,FR,IT"CC_ALLOW = "US,CO,ES"
Para esto vamos a las siguientes líneas y establecemos su valor en uno 1:
LF_SSH_EMAIL_ALERT = "1"LF_SU_EMAIL_ALERT = "1"
Finalmente debemos indicar la dirección de correo donde seremos notificados:
LF_ALERT_TO = correo@dominio.com
Guardamos los cambios usando las teclas:
Ctrl + O
Y salimos del editor usando las teclas:
Ctrl + X
Ahora cuando alguien intente acceder con alguna de estas opciones recibiremos un correo como el siguiente:
Allí veremos la fecha y hora del intento de acceso, origen y estado del intento de acceso.
Gracias a CSF podremos llevar un control preciso, en tiempo real y confiable de todo lo que sucede dentro de CentOS 7 y así administrar con mayor confianza cada valor del sistema. También te recomendamos la siguiente herramienta para que monitorices lo que ocurre dentro de tu CentOS 7.