[Git][venenux/alpine-espanol][master] 2 commits: documentos - fail2ban completo con euristica y avanzados para server

0 views
Skip to first unread message

VeGNUli (@vegnuli)

unread,
Jan 15, 2024, 9:43:37 AMJan 15
to venenux...@googlegroups.com

VeGNUli pushed to branch master at venenux / alpine-espanol

Commits:

  • 980ef787
    by mckaygerhard at 2024-01-15T10:42:38-04:00
    documentos - fail2ban completo con euristica y avanzados para server
    
  • c48051be
    by mckaygerhard at 2024-01-15T10:42:59-04:00
    Merge remote-tracking branch 'refs/remotes/origin/master'
    
    * documentos - fix index apc and fix get back click, alpine fail2ban merge
    

2 changed files:

Changes:

  • documentos/README.md
    ... ... @@ -39,6 +39,9 @@ empleando los paquetes conocidos desde el repositorio sin complicarse con filtra
    39 39
     * Gestor de proyectos Redmine en [redmine-en-alpine.md](redmine-en-alpine.md), un entorno completisimo, 
    
    40 40
     similar a gitlab y github pero que soporta SVN, GIT, etc ademas su sistema wiki es mas avanzado usando macros.
    
    41 41
     
    
    42
    +* Gestionar proteccion con fail2ban en [alpine-fail2ban-avanzado.md](alpine-fail2ban-avanzado.md), 
    
    43
    +incluyendo proteccion euristica y variable, opciones y explicacion de como trabaja.
    
    44
    +
    
    42 45
     ## documentos avanzados para machos
    
    43 46
     
    
    44 47
     Todo lo anterior es para jevitas, aqui esta la cosa buena:
    

  • documentos/alpine-fail2ban-avanzado.md
    1
    +fail2ban para linux alpino
    
    2
    +============================
    
    3
    +
    
    4
    +Monitoree el **registro** de servicios comunes para detectar patrones en fallas de autenticación
    
    5
    +y toma acciones configuradas basadas en esos fallos.
    
    6
    +
    
    7
    +La wiki alpina oficial es una mierda, así que comenzamos una cuenta alpina centrada en profesionales.
    
    8
    +
    
    9
    +> **Advertencia**: ¡debe leer la LICENCIA de este documento, al final aquí!
    
    10
    +
    
    11
    +## Introducción
    
    12
    +
    
    13
    +Cuando fail2ban está configurado para monitorear los registros de un servicio, mira un filtro
    
    14
    +que se ha configurado específicamente para ese servicio. El filtro está diseñado para
    
    15
    +identificar fallas de autenticación para ese servicio específico mediante el uso de
    
    16
    +(desafortunadamente) expresiones regulares complejas y luego traducidas a una regla
    
    17
    +para prohibir el origen infractor.
    
    18
    +
    
    19
    +### Expresiones regulares
    
    20
    +
    
    21
    +Las expresiones regulares son un lenguaje de plantillas común que se utiliza para la coincidencia de patrones.
    
    22
    +básicamente consta de dos tipos de personajes:
    
    23
    +
    
    24
    +* los caracteres literales regulares y
    
    25
    +* los metacaracteres
    
    26
    +
    
    27
    +Estos metacaracteres son los que dan el poder a las expresiones regulares.
    
    28
    +Define estos patrones de expresión regular en una variable interna `failregex`
    
    29
    +y básicamente para el **filtro** del **log**.
    
    30
    +
    
    31
    +### Filtros y failregex
    
    32
    +
    
    33
    +De forma predeterminada, Fail2ban incluye **archivos de filtro** para servicios comunes. Cuando un **registro**
    
    34
    +de cualquier **servicio**, como un servidor web, coincide con `failregex` en su filtro, un
    
    35
    +La **acción** predefinida se ejecuta para ese servicio.
    
    36
    +
    
    37
    +### Acciones
    
    38
    +
    
    39
    +La **acción** se puede configurar para hacer muchas cosas diferentes, con el valor predeterminado "prohibir"
    
    40
    +el host/dirección IP infractora modificando las **reglas de firewall** locales.
    
    41
    +
    
    42
    +Esas acciones se pueden ampliar para, por ejemplo, enviar un correo electrónico al administrador del sistema.
    
    43
    +
    
    44
    +### Reintentos
    
    45
    +
    
    46
    +De forma predeterminada, se tomarán medidas cuando se produzcan **fallos de autenticación de número**
    
    47
    +detectado **en un período o tiempo** definido en minutos, con un valor predeterminado definido
    
    48
    +tiempo de prohibición. Esto es configurable.
    
    49
    +
    
    50
    +### cárceles o jails
    
    51
    +
    
    52
    +La agrupación de **reintentos** + **acciones** + **filtros** usando **expresiones regulares**,
    
    53
    +están **definidas como jaulas (jails)**, cada una contiene esas definiciones y será
    
    54
    +**traducido a un conjunto de reglas para el firewall**.
    
    55
    +
    
    56
    +Cuando se utiliza el **firewall de iptables** predeterminado, fail2ban crea un nuevo conjunto de firewall
    
    57
    +reglas, también llamadas cadena, cuando se inicia el servicio. Añade una nueva regla a
    
    58
    +la cadena INPUT que envía todo el tráfico TCP dirigido al puerto del servicio a
    
    59
    +la nueva cadena. En la nueva cadena inserta una única regla que regresa a la cadena INPUT.
    
    60
    +La cadena y las reglas asociadas se eliminan si se detiene el servicio Fail2ban.
    
    61
    +
    
    62
    +## fail2ban alpino
    
    63
    +
    
    64
    +Fail2ban se configura a través de varios archivos ubicados dentro de una jerarquía bajo
    
    65
    +el directorio `/etc/fail2ban/` por defecto.
    
    66
    +
    
    67
    +El paquete se inició desde 0.9 pero en Alpine 3.9 se incluyó un 0.10 estable.
    
    68
    +versión de fail2ban, por lo que cualquier tutorial de cómo hacerlo será válido para cualquier versión alpina.
    
    69
    +
    
    70
    +### paquete
    
    71
    +
    
    72
    +| paquete alpino  | desde | Uso breve | Paquete relacionado |
    
    73
    +| --------------- | ------ | ------------------------------- | --------------------- |
    
    74
    +| falla2ban       | v3.8  | Archivos y servicio principal de fail2ban | monitorización whois py3-dnspython |
    
    75
    +| fail2ban-test   | v3.14 | scripts de prueba auxiliares de fail2ban | |
    
    76
    +| fail2ban-openrc | v3.10 | scripts de inicio y archivos de inicio | monitorización whois py3-dnspython |
    
    77
    +| fail2ban-doc    | v3.10 | páginas de manual y archivos adicionales | mandoc de páginas de manual |
    
    78
    +| fail2ban-pyc    | v3.18 | versión compilada de las pitones | monitor whois de fail2ban |
    
    79
    +
    
    80
    +### Configuraciones
    
    81
    +
    
    82
    +Las configuraciones están definidas por el script de servicio fail2ban, después de la instalación.
    
    83
    +Necesita una base de datos backend, y también un usuario dedicado, también tiene archivos de configuración.
    
    84
    +
    
    85
    +| Artefacto | Nombre | Por defecto o empaquetado | Personalizable |
    
    86
    +| --------------- | ---------------- | -------------------------- | ------------ |
    
    87
    +| Programa binario | servidor fail2ban | `/usr/bin/fail2ban-servidor` | no |
    
    88
    +| Administrador binario | cliente fail2ban | `/usr/bin/fail2ban-cliente` | no |
    
    89
    +| Guión demonio | falla2ban | `/etc/init.d/fail2ban` | no |
    
    90
    +| Usuario demonio | falla2ban | `/var/lib/fail2ban/` | optar. ejecutar como root |
    
    91
    +| Zócalo del demonio | fail2ban.sock | `/var/run/fail2ban/fail2ban.sock` | no, depende |
    
    92
    +| Archivos de inicio de sesión | objetivo de registro | `/var/log/fail2ban.log` | no, depende |
    
    93
    +| Archivos de base de datos | archivo db | `/var/lib/fail2ban/fail2ban.sqlite3` | no, depende |
    
    94
    +| Directorio de configuración | N/A | `/etc/fail2ban/` | no |
    
    95
    +| Configuración global | fail2ban.conf | `/etc/fail2ban/fail2ban.conf` | no |
    
    96
    +| Archivo de configuración | cárcel.conf | `/etc/fail2ban/jail.conf` | no |
    
    97
    +| Personalización | cárcel.local, *.local | `/etc/fail2ban/jail.d/` | si, depende |
    
    98
    +
    
    99
    +### Lo que deberías saber
    
    100
    +
    
    101
    +Los archivos de configuración predeterminados no se pueden tocar, son solo referencias y administrados por
    
    102
    +las actualizaciones del paquete, los cambios propios del servidor pueden ser incompatibles con algunos futuros
    
    103
    +versiones, no deberías editarlo en el lugar. En resumen:
    
    104
    +
    
    105
    +El archivo `fail2ban.conf` configura algunas configuraciones operativas como la forma en que
    
    106
    +daemon registra información y el archivo socket y pid que utilizará. La configuración principal,
    
    107
    +sin embargo, se especifica en los archivos que definen las "cárceles" por aplicación.
    
    108
    +
    
    109
    +1. No cambie `jail.conf`, en su lugar simplemente cree `jail.local` y solo coloque variables modificadas.
    
    110
    +2. No cambie `filter.conf`; en su lugar, cree `filter.local` e inserte solo anular/añadir configuraciones.
    
    111
    +
    
    112
    +Cualquier valor definido en `jail.local` anulará los de `jail.conf`, pero si no hay ninguno
    
    113
    +está definido, por lo que utilizará los valores predeterminados en `jail.conf` y lo mismo para `filter.conf`.
    
    114
    +
    
    115
    +### instalacion fail2ban alpine
    
    116
    +
    
    117
    +* actualizar repositorios de apk
    
    118
    +* También se incluyen paquetes instalados de fail2ban con soporte ipv6
    
    119
    +* Se instalaron los paquetes necesarios porque los desarrolladores de Alpine son estúpidos.
    
    120
    +* agregar para iniciar el servicio de script de inicio
    
    121
    +* antes de configurar asegúrese de detener el servicio
    
    122
    +
    
    123
    +```
    
    124
    +apk update
    
    125
    +
    
    126
    +apk add fail2ban iptables ip6tables
    
    127
    +
    
    128
    +apk add monit whois py3-dnspython fail2ban-pyc logrotate python3
    
    129
    +
    
    130
    +rc-update add fail2ban
    
    131
    +
    
    132
    +/sbin/service fail2ban stop
    
    133
    +```
    
    134
    +
    
    135
    +### configuración de fail2ban con firewall predeterminado
    
    136
    +
    
    137
    +* habilitar iptables con soporte ipv6 y también ipv4
    
    138
    +* crear el archivo de configuración de la cárcel local
    
    139
    +    * por defecto, Alpine debería usar common como Debian, como lo hace Geento.
    
    140
    +    * no uses dns, los atacantes pueden cambiar el dominio con dns falsos
    
    141
    +    * prohibir la dirección infractora con un tiempo de baneo de 16 minutos, luego se le quitará la prohibición
    
    142
    +    * ventana de 10 minutos a la que prestar atención cuando se buscan atacantes repetidos
    
    143
    +    * máximos intentos fallidos en la última ventana de "findtime" período
    
    144
    +    * ignorar la dirección IP del loopback local
    
    145
    +    * ignorar la dirección IP automática del servidor o máquina
    
    146
    +    * incrementar el tiempo de prohibición si encontramos más intentos en cada nuevo intento de ataque
    
    147
    +    * no prohibir más de seis días para evitar cambios de direcciones IP dinámicas
    
    148
    +    * buscar en todas las cárceles, por lo que si hay múltiples servicios bajo ataque
    
    149
    +    * use un backend de servicio que no sea de mierda, porque usamos openrc
    
    150
    +    * codificación automática del texto de los archivos de registro para filtrar las búsquedas
    
    151
    +    * deshabilitar todas las cárceles, solo habilitamos servicios específicos
    
    152
    +    * use el modo normal no agresivo para prohibir acciones
    
    153
    +    * utilizar el servidor de firewall de iptables
    
    154
    +* iniciar el servicio
    
    155
    +* reiniciar el servicio de registro para sincronizar todos los servicios
    
    156
    +
    
    157
    +```
    
    158
    +rc-update add ip6tables && rc-update add iptables 
    
    159
    +
    
    160
    +cat > /etc/fail2ban/jail.local << EOF
    
    161
    +[INCLUDES]
    
    162
    +before = paths-debian.conf
    
    163
    +[DEFAULT]
    
    164
    +usedns               = no
    
    165
    +bantime              = 16m
    
    166
    +findtime             = 10m
    
    167
    +maxretry             = 2
    
    168
    +ignoreip             = 127.0.0.1
    
    169
    +ignoreself           = true
    
    170
    +bantime.increment    = true
    
    171
    +bantime.maxtime      = 6d
    
    172
    +bantime.overalljails = true
    
    173
    +backend              = polling
    
    174
    +logencoding          = auto
    
    175
    +enabled              = false
    
    176
    +mode                 = normal
    
    177
    +banaction            = iptables-multiport
    
    178
    +EOF
    
    179
    +
    
    180
    +/sbin/service fail2ban restart
    
    181
    +
    
    182
    +/sbin/service syslog restart || /usr/sbin/service rsyslog restart
    
    183
    +```
    
    184
    +
    
    185
    +## Cortafuegos y servicios
    
    186
    +
    
    187
    +De forma predeterminada, Fail2ban usa iptables. Sin embargo, la configuración de la mayoría de los firewalls
    
    188
    +y servicios es sencillo. Desafortunadamente, paquetes de cortafuegos en Alpine
    
    189
    +es tan malo que solo tenemos una opción (sin personalizaciones complicadas)
    
    190
    +entonces se basa en "ufw". Incluso shorewall/awall es una mierda en tales configuraciones.
    
    191
    +
    
    192
    +### configurando fail2ban con la acción predeterminada de Shorewall
    
    193
    +
    
    194
    +Cualquier Shorewall o Awall en alpine tiene problemas, y especialmente porque los 
    
    195
    +desarrolladores no tienen un buen soporte para configuraciones exquisitas, por lo que no se recomienda.
    
    196
    +
    
    197
    +El fail2ban upstream tampoco se comporta bien con el shorewall, consulte
    
    198
    +https://github.com/fail2ban/fail2ban/issues/2031#issuecomment-361612869
    
    199
    +porque **la acción del shorewall no tiene ningún "ancla", ni cadena ni mesa ni
    
    200
    +algo parecido**.
    
    201
    +
    
    202
    +El firewall alpine awall tiene algunas mejoras y ahora no depende del muro de costa,
    
    203
    +pero aún no está bien integrado, por lo que evita usarlo si instalas fail2ban.
    
    204
    +
    
    205
    +### configurando fail2ban con la acción predeterminada de firewalld
    
    206
    +
    
    207
    +No recomendado, es una basura basada en feladora python con múltiples problemas ascendentes:
    
    208
    +
    
    209
    +* https://github.com/fail2ban/fail2ban/issues/1609#issuecomment-303085942
    
    210
    +* https://github.com/fail2ban/fail2ban/issues/2666#issuecomment-601620071
    
    211
    +* https://github.com/fail2ban/fail2ban/issues/2503#issuecomment-533105500
    
    212
    +
    
    213
    +Firewalld tiene dos servidores; iptables y nftables. En el backend de iptables
    
    214
    +genérico "aceptar conexiones existentes" ocurre antes de las reglas agregadas mediante `--direct`
    
    215
    +se ejecutan y, por lo tanto, las reglas agregadas para bloquear el tráfico en realidad no bloquearán
    
    216
    +conexiones preexistentes. Cuando se agregó el backend de nftables, esto se solucionó:
    
    217
    +las reglas agregadas con --direct siempre se ejecutan antes del genérico "aceptar
    
    218
    +conexiones existentes".
    
    219
    +
    
    220
    +Conclusión: ¡firewalld siempre tiene trucos predeterminados que no son administrados por fail2ban!
    
    221
    +
    
    222
    +### configurando fail2ban con la acción predeterminada de ufw
    
    223
    +
    
    224
    +Esto sustituirá completamente los iptables por ufw (pero aún necesitarás iptables):
    
    225
    +
    
    226
    +* Paquetes fail2ban instalados con soporte ipv6 incluidos también ufw
    
    227
    +* agregar para iniciar los **servicios de script de inicio en orden específico**
    
    228
    +* antes de configurar asegúrese de detener el servicio
    
    229
    +* habilitar iptables con soporte ipv6 y también ipv4
    
    230
    +* crear el archivo de configuración de la cárcel local
    
    231
    +    * por defecto, Alpine debería usar common como Debian, como lo hace Geento.
    
    232
    +    * no uses dns, los atacantes pueden cambiar el dominio con dns falsos
    
    233
    +    * prohibir la dirección infractora con un tiempo de baneo de 16 minutos, luego se le quitará la prohibición
    
    234
    +    * ventana de 10 minutos a la que prestar atención cuando se buscan atacantes repetidos
    
    235
    +    * máximos intentos fallidos en la última ventana de "findtime" período
    
    236
    +    * ignorar la dirección IP del loopback local
    
    237
    +    * ignorar la dirección IP automática del servidor o máquina
    
    238
    +    * incrementar el tiempo de prohibición si encontramos más intentos en cada nuevo intento de ataque
    
    239
    +    * no prohibir más de seis días para evitar cambios de direcciones IP dinámicas
    
    240
    +    * buscar en todas las cárceles, por lo que si hay múltiples servicios bajo ataque
    
    241
    +    * use un backend de servicio que no sea de mierda, porque usamos openrc
    
    242
    +    * codificación automática del texto de los archivos de registro para filtrar las búsquedas
    
    243
    +    * deshabilitar todas las cárceles, solo habilitamos servicios específicos
    
    244
    +    * use el modo normal no agresivo para prohibir acciones
    
    245
    +    * utilizar el servidor de firewall ufw
    
    246
    +* iniciar el servicio
    
    247
    +* reiniciar el servicio de registro para sincronizar todos los servicios
    
    248
    +
    
    249
    +```
    
    250
    +apk update && apk add fail2ban ufw ip6tables iptables whois py3-dnspython logrotate
    
    251
    +
    
    252
    +rc-update add ip6tables && rc-update add iptables && rc-update add ufw && rc-update add fail2ban 
    
    253
    +
    
    254
    +/sbin/service fail2ban stop
    
    255
    +
    
    256
    +ufw enable
    
    257
    +
    
    258
    +cat > /etc/fail2ban/jail.local << EOF
    
    259
    +[INCLUDES]
    
    260
    +before = paths-debian.conf
    
    261
    +[DEFAULT]
    
    262
    +usedns               = no
    
    263
    +bantime              = 16m
    
    264
    +findtime             = 10m
    
    265
    +maxretry             = 2
    
    266
    +ignoreip             = 127.0.0.1
    
    267
    +ignoreself           = true
    
    268
    +bantime.increment    = true
    
    269
    +bantime.maxtime      = 6d
    
    270
    +bantime.overalljails = true
    
    271
    +backend              = polling
    
    272
    +logencoding          = auto
    
    273
    +enabled              = false
    
    274
    +mode                 = normal
    
    275
    +banaction            = ufw
    
    276
    +EOF
    
    277
    +
    
    278
    +/sbin/service fail2ban restart
    
    279
    +
    
    280
    +/sbin/service syslog restart || /usr/sbin/service rsyslog restart
    
    281
    +```
    
    282
    +
    
    283
    +
    
    284
    +> **Advertencia** esta configuración no se recomienda, hay varios problemas con ella, el firewall backend basado en iptables es la solución que mejor funciona
    
    285
    +
    
    286
    +Los desarrolladores no recomiendan la acción de firewall predeterminada para ufw,
    
    287
    +como https://github.com/fail2ban/fail2ban/discussions/3401#discussioncomment-4075123
    
    288
    +al final de las líneas, con más explicaciones.
    
    289
    +
    
    290
    +Se recomienda ufw para escanear derrotas, porque ufw depende de iptables, consulte
    
    291
    +siguiente sección para:
    
    292
    +
    
    293
    +### configurando fail2ban con escaneo de registro ufw
    
    294
    +
    
    295
    +Esto utilizará el registro ufw para prohibir los intentos de escaneo.
    
    296
    +
    
    297
    +* ¡Primero configure usando el servidor de firewall predeterminado de iptables como primera sección aquí!
    
    298
    +* Luego agregue estas configuraciones ejecutando esos comandos:
    
    299
    +
    
    300
    +```
    
    301
    +cat > /etc/fail2ban/filter.d/ufw-port-scan.conf << EOF
    
    302
    +[Definition]
    
    303
    +failregex = ^\s*\S+ kernel:(?: +\[[^\]]+\])? \[UFW (?:LIMIT )?BLOCK\] (?:\b(?:IN=\w+|OUT=|(?:(?!OUT=|IN=)[A-Z]+=[^ \[]*)+) )*SRC=<ADDR> DST=\S+
    
    304
    +ignoreregex =
    
    305
    +EOF
    
    306
    +
    
    307
    +cat > /etc/fail2ban/jail.d/03-ufw-port-scan.local << EOF
    
    308
    +[ufw-port-scan]
    
    309
    +logpath  = /var/log/ufw.log
    
    310
    +protocol = all
    
    311
    +maxretry = 10
    
    312
    +EOF
    
    313
    +
    
    314
    +/sbin/service fail2ban restart
    
    315
    +
    
    316
    +/sbin/service syslog restart
    
    317
    +```
    
    318
    +
    
    319
    +Si tiene una instalación fail2ban muy antigua, esta idea se deriva de
    
    320
    +el sitio https://blog.fernvenue.com/archives/ufw-with-fail2ban/
    
    321
    +
    
    322
    +## cárceles fail2ban o jails
    
    323
    +
    
    324
    +Nosotros evitaremos la unificación de archivos por lo que la modularización proporcionará
    
    325
    +organización sobre servicios independientes, por ejemplo podemos tener ssh y smtp
    
    326
    +pero si desinstalamos o cambiamos smtp para que el script pueda administrar las cárceles sin
    
    327
    +afecta el servicio ssh... así que podemos eliminar la cárcel smtp de forma independiente.
    
    328
    +
    
    329
    +Esas cárceles dependerán sólo de los servicios habilitados, por lo que debes conocer
    
    330
    +Expresiones regulares y filtrado. Aquí solo proporcionamos las opciones más cercanas de forma predeterminada.
    
    331
    +configuración y cómo debes hacer cada uno, ¡usando siempre la modularización!
    
    332
    +
    
    333
    +1. En primer lugar, habilitar cárceles por reincidencia para que los agresores sean castigados con mayor dureza.
    
    334
    +2. siempre habilite la cárcel del servicio ssh
    
    335
    +3. No habilite ninguna cárcel que no tenga instalado el servicio respectivo.
    
    336
    +
    
    337
    +### cárcel de recaída
    
    338
    +
    
    339
    +```
    
    340
    +cat > /etc/fail2ban/jail.d/00-recidive.conf << EOF
    
    341
    +[recidive]
    
    342
    +enabled   = true
    
    343
    +bantime   = 8d
    
    344
    +findtime  = 1d
    
    345
    +EOF
    
    346
    +
    
    347
    +/sbin/service fail2ban restart
    
    348
    +
    
    349
    +/sbin/service syslog restart
    
    350
    +```
    
    351
    +
    
    352
    +### ssh cárcel alpina
    
    353
    +
    
    354
    +En este ejemplo perfectamente preparado para cualquier servidor profesional,
    
    355
    +Usamos los archivos `alpine-sshd` ya empaquetados, ya proporcionados
    
    356
    +desde la versión fail2ban 0.10 a Alpine v3.10 y mejorado en las últimas versiones.
    
    357
    +
    
    358
    +También en este servicio agregamos un puerto 19226 personalizado al ssh interno bifurcado
    
    359
    +servicio, porque en este ejemplo tenemos dos servicios ssh ejecutándose. Si usted
    
    360
    +lo desea, o/y si cambió el puerto ssh, simplemente cambie "ssh" al número de puerto
    
    361
    +y eso es todo, si tienes múltiples servicios ssh puedes definir múltiples
    
    362
    +números de puerto. Pero si cambiaste el nombre de las secciones `sshd-key` por ejemplo,
    
    363
    +debemos definir qué filtro se utilizará, como lo hicimos aquí:
    
    364
    +
    
    365
    +```
    
    366
    +cat > /etc/fail2ban/jail.d/00-sshd.local << EOF
    
    367
    +[sshd]
    
    368
    +enabled  = true
    
    369
    +mode     = aggressive
    
    370
    +filter   = alpine-sshd
    
    371
    +port     = ssh
    
    372
    +logpath  = /var/log/messages
    
    373
    +maxretry = 2
    
    374
    +maxlines = 3
    
    375
    +[sshd-ddos]
    
    376
    +enabled  = true
    
    377
    +mode     = aggressive
    
    378
    +filter   = alpine-sshd-ddos
    
    379
    +port     = ssh
    
    380
    +logpath  = /var/log/messages
    
    381
    +maxretry = 3
    
    382
    +maxlines = 4
    
    383
    +[sshd-key]
    
    384
    +enabled  = true
    
    385
    +filter   = alpine-sshd-key
    
    386
    +port     = ssh
    
    387
    +logpath  = /var/log/messages
    
    388
    +maxretry = 2
    
    389
    +bantime  = 2d
    
    390
    +EOF
    
    391
    +
    
    392
    +/sbin/service fail2ban restart
    
    393
    +
    
    394
    +/sbin/service syslog restart
    
    395
    +```
    
    396
    +
    
    397
    +> **Nota**: el error de los inicios de sesión sin contraseña se resuelve con los paquetes 0.11+
    
    398
    +
    
    399
    +Estas configuraciones anteriores si usa la versión reciente del paquete 0.11+
    
    400
    +aborda los siguientes casos de uso:
    
    401
    +
    
    402
    +* intenta iniciar sesión con contraseñas incorrectas
    
    403
    +* intentos de iniciar sesión por parte de atacantes ddos
    
    404
    +* intenta iniciar sesión sin clave privada
    
    405
    +* intenta iniciar sesión con una clave privada incorrecta
    
    406
    +* Los intentos de iniciar sesión con una contraseña incorrecta no se registran
    
    407
    +
    
    408
    +### Cárcel PAM para locales
    
    409
    +
    
    410
    +> **Advertencia**: las últimas versiones deben usar los paquetes `shadow-login` o `util-linux-login`
    
    411
    +
    
    412
    +```
    
    413
    +apk add shadow linux-pam
    
    414
    +
    
    415
    +cat > /etc/fail2ban/jail.d/01-pam.local << EOF
    
    416
    +[pam-all]
    
    417
    +enabled  = true
    
    418
    +mode     = normal
    
    419
    +filter   = pam-generic
    
    420
    +port     = all
    
    421
    +banaction = iptables-allports
    
    422
    +logpath  = /var/log/messages
    
    423
    +maxretry = 2
    
    424
    +bantime  = 20m
    
    425
    +```
    
    426
    +
    
    427
    +`/var/log/messages` si se modifica en las definiciones de PAM, también se debe cambiar aquí
    
    428
    +
    
    429
    +### desbloquear IP solo en el servicio ssh
    
    430
    +
    
    431
    +`fail2ban-client establece sshd unbanip 10.10.1.2`
    
    432
    +
    
    433
    +### desbloquear todas las ips
    
    434
    +
    
    435
    +```
    
    436
    +fail2ban-cliente unban --all
    
    437
    +
    
    438
    +/sbin/service fail2ban restart
    
    439
    +
    
    440
    +/sbin/service syslog restart
    
    441
    +```
    
    442
    +
    
    443
    +### verificar reglas administradas en el firewall
    
    444
    +
    
    445
    +```
    
    446
    +fail2ban-client -vd
    
    447
    +
    
    448
    +iptables -L
    
    449
    +```
    
    450
    +
    
    451
    +## Cuestiones y notas importantes
    
    452
    +
    
    453
    +El entorno de la red pública puede ser complejo y peligroso, con innumerables
    
    454
    +Los dispositivos maliciosos escanean constantemente direcciones IP en Internet. Esto significa
    
    455
    +que el uso de Fail2ban en una red pública requiere un monitoreo constante de los registros y
    
    456
    +actualizaciones frecuentes de las reglas del firewall.
    
    457
    +
    
    458
    +### dirección estática versus dirección dinámica
    
    459
    +
    
    460
    +Utilice esta herramienta con cuidado y agregue cualquier dirección IP que su servicio necesite
    
    461
    +conectarse como "ignorado" Las IP, por supuesto, deben ser una dirección estática.
    
    462
    +
    
    463
    +### Bloqueo accidental e interrupción del servicio
    
    464
    +
    
    465
    +Si está utilizando Fail2ban en un entorno de red complejo o en un dispositivo de gama baja,
    
    466
    +Es posible que deba prestar especial atención al monitorear el estado del servicio.
    
    467
    +
    
    468
    +Si tiene problemas de red, con una conexión inestable, cualquier servicio TCP que
    
    469
    +estar orientado a la conexión de red sufrirá prohibiciones, porque los intentos constantes
    
    470
    +de reconexiones en fallos podrían interpretarse como ataques DOS o sondeos falsos.
    
    471
    +
    
    472
    +## Ver también
    
    473
    +
    
    474
    +* [README.md](README.md)
    
    475
    +
    
    476
    +## LICENCIA
    
    477
    +
    
    478
    +**CC BY-NC-SA**: el proyecto permite a los reutilizadores distribuir, remezclar, adaptar y construir sobre el material.
    
    479
    +en cualquier medio o formato únicamente con fines no comerciales, y únicamente siempre que se proporcione la atribución
    
    480
    +a los creadores involucrados. Si remezcla, adapta o construye sobre el material, debe obtener la licencia del material modificado.
    
    481
    +material bajo idénticos términos, incluye los siguientes elementos:
    
    482
    +
    
    483
    +* **POR**: el crédito se debe otorgar al creador de cada contenido respectivamente, comenzando por el primer colaborador.
    
    484
    +* **NC** – ¡Solo se permiten usos no comerciales de la obra, con excepciones si completa un problema aquí!
    
    485
    +* **SA** – Las adaptaciones deben compartirse bajo los mismos términos, debes obedecer estos términos y no cambiarlos.
    
    486
    +
    
    487
    +Para obtener más información, consulte [alpine/copyright.md](../../alpine/copyright.md)


View it on GitLab.
You're receiving this email because of your account on gitlab.com. Manage all notifications · Help

Reply all
Reply to author
Forward
0 new messages