Cortafuegos del servidor de configuración / CSF es una suite de aplicaciones de firewall para servidores Linux. CSF también es una detección de inicio de sesión/intrusión para aplicaciones como SSH, SMTP, IMAP, Pop3, el comando "su" y muchas más. LCR puede, p. detecta cuando alguien está iniciando sesión en el servidor a través de SSH y le avisa cuando este usuario intenta usar el comando "su" en el servidor para obtener mayores privilegios. También verifica fallas de autenticación de inicio de sesión en servidores de correo (Exim, IMAP, Dovecot, uw-imap, Kerio), servidores OpenSSH, servidores Ftp (Pure-ftpd, vsftpd, Proftpd), servidor cPanel para reemplazar software como fail2ban. CSF es una buena solución de seguridad para alojar servidores y se puede integrar en la interfaz de usuario (UI) de WHM/cPanel, DirectAdmin y Webmin.
Requisitos
- CentOS 7 (mi servidor usa la IP 192.168.1.101).
- privilegios de raíz.
Qué haremos en este tutorial:
- Instalar las dependencias para CSF.
- Instalar CSF.
- Configurar CSF.
- Comandos básicos de CSF.
- Configuración avanzada.
Paso 1:instalación de las dependencias de CFS
CSF se basa en Perl, por lo que primero debe instalar Perl en nuestro servidor. Necesitas wget para descargar el instalador de CSF y vim (o un editor de su elección) para editar el archivo de configuración CSF. Instale los paquetes con el comando yum:
yum install wget vim perl-libwww-perl.noarch perl-Time-HiRes
Paso 2:instalar CSF
Vaya a "/usr/src/" directorio y descarga CSF con el comando wget.
cd /usr/src/
wget https://download.configserver.com/csf.tgz
Extraiga el archivo tar.gz y vaya al directorio csf, luego instálelo:
tar -xzf csf.tgz
cd csf
sh install.sh
Debería obtener la información de que la instalación de CSF se completó al final.
Ahora debe verificar que CSG realmente funcione en este servidor. Vaya a "/usr/local/csf/bin/" y ejecute "csftest.pl" .
cd /usr/local/csf/bin/
perl csftest.pl
Si ve los resultados de la prueba como se muestra a continuación, entonces CSF se está ejecutando sin problemas en su servidor:
RESULT: csf should function on this server
Paso 3:configurar CSF en CentOS 7
Antes de iniciar el proceso de configuración de CSF, lo primero que debe saber es que "CentOS 7" tiene una aplicación de firewall predeterminada llamada "firewalld". Tienes que detener firewalld y eliminarlo del inicio.
Detenga el cortafuegos:
systemctl stop firewalld
Deshabilitar/Eliminar firewalld desde el inicio:
systemctl disable firewalld
A continuación, vaya al directorio de configuración de CSF "/etc/csf/" y edite el archivo "csf.conf" con el editor vim:
cd /etc/csf/
vim csf.conf
Cambiar línea 11 "PRUEBA" a "0" para aplicar la configuración del cortafuegos.
TESTING = "0"
De forma predeterminada, CSF permite el tráfico entrante y saliente para el puerto estándar SSH 22, si usa un puerto SSH diferente, agregue su puerto a la configuración en línea 139 "TCP_IN" .
Ahora inicie CSF y LFD con el comando systemctl:
systemctl start csf
systemctl start lfd
Y luego habilite los servicios csf y lfd para que se inicien en el momento del arranque:
systemctl enable csf
systemctl enable lfd
Ahora puede ver la lista de reglas predeterminadas de CSF con el comando:
csf -l
Paso 4 - Comandos CSF básicos
1. Inicie el cortafuegos (habilite las reglas del cortafuegos):
csf -s
2. Vaciar/detener las reglas del cortafuegos.
csf -f
3. Vuelva a cargar las reglas del cortafuegos.
csf -r
4. Permita una IP y agréguela a csf.allow.
csf -a 192.168.1.109
Resultados:
Adding 192.168.1.109 to csf.allow and iptables ACCEPT...
ACCEPT all opt -- in !lo out * 192.168.1.109 -> 0.0.0.0/0
ACCEPT all opt -- in * out !lo 0.0.0.0/0 -> 192.168.1.109
5. Eliminar y eliminar una IP de csf.allow.
csf -ar 192.168.1.109
Resultados:
Removing rule...
ACCEPT all opt -- in !lo out * 192.168.1.109 -> 0.0.0.0/0
ACCEPT all opt -- in * out !lo 0.0.0.0/0 -> 192.168.1.109
6. Denegar una IP y agregar a csf.deny:
csf -d 192.168.1.109
Resultados:
Adding 192.168.1.109 to csf.deny and iptables DROP...
DROP all opt -- in !lo out * 192.168.1.109 -> 0.0.0.0/0
LOGDROPOUT all opt -- in * out !lo 0.0.0.0/0 -> 192.168.1.109
7. Eliminar y eliminar una IP de csf.deny.
csf -dr 192.168.1.109
Resultados:
Removing rule...
DROP all opt -- in !lo out * 192.168.1.109 -> 0.0.0.0/0
LOGDROPOUT all opt -- in * out !lo 0.0.0.0/0 -> 192.168.1.109
8. Eliminar y desbloquear todas las entradas de csf.deny.
csf -df
Resultados:
DROP all opt -- in !lo out * 192.168.1.110 -> 0.0.0.0/0
LOGDROPOUT all opt -- in * out !lo 0.0.0.0/0 -> 192.168.1.110
DROP all opt -- in !lo out * 192.168.1.111 -> 0.0.0.0/0
LOGDROPOUT all opt -- in * out !lo 0.0.0.0/0 -> 192.168.1.111
csf: all entries removed from csf.deny
9. Busque una coincidencia de patrón en iptables, por ejemplo:IP, CIDR, número de puerto
csf -g 192.168.1.110
Paso 5 - Configuración avanzada
Aquí hay algunos ajustes sobre CSF, para que puedas configurarlos como necesites.
Vuelva al directorio de configuración de csf y edite el archivo de configuración csf.conf:
cd /etc/csf/
vim csf.conf
1. No bloquee las direcciones IP que se encuentran en los archivos csf.allow.
De forma predeterminada, lfd también bloqueará una IP en los archivos csf.allow, por lo que si desea que lfd nunca bloquee una IP en los archivos csf.allow, vaya a la línea 272 y cambie "IGNORE_ALLOW" a "1" . Esto es útil cuando tiene una dirección IP estática en casa o en la oficina y quiere asegurarse de que el cortafuegos de su servidor de Internet nunca bloquee su dirección IP.
IGNORE_ALLOW = "1"
2. Permitir ICMP entrante y saliente.
Vaya a la línea 152 para ping/ICMP entrante:
ICMP_IN = "1"
Y la línea 159 para ping saliente/ICMP:
ICMP_OUT = "1"
3. Bloquear ciertos países
CSF proporciona una opción para permitir y denegar el acceso por país utilizando el CIDR (Código de país). Ir a línea 836 y agregue los códigos de país que se permitirán y denegarán:
CC_DENY = "CN,UK,US"
CC_ALLOW = "ID,MY,DE"
4. Envíe el registro de inicio de sesión Su y SSH por correo electrónico.
Puede establecer una dirección de correo electrónico que utilice LFD para enviar un correo electrónico sobre "Inicio de sesión SSH" eventos y usuarios que ejecutan "su" comando, vaya a la línea 1069 y cambie el valor a "1".
LF_SSH_EMAIL_ALERT = "1"
...
LF_SU_EMAIL_ALERT = "1"
Y luego defina la dirección de correo electrónico que desea usar en línea 588 .
LF_ALERT_TO = "[email protected]"
Si desea más ajustes, lea las opciones en "/etc/csf/csf.conf" archivo de configuración.
Conclusión
CSF es un firewall basado en aplicaciones para iptables proporcionado para servidores Linux. CSF tiene muchas funciones y puede admitir herramientas de administración basadas en web como cPanel/WHM, DirectAdmin y Webmin. CSF es fácil de instalar y usar en el servidor, facilita la administración de seguridad para los administradores de sistemas.