Clicky

Guía de instalación y uso del cortafuegos CSF

ConfigServer Security & Firewall

ConfigServer Security & Firewall proporciona una muy buena seguridad a los servidores contra ataques

ConfigServer Security & Firewall (CSF) es potente conjunto de secuencias de comandos de Unix que ayudan a configurar correctamente el firewall iptables, así como proporciona un demonio que comprueba errores de autenticación de inicio de sesión. Cada opción se describe ampliamente e incluso la instalación por defecto comprueba la configuración actual y luego da consejos para mejorar la seguridad de tu servidor.

 

CSF ayuda en el bloqueo al acceso público y restringe a lo que se puede acceder como correos electrónicos o páginas web, etc. Para añadir más potencia a esto, incluye un proceso denominado Login Failure Daemon (LFD) que funciona todo el tiempo escaneando intentos de conexión al servidor para detectar ataques de fuerza bruta. Hay una serie de extensas comprobaciones que LFD puede llevar a cabo para ayudar a alertar al administrador del servidor de cambios en el servidor, problemas potenciales y posibles compromisos.

LFD también bloquea IPs si ha fallado un gran número de inicios de sesión desde esa dirección IP. El bloque es temporal. También permite al administrador ver la IP bloqueada, permitiendo un servicio de alerta de correo electrónico. Algunas de las características incluyen:

• Seguimiento de inicio de sesión
• Seguimiento del proceso
• Observación de directorio
• Características avanzadas permitir/denegar
• Información de bloqueo
• Protección de inundación de puertos

Y muchos más. Este artículo no cubre todas las características y por lo tanto para obtener información más detallada sobre cada una de las funciones lee el archivo "readme.txt" de la carpeta CSF que vamos a descargar.

Descarga e instalación

El primer paso consiste en quitar cualquier versión anterior de CSF que podría haber sido descargada y luego descargar la versión más reciente. Para llevar a cabo esto se utilizan los dos comandos siguientes:

# rm -fv csf.tgz
# wget https://download.configserver.com/csf.tgz

Ahora extraemos el archivo tar en el directorio principal y nos movemos hacia el directorio CSF.

# tar -xzf csf.tgz
# cd csf

Ahora estamos listos para instalar, pero antes de que podamos, tendremos que tener privilegios de root de lo contrario no seremos capaces de instalar. Por lo tanto, utiliza el siguiente comando para obtener privilegios de root y escribe la contraseña si te le pide.

# sudo su

Instala CSF utilizando el siguiente comando:

# sh install.sh

Una vez completada la instalación, podemos hacer la verificación. CSF prueba si nuestro sistema dispone de todos los módulos iptables requeridos. Ahora bien, cuando se ejecuta, podría indicar que puede que no sea capaz de ejecutar todas las funciones, pero que está bien. Esta prueba se puede considerar como PASS, siempre y cuando la secuencia de comandos no informea de cualquier error fatal. Para probarlo, utiliza el siguiente comando:

# perl /usr/local/csf/bin/csftest.pl

Mi resultado de ejecutar esta prueba se muestra a continuación:

Testing ip_tables/iptable_filter...OK
Testing ipt_LOG...OK
Testing ipt_multiport/xt_multiport...OK
Testing ipt_REJECT...OK
Testing ipt_state/xt_state...OK
Testing ipt_limit/xt_limit...OK
Testing ipt_recent...OK
Testing xt_connlimit...OK
Testing ipt_owner/xt_owner...OK
Testing iptable_nat/ipt_REDIRECT...OK
Testing iptable_nat/ipt_DNAT...OK

RESULT: csf should function on this server

Retira otros cortafuegos

Es importante eliminar los servidores de seguridad antiguos o cualquier otra configuración de cortafuegos para proteger el servidor. Esto es debido a que el conflicto de servidores de seguridad puede dar lugar a fallos o inaccesibilidad. Además no se puede instalar ningún otro firewall iptables si ya existe, entonces tienes que ser eliminado en esta etapa. La mayoría de los sistemas es probable que tengan el cortafuegos APF + BFD y tiene que ser eliminado. Así que utiliza el siguiente comando para detectarlos y eliminarlos si es que existen.

# sh /usr/local/csf/bin/remove_apf_bfd.sh

No los tenía pre-instalados, por lo que la salida en mi sistema es la siguiente:

Removing apf and/or bfd...

/usr/local/csf/bin/remove_apf_bfd.sh: line 5: apf: command not found
error reading information on service apf: No such file or directory
error reading information on service apf: No such file or directory

...Done

Desinstalación de CSF y LFD

Si deseas eliminar por completo CSF, sólo tienes que utilizar los dos comandos siguientes:

# cd /etc/csf
# sh uninstall.sh

Configuración

CSF está preconfigurado de forma automática para cPanel y DirectAdmin y trabajará con todos los puertos estándares abiertos. También CSF auto-configura el puerto SSH en la instalación donde se está ejecutando en un puerto no estándar. CSF también coloca tu dirección IP en la lista blanca conectado siempre que sea posible en la instalación. Pero sin embargo el control total puede ser tomado por el administrador y CSF puede ser configurado manualmente para adaptarlo a las necesidades de cada tipo de servidor.

CSF se instala en el directorio "/etc/csf" y el usuario requiere privilegios de root incluso para acceder al directorio. Este directorio se compone de todos los archivos necesarios para configurar y ejecutar CSF. En primer lugar, "csf.conf" es el archivo que ayuda a la activación/desactivación y la gestión de cada posible uso y función de CSF. Maneja todas las configuraciones. El directorio también contiene varios archivos como "csf.syslog" que contiene donde se almacenarán los archivos de registro, el archivo "csf.allow" que se utiliza para permitir pasar una dirección IP a través del firewall, y muchos más.

Uso de CSF para ver las direcciones IP

La opción "w" o "--watch" se puede utilizar para observar y registrar los paquetes desde un origen especificado a medida que atraviesan las cadenas de iptables. Esta característica es particularmente útil cuando en el seguimiento en esa dirección IP se cae o es aceptado por iptables. Ten en cuenta que en cualquier momento del tiempo sólodeben ser vigiladas unas pocas direcciones IP y por un corto período de tiempo, de lo contrario el archivo de registro se inunda con estas entradas. Para finalizar la vista tendrás que reiniciar CSF, debido a que el control no sobrevive al reinicio.

Los pasos para el reloj son:

• Ir al archivo de configuración llamado "csf.conf" presente en /etc/csf este es el archivo de configuración. Busca "WATCH_MODE" y coloca el valor en "1". Esto es permitir.
• Reinicia CSF y LFD
• Utiliza el siguiente comando para ver la IP. Asegúrate de cambiar la IP que se muestra a continuación por la que desees.

# csf -w 11.22.33.44

• Ver las iptables del núcleo de registro para las entradas vistas de la dirección IP

Una vez hecho esto, desactiva WATCH_MODE y reinicia el CSF y LFD. El siguiente es un ejemplo de registro de reloj reducido de 192.168.254.4 que conectan al puerto 22:

Firewall: I:INPUT SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22
Firewall: I:LOCALINPUT SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22
Firewall: I:GDENYIN SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22
Firewall: O:GDENYIN SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22
Firewall: I:DSHIELD SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22
Firewall: O:DSHIELD SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22
Firewall: I:SPAMHAUS SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22
Firewall: O:SPAMHAUS SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22
Firewall: O:LOCALINPUT SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22
Firewall: I:INVALID SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22
Firewall: O:INVALID SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22
Firewall: I:LOGACCEPT SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22

Permitir/bloquear los filtros de direcciones IP

CSF se puede utilizar para agregar permitir y negar filtros avanzados utilizando lo siguiente:

# tcp/udp|in/out|s/d=port|s/d=ip|u=uid

El desglose de este formato se muestra a continuación:

tcp/udp : EITHER tcp OR udp OR icmp protocol
in/out : EITHER incoming OR outgoing connections
s/d=port : EITHER source OR destination port number (or ICMP type)
(use a _ for a port range, e.g. 2000_3000)
s/d=ip : EITHER source OR destination IP address
u/g=UID : EITHER UID or GID of source packet, implies outgoing
connections, s/d=IP value is ignored

Permitir direcciones IP

Las direcciones IP pueden ser excluidas de forma individual o en rangos mediante su inclusión en el archivo csf.allow. Aquí supongamos que queremos añadir el rango de 2.3.*.*, que representamos en la notación CIDR y también queremos permitir la IP 192.168.3.215. Para ello, utiliza el siguiente comando:

# /etc/csf/csf.allow nano

Añadir las siguientes líneas (si el IP que deseas es diferente, cambiarlo):

2.3.0.0/16
192.168.3.215

Bloqueo de direcciones IP

De manera similar pueden ser bloqueados direcciones IP o rangos de IP. Pero recuerda que las IP presentes en el archivo csf.allow se permitirán incluso si están presente en el archivo de bloqueo. Para bloquear IPs usa el mismo proceso que para permitir, pero en lugar del archivo "csf.allow", escribe las direcciones IP en el archivo "csf.deny" presente en el directorio /etc/csf.

Ignorar direcciones IP

También es posible hacer caso omiso de direcciones IP. Es decir las direcciones IP proporcionados en el archivo "csf.ignore" serán pasadas por alto por el servidor de seguridad, pero sólo puede ser bloqueadas si se incluyen en el archivo csf.deny.

Conclusión

Las anteriores son sólo algunas de las muchas características que ofrece CSF. Es muy útil y proporciona una muy buena seguridad a los servidores contra ataques y también proporciona un control total de la configuración para que un servidor puede funcionar sin problemas. Para aprender y utilizar muchas otras características de CSF, consulta el archivo readme.txt de la carpeta extraída, que da una breve descripción de todas las características y la forma en que un administrador puede utilizarlo.

Instalar ConfigServer Security & Firewall en Webmin

CSF ofrece módulo de Webmin incluido en su propio paquete de instalación. Para la instalación estándar de CSF + LFD en tu servidor, puedes ir a:

Webmin → Webmin Configuration → Webmin Modules → From local file → /usr/local/csf/csfwebmin.tgz → Install Module

instalar módulo CSF en Webmin

Después de la instalación, verás la siguiente pantalla:

Csf install

El último paso es la actualización del enlace simbólico en el módulo de webmin:

Csf symlink

Jesus_Caceres