Este es el comando jail.conf0 que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
jail.conf - configuración para el servidor fail2ban
SINOPSIS
fail2ban.conf fail2ban.d / *. conf fail2ban.local fail2ban.d / *. local
cárcel.conf jail.d / *. conf jail.local jail.d / *. local
action.d / *. conf action.d / *. local acción.d / *. py
filter.d / *. conf filter.d / *. local
DESCRIPCIÓN
Fail2ban tiene cuatro tipos de archivos de configuración:
fail2ban.conf
Configuración global Fail2Ban (como registro)
filter.d / *. conf
Filtros que especifican cómo detectar fallas de autenticación
action.d / *. conf
Acciones que definen los comandos para prohibir y anular la prohibición de direcciones IP
cárcel.conf
Cárceles que definen combinaciones de filtros con acciones.
CONFIGURACIÓN ARCHIVOS FORMATO
* .conf Los archivos son distribuidos por Fail2Ban. Se recomienda que los archivos * .conf
permanecen sin cambios para facilitar las actualizaciones. Si es necesario, se deben proporcionar personalizaciones en
*.local archivos. Por ejemplo, si desea habilitar la cárcel [ssh-iptables-ipset]
especificado en jail.conf, cree jail.local que contenga
jail.local
[ssh-iptables-ipset]
enabled = true
En archivos .local, especifique solo la configuración que le gustaría cambiar y el resto de
La configuración vendrá entonces del archivo .conf correspondiente que se analiza primero.
jail.d / y fail2ban.d /
Además de .local, para el archivo jail.conf o fail2ban.conf puede haber un
correspondiente .D/ directorio que contiene archivos .conf adicionales. El pedido, por ejemplo, para
la cárcel la configuración sería:
cárcel.conf
jail.d / *. conf (en orden alfabético)
jail.local
jail.d / *. local (en orden alfabético).
es decir, todos los archivos .local se analizan después de los archivos .conf en la configuración original
archivo y archivos en el directorio .d. La configuración en el archivo analizado más tarde toma
precedencia sobre entradas idénticas en archivos previamente analizados. Los archivos están ordenados
alfabéticamente, p. ej.
fail2ban.d / 01_custom_log.conf - para usar una ruta de registro diferente
jail.d / 01_enable.conf - para habilitar una cárcel específica
jail.d / 02_custom_port.conf - para cambiar el (los) puerto (s) de una cárcel.
Los archivos de configuración tienen secciones, las especificadas con [nombre de la sección] y nombre = valor
pares. Para aquellos elementos de nombre que pueden aceptar varios valores, especifique los valores separados
por espacios, o en líneas separadas espacio sangrado al principio de la línea antes de la
segundo valor.
Los archivos de configuración pueden incluir otros archivos de configuración (que definen variables comunes),
que se utiliza a menudo en filtros y acciones. Tales inclusiones se definen en una sección.
llamado [INCLUYE]:
antes indica que el archivo especificado se analizará antes que el archivo actual.
después de indica que el archivo especificado se analizará después del archivo actual.
Al utilizar los mecanismos de "interpolación de cadenas" de Python, se permiten otras definiciones y pueden
luego se usará dentro de otras definiciones como% (nombre) s. Por ejemplo.
baduseragents = IE | wget
failregex = useragent =% (baduseragents) s
Comentarios: use '#' para las líneas de comentarios y '; '(el espacio es importante) para comentarios en línea.
Al usar Python2.X '; 'solo se puede usar en la primera línea debido a un error de la biblioteca de Python.
FAIL2BAN CONFIGURACIÓN ARCHIVO (S) (fail2ban.conf)
Estos archivos tienen una sección, [Definición].
Los elementos que se pueden configurar son:
nivel de registro
nivel de verbosidad de la salida del registro: CRITICAL, ERROR, WARNING, AVISO, INFO, DEBUG.
Por defecto: ERROR
objetivo de registro
destino del registro: nombre de archivo, SYSLOG, STDERR o STDOUT. Por defecto: STDERR. Solo un solo registro
se puede especificar el objetivo. Si cambia logtarget del valor predeterminado y
están usando logrotate - también ajuste o deshabilite la rotación en el correspondiente
archivo de configuración (por ejemplo, /etc/logrotate.d/fail2ban en sistemas Debian).
enchufe nombre de archivo socket. Por defecto: /var/run/fail2ban/fail2ban.sock. Esto se usa para
comunicación con el demonio del servidor fail2ban. No elimine este archivo cuando
Fail2ban se está ejecutando. No será posible comunicarse con el servidor.
después.
archivo pid
Nombre de archivo PID. Por defecto: /var/run/fail2ban/fail2ban.pid. Esto se usa para almacenar el
ID de proceso del servidor fail2ban.
archivo db Nombre de archivo de la base de datos. Por defecto: /var/lib/fail2ban/fail2ban.sqlite3 Esto define dónde
Se almacenan los datos persistentes de fail2ban. Estos datos persistentes permiten prohibir
restablecido y continuar leyendo los archivos de registro desde la última posición de lectura cuando falla2ban
se reinicia. Un valor de Ninguna desactiva esta función.
dbpurga
Antigüedad de la depuración de la base de datos en segundos. Predeterminado: 86400 (24 horas) Esto establece la edad a la que
las prohibiciones deben eliminarse de la base de datos.
CÁRCEL CONFIGURACIÓN ARCHIVO (S) (cárcel.conf)
Las siguientes opciones son aplicables a cualquier cárcel. Aparecen en una sección que especifica el
nombre de la cárcel o en el [DEFECTO] sección que define los valores predeterminados que se utilizarán si no
especificado en la sección individual.
filtrar nombre del filtro - nombre de archivo del filtro en /etc/fail2ban/filter.d/ sin el
Extensión .conf / .local. Solo se puede especificar un filtro.
ruta de registro
nombre (s) de archivo de los archivos de registro que se van a supervisar, separados por nuevas líneas. Globs -
rutas que contienen * y? o [0-9]: se pueden usar, sin embargo, solo los archivos que existen
al inicio se considerará la coincidencia de este patrón global.
La opción opcional separada por espacios 'cola' se puede agregar al final de la ruta para causar
el archivo de registro que se leerá desde el final; de lo contrario, la opción predeterminada 'head' lee el archivo desde
el comienzo
Asegúrese de que syslog o el programa que genera el archivo de registro no esté configurado para
comprimir mensajes de registro repetidos en "*último mensaje repetido 5 veces" de lo contrario
no podrá detectar. Se llama Reducción de mensajes repetidos en rsyslog y debería ser
DESC.
codificación local
codificación de archivos de registro utilizados para la decodificación. El valor predeterminado de "auto" usa la corriente
configuración regional del sistema.
DE ACTUAR! acción (es) de /etc/fail2ban/action.d/ sin el .conf/.local extensión.
Los argumentos se pueden pasar a las acciones para anular los valores predeterminados de [Init]
sección en el archivo de acción. Los argumentos se especifican mediante:
[nombre = valor, nombre2 = valor, nombre3 = "valores, valores"]
Los valores también se pueden citar (obligatorio cuando el valor incluye un ","). Más ese
La acción se puede especificar (en líneas separadas).
ignorar
lista de direcciones IP que no se deben prohibir. También pueden incluir una máscara CIDR.
ignorar comando
comando que se ejecuta para determinar si la IP candidata actual para la prohibición
no debería prohibirse. La IP no será prohibida si el comando regresa exitosamente (salir
código 0). Como ARCHIVOS DE ACCIÓN, etiquetas como se pueden incluir en el
ignore el valor del comando y se sustituirá antes de la ejecución. Actualmente solo
es compatible, sin embargo, se agregarán más más adelante.
tiempo de baneo
duración efectiva de la prohibición (en segundos).
encontrar tiempo
intervalo de tiempo (en segundos) antes de la hora actual donde se contarán las fallas
hacia una prohibición.
maxreintentar
número de fallas que deben ocurrir en el último encontrar tiempo segundos para prohibir y luego IP.
backend
backend que se utilizará para detectar cambios en la ruta de registro. Su valor predeterminado es "auto", que
intentará "pyinotify", "gamin", "systemd" antes de "polling". Cualquiera de estos puede ser
especificado. "pyinotify" solo es válido en sistemas Linux con el Python "pyinotify"
Bibliotecas. "gamin" requiere las bibliotecas "gamin".
usados use DNS para resolver los nombres de HOST que aparecen en los registros. Por defecto es "advertir"
que resolverá los nombres de host en direcciones IP, sin embargo, también registrará una advertencia. Si usted es
Si usa DNS aquí, podría estar bloqueando las direcciones IP incorrectas debido a la naturaleza asimétrica de
DNS inverso (que la aplicación utilizó para escribir el nombre de dominio en el registro) en comparación con
reenviar el DNS que utiliza fail2ban para resolver esto a una IP (pero no necesariamente
el mismo). Idealmente, debería configurar sus aplicaciones para registrar una IP real.
Esto se puede configurar en "sí" para evitar advertencias en el registro o "no" para deshabilitar DNS.
resolución por completo (ignorando así las entradas donde se registra el nombre de host, no una IP).
errorregex
expresión regular (Python riegoserpiente expresión) que se agregará a las expresiones de falla del filtro. Si esto
es útil para otras personas que usan su aplicación, por favor comparta su expresión regular
con los desarrolladores de fail2ban informando un problema (consulte INFORMACIÓN DE ERRORES a continuación).
ignorarregex
regex que, si la línea de registro coincide, haría que Fail2Ban no considerara esa línea.
Esta línea será ignorada incluso si coincide con un failregex de la cárcel o cualquiera de sus
filtros.
Backends
Las opciones disponibles se enumeran a continuación.
pyinotificar
requiere que se instale pyinotify (un monitor de alteración de archivos). Si pyinotify no es
instalado, Fail2ban utilizará auto.
niño requiere la instalación de Gamin (un monitor de alteración de archivos). Si Gamin no es
instalado, Fail2ban utilizará auto.
polling
utiliza un algoritmo de sondeo que no requiere bibliotecas externas.
sistemad
utiliza la biblioteca de python de systemd para acceder al diario de systemd. Especificando ruta de registro is
no es válido para este backend y en su lugar utiliza diario de las cárceles
configuración de filtro asociada.
Acciones
Cada cárcel se puede configurar con un solo filtro, pero puede tener múltiples acciones. Por
predeterminado, el nombre de una acción es el nombre del archivo de acción y, en el caso de las acciones de Python,
se elimina la extensión de archivo ".py". Cuando se utilicen varias de la misma acción,
los nombre del acto La opción se puede asignar a la acción para evitar la duplicación, por ejemplo:
[ssh-iptables-ipset]
enabled = true
action = smtp.py [dest =[email protected], actname = smtp-chris]
smtp.py [dest =[email protected], actname = smtp-sally]
ACCIÓN CONFIGURACIÓN ARCHIVOS (action.d / *. conf)
Los archivos de acción especifican qué comandos se ejecutan para prohibir y desbloquear una dirección IP.
Al igual que con los archivos jail.conf, si desea cambios locales, cree un [nombre de acción] .local presentar
en la categoría Industrial. /etc/fail2ban/action.d directorio y anule la configuración requerida.
Los archivos de acción tienen dos secciones, Definición y En eso .
La sección [Inicialización] habilita la configuración específica de la acción. En jail.conf / jail.local estos pueden ser
anulado para una cárcel en particular como opciones de la especificación de la acción en esa cárcel.
Los siguientes comandos pueden estar presentes en la sección [Definición].
inicio de acción
comando (s) ejecutados cuando comienza la cárcel.
acciones
comando (s) ejecutados cuando la cárcel se detiene.
control de accion
los comandos se ejecutaron antes que cualquier otra acción. Tiene como objetivo verificar si el entorno es
todavia bien.
prohibición de acción
comando (s) que prohíbe la dirección IP después maxreintentar las líneas de registro coinciden con el último
encontrar tiempo segundos.
acción
comando (s) que anula la prohibición de la dirección IP después tiempo de baneo.
La sección [Inicialización] permite la configuración de acciones específicas. En jail.conf / jail.local estos pueden
ser sobrescrito para una cárcel en particular como opciones para la cárcel. Los siguientes son especiales
etiquetas que se pueden configurar en la sección [Init]:
tiempo de espera
El período máximo de tiempo en segundos que se puede ejecutar un comando, antes de ser
delicado.
Los comandos especificados en la sección [Definición] se ejecutan a través de un shell del sistema, por lo que
Se permite la redirección de shell y el control de procesos. Los comandos deben devolver 0, de lo contrario
se registraría el error. Además si control de accion salidas con un estado distinto de 0, se toma como
Indicación de que el estado del firewall ha cambiado y fail2ban necesita reiniciarse.
(es decir, problema acciones y inicio de acción comandos). Las etiquetas están encerradas entre <>. Todos
Los elementos de [Init] son etiquetas que se reemplazan en todos los comandos de acción. Se pueden agregar etiquetas
según el fail2ban-cliente usando el "conjunto acción "comando. <br/> es una etiqueta que es
siempre una nueva línea (\ n).
Se permite especificar más de un comando. Cada comando debe estar en un
línea separada y sangría con espacios en blanco sin líneas en blanco. El siguiente ejemplo
define dos comandos a ejecutar.
actionban = iptables -I fail2ban- --fuente -j GOTA
echo ip = , partido = , tiempo = >> /var/log/fail2ban.log
Acción Etiquetas
Las siguientes etiquetas se sustituyen en actionban, actionunban y actioncheck (cuando
llamado antes de los comandos actionban / actionunban).
ip Se prohibirá la dirección IP IPv4. p. ej. 192.168.0.2
fallas
número de veces que ocurrió la falla en el archivo de registro. por ejemplo, 3
ipfallas
Según fallas, pero el total de todas las fallas para esa dirección IP en todas las cárceles
de la base de datos persistente fail2ban. Por lo tanto, la base de datos debe configurarse para este
etiqueta para funcionar.
fallos de la cárcel de ip
Según ipfallas, pero el total se basa en las fallas de IP de la cárcel actual.
time UNIX (época) hora de la prohibición. por ejemplo, 1357508484
cerillas
cadena concatenada de las líneas del archivo de registro de las coincidencias que generaron la prohibición.
Muchos caracteres interpretados por shell se escapan para evitar la inyección, sin embargo
Úselo con precaución.
coincidencias de ip
Según cerillas, pero incluye todas las líneas para la IP que están contenidas con el
base de datos persistente fail2ban. Por lo tanto, la base de datos debe configurarse para que esta etiqueta
función.
partidos de ipjail
Según coincidencias de ip, pero las coincidencias son limitadas para la IP y para la cárcel actual.
PYTHON ACCIÓN ARCHIVOS
También se pueden utilizar acciones basadas en Python, donde el nombre del archivo debe ser [nombre de acción] .py.
El archivo de Python debe contener una variable Acción que apunta a la clase Python. Esta clase debe
implementar una interfaz mínima como se describe en fail2ban.servidor.acción.ActionBase, Que puede
heredarse para facilitar la implementación.
FILTRO ARCHIVOS (filter.d / *. conf)
Las definiciones de filtro son aquellas en /etc/fail2ban/filter.d/*.conf y filter.d / *. local.
Se utilizan para identificar intentos de autenticación fallidos en archivos de registro y para extraer el
dirección IP del host (o nombre de host si usados is su verdadero).
Al igual que los archivos de acción, los archivos de filtro son archivos ini. La sección principal es la [Definición]
.
Hay dos definiciones de filtro que se utilizan en la sección [Definición]:
errorregex
es la expresión regularriegoserpiente expresión) que coincidirá con los intentos fallidos. La etiqueta
se utiliza como parte de la expresión regular y es en sí misma una expresión regular para direcciones IPv4 (y
nombres de host si usados). Fail2Ban determinará cuál de estos es realmente.
Para expresiones regulares de varias líneas, la etiqueta debe usarse para separar líneas. Esta
permite que las líneas entre las líneas coincidentes se sigan buscando para otras
fracasos. La etiqueta se puede utilizar varias veces.
ignorarregex
es la expresión regular para identificar las entradas de registro que Fail2Ban debe ignorar, incluso si
coinciden con failregex.
Al igual que las acciones, los filtros tienen una sección [Init] que se puede anular en
jail.conf / jail.local. La sección de filtro [Inicialización] está limitada a las siguientes opciones:
lineas maximas
especifica el número máximo de líneas para almacenar en búfer para que coincida con expresiones regulares de varias líneas. Para
algunos formatos de registro no será necesario cambiarlo. Otros registros pueden requerir
aumente este valor si se escribe con frecuencia en un archivo de registro en particular.
patrón de fecha
especifica un patrón de fecha personalizado / expresión regular como alternativa a la fecha predeterminada
detectores, por ejemplo,% Y-% m-% d% H:% M (? ::% S) ?. Para obtener una lista de directivas de formato válidas, consulte
Documentación de la biblioteca de Python para el comportamiento de strptime.
Además, los valores especiales de Epoch (Marca de tiempo UNIX), TAI64N y ISO8601 puede ser usado.
NOTA: debido a la sustitución de la cadena del archivo de configuración, ese% 's debe escaparse por un% en
archivos de configuración.
diario
especifica la coincidencia del diario systemd utilizada para filtrar las entradas del diario. Ver
journalctl(1) y campos-de-diario-systemd.(7) para la sintaxis de coincidencias y más detalles sobre
campos de diario especiales. Esta opción solo es válida para sistemad backend
Los filtros también pueden tener una sección llamada [INCLUYE]. Esto se usa para leer otros
Archivos de configuración.
antes indica que este archivo se lee antes de la sección [Definición].
después de indica que este archivo se lee después de la sección [Definición].
Use jail.conf0 en línea usando los servicios de onworks.net