{"id":22010,"date":"2026-11-04T08:00:00","date_gmt":"2026-11-04T07:00:00","guid":{"rendered":"https:\/\/webhosting.de\/?p=22010"},"modified":"2026-10-30T12:49:30","modified_gmt":"2026-10-30T11:49:30","slug":"crowdsec-frente-a-fail2ban-aplicacion-practica","status":"publish","type":"post","link":"https:\/\/webhosting.de\/es\/crowdsec-vs-fail2ban-praktischer-einsatz\/","title":{"rendered":"CrowdSec frente a Fail2Ban: diferencias en la aplicaci\u00f3n pr\u00e1ctica"},"content":{"rendered":"<div class=\"wh-article\" data-wh-layout=\"2.1.2\" style=\"width:100%;max-width:820px;margin:0 auto;color:#263b4b;font-family:inherit;font-size:18px;line-height:1.8;text-align:start;overflow-wrap:break-word;box-sizing:border-box\"><p class=\"wh-lead\" style=\"font-size:20px;line-height:1.7;color:#233746;margin:0 0 1.1em\">En el caso de un \u00fanico servidor con registros SSH claros, <strong style=\"font-weight:700;color:inherit\">Fail2Ban<\/strong> A menudo es la v\u00eda m\u00e1s directa hacia el bloqueo local. CrowdSec resulta especialmente adecuado cuando es necesario coordinar varias fuentes de registros, proxies o puntos de protecci\u00f3n independientes. Lo decisivo no son los nombres de los productos, sino los registros de IP de los clientes que se puedan aprovechar, un punto de aplicaci\u00f3n adecuado y excepciones verificables. Ambas herramientas reaccionan ante patrones reconocibles; no sustituyen ni a los parches ni al inicio de sesi\u00f3n seguro, ni a las reglas b\u00e1sicas del cortafuegos, ni a las copias de seguridad, ni a la supervisi\u00f3n.  <\/p>\n<nav class=\"wh-toc\" aria-label=\"Contenido de este art\u00edculo\" style=\"display:block;margin:28px 0 38px;padding:22px;border:1px solid #d9e4e8;border-radius:14px;background:#f4f8f8\"><p class=\"wh-toc-title\" style=\"font-size:13px;font-weight:700;letter-spacing:.08em;color:#49656b;margin:0 0 14px\">Ir directamente a la secci\u00f3n<\/p><div class=\"wh-toc-grid\" style=\"display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:10px\"><div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#vergleichsrahmen\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">Entender bien CrowdSec y Fail2Ban<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#fail2ban-jails\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">C\u00f3mo vincula Fail2Ban las \u00abjails\u00bb y las acciones<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#crowdsec-architektur\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">El proceso de CrowdSec: del registro al bloqueo<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#entscheidungsmatrix\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">Comparar las herramientas seg\u00fan su uso<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#vps-praxis\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">Caso pr\u00e1ctico de un VPS individual con SSH<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#proxy-und-webschutz\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">Proxies, IP real del cliente y protecci\u00f3n web<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#verteilte-setups\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">Proteger varios servidores de forma controlada<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#fehlersuche\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">Comprobar sistem\u00e1ticamente los errores t\u00edpicos<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#auswahl-und-betrieb\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">Mantener la soluci\u00f3n adecuada a largo plazo<\/a><\/div>\n<\/div><\/nav><section class=\"wh-section\" aria-labelledby=\"vergleichsrahmen\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"vergleichsrahmen\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">Entender bien CrowdSec y Fail2Ban<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">La elecci\u00f3n adecuada no depende de qu\u00e9 herramienta se considere m\u00e1s moderna, sino del servidor, los datos de registro y el punto de aplicaci\u00f3n deseado. Para un \u00fanico servicio SSH con mensajes de error claros, Fail2Ban puede resultar muy eficaz. CrowdSec cobra inter\u00e9s cuando hay que evaluar y proteger conjuntamente varias fuentes de registros, distintos niveles de protecci\u00f3n o sistemas distribuidos.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Ambas soluciones sirven para <strong style=\"font-weight:700;color:inherit\">Detecci\u00f3n de ataques basada en registros<\/strong>: Analizan eventos relevantes para la seguridad, como intentos fallidos de inicio de sesi\u00f3n, los clasifican seg\u00fan un patr\u00f3n y pueden bloquear una direcci\u00f3n IP. Para ello, Fail2Ban combina filtros y acciones en \u00abjails\u00bb. CrowdSec procesa los datos le\u00eddos a trav\u00e9s de su motor de seguridad y toma decisiones, cuya aplicaci\u00f3n corre a cargo de un componente de correcci\u00f3n independiente.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Lo decisivo es lo que realmente se registra. Sin marca de tiempo, una direcci\u00f3n IP de origen \u00fatil y una fuente de registro adecuada, ninguna de las herramientas puede atribuir un ataque de forma fiable. Adem\u00e1s, un bloqueo solo protege all\u00ed donde es t\u00e9cnicamente aplicable: una regla de cortafuegos local no sirve autom\u00e1ticamente de ayuda si el tr\u00e1fico de datos pasa primero por un proxy inverso externo o un equilibrador de carga.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Como <strong style=\"font-weight:700;color:inherit\">Prevenci\u00f3n de intrusiones<\/strong> Ambas herramientas complementan una arquitectura de seguridad, pero no la sustituyen. Las actualizaciones de seguridad corrigen las vulnerabilidades conocidas; un proceso de inicio de sesi\u00f3n seguro y, a ser posible, en varias etapas, limita el uso indebido de las cuentas; y unas reglas b\u00e1sicas restrictivas del cortafuegos reducen los servicios accesibles. Las copias de seguridad limitan los da\u00f1os tras un incidente, mientras que la supervisi\u00f3n continua de los registros tambi\u00e9n pone de manifiesto problemas que no activan ning\u00fan bloqueo.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Por lo tanto, la cuesti\u00f3n pr\u00e1ctica es la siguiente: \u00bfqu\u00e9 patrones hay que detectar, en qu\u00e9 punto debe producirse la reacci\u00f3n y qui\u00e9n se encarga de gestionar las reglas, las excepciones y los registros? Solo entonces se podr\u00e1 decidir con fundamento si basta con una configuraci\u00f3n local de \u00abjail\u00bb manejable o si los componentes independientes de CrowdSec aportan un valor a\u00f1adido apreciable a la infraestructura.<\/p>\n<\/section><section class=\"wh-section\" aria-labelledby=\"fail2ban-jails\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"fail2ban-jails\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">C\u00f3mo vincula Fail2Ban las \u00abjails\u00bb y las acciones<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Fail2Ban gestiona la detecci\u00f3n y la respuesta en <strong style=\"font-weight:700;color:inherit\">C\u00e1rceles<\/strong>. En SSH, por ejemplo, una \u00abjail\u00bb lee los protocolos de autenticaci\u00f3n o el registro del sistema. Un filtro busca en ellos los intentos fallidos de inicio de sesi\u00f3n procedentes de una IP de origen. Si, dentro del intervalo de tiempo configurado, esta IP supera el n\u00famero permitido de intentos fallidos, Fail2Ban considera la coincidencia como un caso de bloqueo. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">La acci\u00f3n posterior determina la reacci\u00f3n. A menudo complementa una regla del cortafuegos local, aunque tambi\u00e9n son posibles otras acciones configuradas. De este modo, la cadena resulta comprensible: la fuente de registro proporciona l\u00edneas, el filtro detecta los eventos relevantes, la \u00abjail\u00bb los cuenta y la acci\u00f3n aplica la contramedida prevista. Esto facilita la localizaci\u00f3n de errores, siempre que el formato del registro y el filtro sean compatibles. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Una \u00abjail\u00bb utiliza exactamente un filtro, pero puede ejecutar varias acciones. As\u00ed, por ejemplo, el mismo caso detectado de bloqueo de SSH puede desencadenar una acci\u00f3n del cortafuegos y, adem\u00e1s, activar una notificaci\u00f3n. La realizaci\u00f3n de varias acciones hace que la reacci\u00f3n sea m\u00e1s flexible, pero no altera la base de la detecci\u00f3n: todas dependen del mismo filtro y de su interpretaci\u00f3n de las l\u00edneas del registro. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Los textos escritos por uno mismo requieren un cuidado especial <strong style=\"font-weight:700;color:inherit\">Filtro de expresiones regulares<\/strong>. La documentaci\u00f3n disponible sobre los filtros es, expresamente, una gu\u00eda de desarrollo para Fail2Ban 0.9.0.dev y no una prueba de funcionamiento para una versi\u00f3n estable concreta del paquete. Sus indicaciones generales siguen siendo \u00fatiles para el desarrollo de filtros: deben cubrirse las variantes reales de los formatos de registro, mientras que los patrones no deben ser demasiado amplios. Por lo tanto, los nuevos filtros deben comprobarse primero con l\u00edneas de ejemplo anonimizadas antes de que activen bloqueos. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Los cambios locales deben guardarse siempre en archivos con la extensi\u00f3n <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">.local<\/code>, no en los entregados <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">.conf<\/code>-Archivos. De este modo, los valores personalizados para las rutas de registro, las redes permitidas o las acciones se mantienen m\u00e1s f\u00e1ciles de rastrear en las actualizaciones de paquetes y no se sobrescriben sin m\u00e1s. Adem\u00e1s, antes de la implementaci\u00f3n, se debe comprobar si la fuente de registro seleccionada existe realmente y contiene los eventos esperados. <\/p>\n<\/section><section class=\"wh-section\" aria-labelledby=\"crowdsec-architektur\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"crowdsec-architektur\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">El proceso de CrowdSec: del registro al bloqueo<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">CrowdSec separa m\u00e1s claramente la detecci\u00f3n y la aplicaci\u00f3n en componentes individuales. En primer lugar, las fuentes de adquisici\u00f3n definen qu\u00e9 registros o flujos de eventos se recopilan. Los analizadores normalizan estos datos; a continuaci\u00f3n, los escenarios eval\u00faan los patrones y el comportamiento. Si se detecta un patr\u00f3n coincidente, se genera una alerta. A partir de ah\u00ed, la API local puede tomar una decisi\u00f3n basada en los perfiles configurados, como, por ejemplo, un bloqueo de IP de duraci\u00f3n limitada.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Un breve ejemplo ilustra el proceso: los errores de autenticaci\u00f3n de un servicio llegan al motor a trav\u00e9s de la adquisici\u00f3n. Los analizadores identifican campos como la hora, el servicio y la IP de origen; un escenario eval\u00faa los intentos fallidos repetidos. La alerta generada a partir de ello se transmite a la API local, que puede tomar una decisi\u00f3n utilizando un perfil adecuado. Solo una <strong style=\"font-weight:700;color:inherit\">Componente de remediaci\u00f3n<\/strong> aplica esta decisi\u00f3n en el punto de protecci\u00f3n previsto.   <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">A este componente tambi\u00e9n se le conoce tradicionalmente como \u00abBouncer\u00bb. Dependiendo de la variante, puede aplicar decisiones, por ejemplo, en un cortafuegos, un proxy inverso o un servidor web. El motor de seguridad por s\u00ed solo detecta incidentes y gestiona las alertas y las decisiones a trav\u00e9s de la API local, pero no bloquea el tr\u00e1fico de datos. Sin un componente de correcci\u00f3n correctamente conectado, una decisi\u00f3n generada no supone m\u00e1s que una notificaci\u00f3n, sin que se produzca ning\u00fan bloqueo activo de la red o de la aplicaci\u00f3n.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">En la pr\u00e1ctica, esta separaci\u00f3n permite distribuir la detecci\u00f3n y el bloqueo entre distintos puntos de la infraestructura. Sin embargo, aumenta el alcance de las operaciones: la fuente de registros, la conexi\u00f3n local a la API, los permisos y la asignaci\u00f3n de Bouncer deben coincidir. Especialmente cuando hay varios servicios, hay que comprobar si el Remediation Component se encuentra realmente delante del servicio cuyos accesos debe bloquear en virtud de una decisi\u00f3n.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Hay que distinguir entre los aciertos de escenarios locales y la opci\u00f3n <strong style=\"font-weight:700;color:inherit\">Lista de bloqueados de la comunidad<\/strong>. En caso de participaci\u00f3n voluntaria, se pueden aportar se\u00f1ales y obtener decisiones seleccionadas sobre atacantes ya conocidos. Se trata de una fuente preventiva adicional, pero no sustituye a la detecci\u00f3n local ni garantiza la detecci\u00f3n de atacantes nuevos o que pasen desapercibidos. Por lo tanto, el origen de una decisi\u00f3n de bloqueo debe seguir siendo trazable durante el funcionamiento. <\/p>\n<\/section><section class=\"wh-section\" aria-labelledby=\"entscheidungsmatrix\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"entscheidungsmatrix\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">Comparar las herramientas seg\u00fan su uso<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">La elecci\u00f3n entre CrowdSec y Fail2Ban debe partir del aspecto de la protecci\u00f3n, no de una valoraci\u00f3n general de la calidad. Fail2Ban analiza las entradas de registro mediante filtros y las vincula a acciones en las \u00abjails\u00bb. CrowdSec procesa las fuentes de registro mediante analizadores y escenarios para generar alertas; a partir de ah\u00ed, la API local puede generar decisiones con perfiles, que a su vez se aplican mediante componentes de correcci\u00f3n independientes. Ambos dependen de que los eventos se registren correctamente.   <\/p>\n<div class=\"wh-table-scroll\" tabindex=\"0\" role=\"region\" aria-label=\"Comparaci\u00f3n de las herramientas seg\u00fan su aplicaci\u00f3n t\u00e9cnica\" style=\"width:100%;max-width:100%;overflow-x:auto;margin:28px 0;border:1px solid #dce5e9;border-radius:14px;background:#fff;box-shadow:0 10px 28px -16px rgba(24,47,60,.32);box-sizing:border-box\"><table style=\"width:100%;min-width:580px;border-collapse:separate;border-spacing:0;border:0;margin:0;font-size:15px;line-height:1.6;background:#fff\"><caption style=\"padding:20px;text-align:start;font-size:17px;line-height:1.5;font-weight:700;color:#173246;background:#fff\">Comparaci\u00f3n de las herramientas seg\u00fan su aplicaci\u00f3n t\u00e9cnica<\/caption><thead><tr><th scope=\"col\" style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#19394d;color:#fff\">Criterio<\/th><th scope=\"col\" style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#19394d;color:#fff\">Fail2Ban<\/th><th scope=\"col\" style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#19394d;color:#fff\">CrowdSec<\/th><\/tr><\/thead><tbody><tr><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">Modelo de reconocimiento<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">Filtros con expresiones regulares en jails; las coincidencias se pueden contabilizar dentro de un intervalo de tiempo.<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">Los analizadores procesan los eventos; los escenarios eval\u00faan el comportamiento y generan alertas. A partir de ello, los perfiles pueden tomar decisiones.<\/td><\/tr><tr><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">Aplicaci\u00f3n de la restricci\u00f3n<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">Acciones configurables, a menudo en el cortafuegos local.<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">Los componentes de correcci\u00f3n independientes aplican las decisiones en elementos como el cortafuegos, el proxy inverso o el servidor web.<\/td><\/tr><tr><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">Protecci\u00f3n web<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">Reacciona ante eventos ya registrados.<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">Un \u00abbouncer\u00bb de AppSec adecuado reenv\u00eda las solicitudes HTTP al componente de AppSec del motor de seguridad para su an\u00e1lisis; un \u00abbouncer\u00bb de cortafuegos no comprueba el contenido HTTP.<\/td><\/tr><tr><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">Personalizaci\u00f3n<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">Se pueden crear filtros propios, pero hay que tener muy en cuenta el formato de registro y los resultados err\u00f3neos.<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">Los analizadores, los escenarios y las colecciones son personalizables; el modelo de componentes aumenta el esfuerzo de integraci\u00f3n.<\/td><\/tr><tr><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">Inteligencia sobre amenazas<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">La lista de bloqueos colaborativa no es un componente fundamental del modelo \u00abJail\u00bb.<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">En caso de participaci\u00f3n voluntaria, una lista de bloqueo de la comunidad puede aportar criterios adicionales para la toma de decisiones.<\/td><\/tr><tr><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">Riesgo operativo<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">Los filtros o acciones inadecuados pueden bloquear accesos leg\u00edtimos.<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">Los componentes de correcci\u00f3n mal asignados o que faltan hacen que las decisiones no surtan efecto o que se bloqueen en el punto equivocado.<\/td><\/tr><\/tbody><\/table><\/div><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">La tabla no es una clasificaci\u00f3n. En el caso de unos pocos patrones de registro bien conocidos, suele ser m\u00e1s f\u00e1cil comprobar una \u00abjail\u00bb local: la fuente del registro, el filtro y la acci\u00f3n del cortafuegos se encuentran muy pr\u00f3ximos entre s\u00ed. En cuanto intervienen varias fuentes, sistemas previos o distintos puntos de aplicaci\u00f3n, puede resultar conveniente separar la detecci\u00f3n y la reacci\u00f3n en CrowdSec. Sin embargo, esto tambi\u00e9n exige gestionar las relaciones entre los componentes de forma transparente.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">En lo que respecta al criterio de protecci\u00f3n web, el nivel t\u00e9cnico es decisivo. Un \u00abBouncer\u00bb de CrowdSec aplica decisiones a nivel de red, pero no analiza el contenido HTTP. En una configuraci\u00f3n de AppSec compatible, un \u00abBouncer\u00bb adecuado reenv\u00eda las solicitudes HTTP al componente AppSec del motor de seguridad, donde se eval\u00faan las reglas de AppSec. Esta comprobaci\u00f3n complementa el desarrollo seguro y las actualizaciones puntuales, en lugar de corregir vulnerabilidades conocidas.  <\/p>\n<\/section><section class=\"wh-section\" aria-labelledby=\"vps-praxis\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"vps-praxis\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">Caso pr\u00e1ctico de un VPS individual con SSH<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">En un peque\u00f1o VPS de Linux con SSH y una pila web sencilla, Fail2Ban suele ser una opci\u00f3n f\u00e1cil de controlar. En primer lugar, comprueba si los intentos fallidos de inicio de sesi\u00f3n por SSH, con la marca de tiempo y la IP de origen, aparecen de forma fiable en el registro o diario correspondiente. Sin estos datos, una \u00abjail\u00bb no puede contabilizar de forma fiable los intentos fallidos ni pasar la direcci\u00f3n correcta a una acci\u00f3n. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">A continuaci\u00f3n, selecciona una \u00abjail\u00bb SSH adecuada y comprueba que los filtros, los intervalos de tiempo, el n\u00famero de intentos fallidos permitidos y la duraci\u00f3n del bloqueo se ajusten a tu situaci\u00f3n real de inicio de sesi\u00f3n. Una \u00abjail\u00bb vincula un filtro con una o varias acciones. De este modo, es posible, por ejemplo, delegar el bloqueo al cortafuegos local sin duplicar la l\u00f3gica de detecci\u00f3n. Para un \u00fanico host, esta vinculaci\u00f3n suele hacer que el proceso resulte transparente.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Las redes administrativas, los accesos de emergencia y los sistemas de monitorizaci\u00f3n requieren excepciones definidas de forma deliberada. Estas deben estar estrictamente limitadas y no eximir de forma generalizada a las grandes redes de proveedores. Adem\u00e1s, antes de la implementaci\u00f3n, comprueba qu\u00e9 reglas de cortafuegos establece realmente la acci\u00f3n y si IPv4 e IPv6 se ajustan al dise\u00f1o del servidor. Un inicio controlado con registros supervisados es m\u00e1s seguro que un bloqueo inmediato y prolongado.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Propia <strong style=\"font-weight:700;color:inherit\">Filtro de expresiones regulares<\/strong> solo tienen sentido cuando no existe ning\u00fan filtro que cubra ese formato de registro concreto. La gu\u00eda disponible para el desarrollo de filtros est\u00e1 etiquetada como documentaci\u00f3n de Fail2Ban 0.9.0.dev y, por lo tanto, no corresponde a ninguna versi\u00f3n estable como la 1.1.1. No obstante, sus consejos de desarrollo resultan pr\u00e1cticos: comprueba los nuevos patrones con l\u00edneas de ejemplo reales anonimizadas y con l\u00edneas similares, pero leg\u00edtimas. La herramienta de prueba <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">fail2ban-regex<\/code> Sirve para validar el filtro; no modifica ning\u00fan bloqueo de producci\u00f3n. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">La configuraci\u00f3n local debe incluirse en <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">.local<\/code>-archivos, no incluidos en la entrega <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">.conf<\/code>-Archivos. De este modo, los ajustes realizados en las actualizaciones de paquetes se pueden rastrear y no se sobrescriben por error. Tras cada cambio, comprueba por separado la entrada del registro, el estado de la \u00abjail\u00bb y la acci\u00f3n desencadenada; un servicio en ejecuci\u00f3n por s\u00ed solo no constituye a\u00fan una cadena de bloqueo efectiva. <\/p>\n<\/section><section class=\"wh-section\" aria-labelledby=\"proxy-und-webschutz\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"proxy-und-webschutz\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">Proxies, IP real del cliente y protecci\u00f3n web<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Una CDN, un equilibrador de carga o un proxy inverso modifican la direcci\u00f3n que ve el servidor. Si el servidor web solo recibe la IP del proxy y la registra como cliente, un bloqueo basado en registros podr\u00eda, en el peor de los casos, identificar al intermediario com\u00fan en lugar del visitante atacante. Por lo tanto, antes de cada \u00abjail\u00bb, cada escenario y cada regla WAF, debe quedar claro c\u00f3mo se transmite, se acepta y se registra de forma fiable la IP original del cliente.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Esta cadena de confianza no debe aceptar sin m\u00e1s cualquier encabezado entrante. Solo las direcciones de proxy conocidas deben estar autorizadas a proporcionar una direcci\u00f3n reenviada; de lo contrario, los clientes externos podr\u00edan falsificar la identidad en la que se basan la detecci\u00f3n y el bloqueo. Comprueba, mediante extractos de registros anonimizados, si los registros de la aplicaci\u00f3n y de acceso muestran la misma IP de cliente. Documenta, adem\u00e1s, el reenv\u00edo de encabezados entre el borde y el origen. Solo tras verificar la IP del cliente es posible interpretar de forma adecuada una reacci\u00f3n ante eventos HTTP sospechosos.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">A <strong style=\"font-weight:700;color:inherit\">Bloqueo de IP<\/strong> Limita las conexiones a nivel de cortafuegos antes de que lleguen a la aplicaci\u00f3n, pero no comprueba el contenido de las solicitudes. En una configuraci\u00f3n de CrowdSec AppSec compatible, un \u00abbouncer\u00bb adecuado reenv\u00eda las solicitudes HTTP al componente AppSec del motor de seguridad; donde se comprueban las reglas de AppSec correspondientes. Por el contrario, un \u00abbouncer\u00bb que funciona \u00fanicamente como cortafuegos aplica las decisiones a nivel de red y no realiza ninguna comprobaci\u00f3n HTTP. La variante m\u00e1s adecuada depender\u00e1 del punto de entrada real del tr\u00e1fico y de los componentes utilizados.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Adem\u00e1s, la detecci\u00f3n basada en registros es de car\u00e1cter retrospectivo: primero debe producirse un incidente, registrarse correctamente y reconocerse como patr\u00f3n. No impide un \u00fanico ataque exitoso sin que se produzca un incidente posterior que llame la atenci\u00f3n, ni sustituye a los parches ni a un inicio de sesi\u00f3n seguro. Por lo tanto, los componentes previos deben integrarse en la arquitectura de seguridad global con sus transferencias fiables, registros y puntos de protecci\u00f3n. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">En la pr\u00e1ctica, esto significa lo siguiente: primero decide si se debe proteger el acceso a la red, la solicitud HTTP o ambos niveles. A continuaci\u00f3n, documenta el recorrido desde la direcci\u00f3n p\u00fablica, pasando por el proxy, hasta la entrada del registro, y comprueba los bloqueos con una direcci\u00f3n de prueba autorizada. De este modo, evitar\u00e1s que una conexi\u00f3n que aparentemente funciona <strong style=\"font-weight:700;color:inherit\">Prevenci\u00f3n de intrusiones<\/strong> solo afecta al componente de infraestructura incorrecto.<\/p>\n<\/section><section class=\"wh-section\" aria-labelledby=\"verteilte-setups\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"verteilte-setups\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">Proteger varios servidores de forma controlada<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">En cuanto intervienen varios hosts, contenedores o registros recopilados de forma centralizada, la separaci\u00f3n entre la detecci\u00f3n y la aplicaci\u00f3n de medidas en CrowdSec resulta muy \u00fatil. El motor de seguridad puede evaluar eventos procedentes de fuentes definidas, mientras que los componentes de correcci\u00f3n adecuados aplican las decisiones en los puntos protegidos correspondientes. CrowdSec tambi\u00e9n documenta para ello las implementaciones distribuidas y la integraci\u00f3n junto con los flujos de registros centralizados. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Esto no reduce autom\u00e1ticamente los gastos de funcionamiento. En primer lugar, debe poder identificarse claramente, para cada fuente de registro, a qu\u00e9 servicio y a qu\u00e9 cliente est\u00e1 asignada. A continuaci\u00f3n, cada \u00abbouncer\u00bb necesita una conexi\u00f3n claramente delimitada a la API local, as\u00ed como su propia clave de acceso. Un \u00abbouncer\u00bb de proxy inverso, por ejemplo, no protege necesariamente un servicio SSH al que se puede acceder por separado; el <strong style=\"font-weight:700;color:inherit\">Asignaci\u00f3n de porteros<\/strong> debe seguir las rutas de datos reales. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Por lo tanto, el seguimiento debe incluir la gesti\u00f3n de tokens, la disponibilidad de la API, los registros de eventos y de errores, as\u00ed como la comprobaci\u00f3n de la eficacia del bloqueo. Una decisi\u00f3n no es m\u00e1s que un resultado de detecci\u00f3n hasta que el componente previsto la recupere y la aplique. En caso de modificaciones en contenedores, proxies o reglas de cortafuegos, se debe volver a comprobar esta cadena para garantizar que una detecci\u00f3n que funcione no pase desapercibida sin una reacci\u00f3n efectiva. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Si ya existen cadenas y reglas propias, el Firewall-Bouncer puede, en el <strong style=\"font-weight:700;color:inherit\">Modo \u00absolo configuraci\u00f3n\u00bb<\/strong> gestionar exclusivamente conjuntos creados previamente. La responsabilidad sobre las reglas y las cadenas recae entonces, de forma deliberada, en el administrador. Esto se ajusta a los conceptos de cortafuegos controlados y a los requisitos de cumplimiento normativo, pero exige comprender el orden de las reglas existentes y no supone una simplificaci\u00f3n para los principiantes. <\/p>\n<\/section><section class=\"wh-section\" aria-labelledby=\"fehlersuche\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"fehlersuche\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">Comprobar sistem\u00e1ticamente los errores t\u00edpicos<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Si no se produce el bloqueo, es m\u00e1s \u00fatil seguir un orden de comprobaci\u00f3n fijo que cambiar la herramienta de forma precipitada. En primer lugar, hay que aclarar si el evento esperado se recibe realmente con marcas de tiempo plausibles. A continuaci\u00f3n, hay que comprobar que la direcci\u00f3n registrada sea realmente la IP del cliente. Solo entonces se puede comprobar de forma sensata si el filtro o el escenario reconocen el patr\u00f3n y, a partir de ah\u00ed, se toma una decisi\u00f3n de bloqueo. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">En Fail2Ban, tras la entrada en el registro se lleva a cabo la comprobaci\u00f3n de la \u00abjail\u00bb, el filtro y el recuento de coincidencias. Una \u00abjail\u00bb vincula un filtro con una o varias acciones; en el caso de las rutas de registro basadas en archivos, al inicio solo se tienen en cuenta los archivos ya existentes que se ajustan al patr\u00f3n \u00abglob\u00bb. En el caso de los registros de systemd, hay que comprobar por separado el backend y los derechos de acceso. Una \u00abjail\u00bb que parezca correcta no ofrece protecci\u00f3n si no lee la fuente real. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Las expresiones regulares propias requieren especial precauci\u00f3n. La gu\u00eda de filtros disponible est\u00e1 etiquetada como documentaci\u00f3n de desarrollo para Fail2Ban 0.9.0.dev y no debe interpretarse como una referencia v\u00e1lida para la versi\u00f3n 1.1.1 de Fail2Ban. No obstante, su recomendaci\u00f3n resulta \u00fatil para el desarrollo de filtros propios: comprueba primero los patrones con l\u00edneas de ejemplo an\u00f3nimas y representativas, as\u00ed como con l\u00edneas que no coincidan deliberadamente. De este modo, se pueden detectar variantes del formato de registro y posibles clasificaciones err\u00f3neas antes de que se aplique un bloqueo en producci\u00f3n. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">En CrowdSec, tras una coincidencia con un escenario, tambi\u00e9n hay que comprobar toda la cadena de aplicaci\u00f3n: si se genera una alerta, \u00bfpuede la API local generar una decisi\u00f3n a partir de ella utilizando un perfil, y llega esta decisi\u00f3n al componente de correcci\u00f3n previsto? Sin un \u00abbouncer\u00bb correctamente conectado, la decisi\u00f3n queda sin efecto si no va acompa\u00f1ada de un bloqueo activo. A continuaci\u00f3n, hay que comprobar el funcionamiento del cortafuegos o del proxy en el punto de entrada adecuado, sin bloquearse el propio acceso administrativo.  <\/p>\n<aside class=\"wh-callout wh-callout-warning\" style=\"display:block;margin:28px 0;padding:20px 23px;border:1px solid #d1e4dd;border-left:4px solid #187065;border-radius:11px;background:#f0f7f4\"><p class=\"wh-callout-title\" style=\"margin:0 0 8px;color:#1c5c53;font-size:16px;font-weight:700;line-height:1.5\">Comprobaci\u00f3n segura antes del bloqueo<\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Prueba los cambios con un acceso administrativo independiente y documenta las excepciones. Una IP de origen asignada incorrectamente o un filtro demasiado amplio pueden bloquear a usuarios autorizados.<\/p>\n<\/aside><\/section><section class=\"wh-section\" aria-labelledby=\"auswahl-und-betrieb\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"auswahl-und-betrieb\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">Mantener la soluci\u00f3n adecuada a largo plazo<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Fail2Ban suele ser adecuado para un \u00fanico servidor con patrones de registro locales bien definidos, como intentos fallidos repetidos de conexi\u00f3n SSH. Sus \u00abjails\u00bb, filtros y acciones pueden aplicarse directamente a un servicio concreto. CrowdSec resulta m\u00e1s interesante cuando hay que coordinar varias fuentes de registros, distintos puntos de aplicaci\u00f3n o la protecci\u00f3n web con un componente adecuado. Lo decisivo es la trazabilidad de los datos, no un juicio general sobre cu\u00e1l es la herramienta m\u00e1s moderna. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Ambas soluciones requieren un proceso de modificaci\u00f3n regulado: controlar las versiones de las configuraciones, comprobar primero los nuevos filtros o escenarios con ejemplos de registros conocidos y supervisar los bloqueos. Las actualizaciones merecen la misma atenci\u00f3n. Fail2Ban 1.1.1 se public\u00f3 el 15 de agosto de 2026. Las adaptaciones locales y las acciones del cortafuegos que se aplican realmente deben compararse con el entorno de destino antes de realizar una actualizaci\u00f3n. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><strong style=\"font-weight:700;color:inherit\">Prevenci\u00f3n de intrusiones<\/strong> complementa la base de seguridad, pero no la sustituye: siguen siendo necesarias las actualizaciones puntuales, un inicio de sesi\u00f3n seguro y, a ser posible, en varias etapas, reglas de cortafuegos restrictivas, copias de seguridad y supervisi\u00f3n de registros. Especialmente en entornos de alojamiento web, tambi\u00e9n se debe mantener el tiempo de ejecuci\u00f3n de las aplicaciones. El art\u00edculo sobre <a href=\"https:\/\/webhosting.de\/es\/cloudlinux-php-antiguo-aspectos-de-seguridad-y-ambitos-de-aplicacion-safeserver\/\">CloudLinux Alt-PHP y sus aspectos de seguridad<\/a> muestra por qu\u00e9 las versiones de tiempo de ejecuci\u00f3n independientes y bien mantenidas forman parte de un modelo operativo s\u00f3lido.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">En el caso de los servicios web, la documentaci\u00f3n operativa debe incluir adem\u00e1s la ruta completa desde el cliente, pasando por la CDN o el proxy inverso, hasta el servidor de origen. Los cambios en los protocolos y las rutas de entrega pueden influir en qu\u00e9 componente acepta las conexiones y qu\u00e9 direcci\u00f3n aparece en el registro. El art\u00edculo sobre <a href=\"https:\/\/webhosting.de\/es\/http2-server-push-hosting-deployment-scenarios-cacheboost\/\">HTTP\/2 Server Push en el alojamiento web<\/a> explica, a modo de ejemplo, c\u00f3mo interact\u00faan el navegador, la CDN y el servidor web durante la entrega. En cuanto a la l\u00f3gica de bloqueo, lo fundamental \u2014independientemente de ello\u2014 es que la direcci\u00f3n IP del cliente, transmitida de forma fiable, est\u00e9 disponible en el punto de protecci\u00f3n adecuado.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">La elecci\u00f3n a largo plazo debe poder revisarse: si cambian los formatos de registro, las rutas de proxy, los servicios o el n\u00famero de servidores, un concepto que antes era adecuado puede presentar lagunas. Por eso, deja constancia de qu\u00e9 eventos deben detectarse, d\u00f3nde se aplican las decisiones y qui\u00e9n autoriza las excepciones. Esto <strong style=\"font-weight:700;color:inherit\">Disciplina laboral<\/strong> convierte el bloqueo de una direcci\u00f3n IP en una medida de protecci\u00f3n controlable, en lugar de un cambio en el cortafuegos que se realiza sin supervisi\u00f3n.<\/p>\n<\/section><section class=\"wh-sources\" style=\"margin:40px 0 0;padding:24px 0 0;border-top:1px solid #dce5e9;color:#596b7b;font-size:14px;line-height:1.65\"><h2 style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">Fuentes y estado actual de los conocimientos<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Estado de la investigaci\u00f3n: <time datetime=\"2026-10-28\">2026-10-28<\/time><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Fecha de investigaci\u00f3n y versi\u00f3n: 28 de octubre de 2026. Fail2Ban 1.1.1 se public\u00f3 el 15 de agosto de 2026. Las funciones de CrowdSec se eval\u00faan por separado seg\u00fan el motor de seguridad, los escenarios y el componente de correcci\u00f3n utilizado.<\/p><div class=\"wh-source-urls\"><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><span class=\"wh-source-url\" data-no-translation dir=\"ltr\" style=\"overflow-wrap:anywhere;font:12px\/1.6 ui-monospace,monospace;direction:ltr\">https:\/\/manpages.debian.org\/testing\/fail2ban\/jail.conf.5.en.html<\/span><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><span class=\"wh-source-url\" data-no-translation dir=\"ltr\" style=\"overflow-wrap:anywhere;font:12px\/1.6 ui-monospace,monospace;direction:ltr\">https:\/\/docs.crowdsec.net\/u\/getting_started\/intro\/<\/span><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><span class=\"wh-source-url\" data-no-translation dir=\"ltr\" style=\"overflow-wrap:anywhere;font:12px\/1.6 ui-monospace,monospace;direction:ltr\">https:\/\/manpages.debian.org\/buster\/fail2ban\/jail.conf.5.en.html<\/span><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><span class=\"wh-source-url\" data-no-translation dir=\"ltr\" style=\"overflow-wrap:anywhere;font:12px\/1.6 ui-monospace,monospace;direction:ltr\">https:\/\/fail2ban.readthedocs.io\/en\/latest\/filters.html<\/span><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><span class=\"wh-source-url\" data-no-translation dir=\"ltr\" style=\"overflow-wrap:anywhere;font:12px\/1.6 ui-monospace,monospace;direction:ltr\">https:\/\/docs.crowdsec.net\/docs\/concepts\/<\/span><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><span class=\"wh-source-url\" data-no-translation dir=\"ltr\" style=\"overflow-wrap:anywhere;font:12px\/1.6 ui-monospace,monospace;direction:ltr\">https:\/\/docs.crowdsec.net\/docs\/bouncers\/intro\/<\/span><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><span class=\"wh-source-url\" data-no-translation dir=\"ltr\" style=\"overflow-wrap:anywhere;font:12px\/1.6 ui-monospace,monospace;direction:ltr\">https:\/\/docs.crowdsec.net\/docs\/intro\/<\/span><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><span class=\"wh-source-url\" data-no-translation dir=\"ltr\" style=\"overflow-wrap:anywhere;font:12px\/1.6 ui-monospace,monospace;direction:ltr\">https:\/\/docs.crowdsec.net\/docs\/bouncers\/firewall\/<\/span><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><span class=\"wh-source-url\" data-no-translation dir=\"ltr\" style=\"overflow-wrap:anywhere;font:12px\/1.6 ui-monospace,monospace;direction:ltr\">https:\/\/github.com\/fail2ban\/fail2ban\/releases<\/span><\/p><\/div><\/section><\/div>","protected":false},"excerpt":{"rendered":"<p>CrowdSec y Fail2Ban bloquean las direcciones IP sospechosas, pero difieren en cuanto a la detecci\u00f3n, la aplicaci\u00f3n de medidas y el esfuerzo de gesti\u00f3n. La comparaci\u00f3n muestra qu\u00e9 soluci\u00f3n es la m\u00e1s adecuada para VPS, proxies y configuraciones distribuidas.<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[794],"tags":[],"class_list":["post-22010","post","type-post","status-publish","format-standard","hentry","category-sicherheit-computer_und_internet"],"acf":[],"_wp_attached_file":null,"_wp_attachment_metadata":null,"surfer_file_name":null,"surfer_file_original_url":null,"_wp_attachment_image_alt":null,"litespeed-optimize-set":null,"litespeed-optimize-size":null,"_oembed_b5e1eb923ad3b086e579b1befcd4075c":null,"_elementor_source_image_hash":null,"stockpack_author_name":null,"stockpack_author_url":null,"stockpack_provider":null,"stockpack_image_url":null,"stockpack_license":null,"stockpack_license_url":null,"stockpack_modification":null,"color":null,"original_id":null,"original_url":null,"original_link":null,"unsplash_location":null,"unsplash_sponsor":null,"unsplash_exif":null,"unsplash_attachment_metadata":null,"_elementor_is_screenshot":null,"_source_url":null,"_elementor_migrations_state_8b2d":null,"envato_tk_source_kit":null,"envato_tk_source_index":null,"envato_tk_manifest":null,"envato_tk_folder_name":null,"envato_tk_builder":null,"envato_elements_download_event":null,"_menu_item_type":null,"_menu_item_menu_item_parent":null,"_menu_item_object_id":null,"_menu_item_object":null,"_menu_item_target":null,"_menu_item_classes":null,"_menu_item_xfn":null,"_menu_item_url":null,"_trp_menu_languages":null,"rank_math_primary_category":null,"_wh_make_key":"wh_41c706717992e87e84ef759648f5030c","rank_math_internal_links_processed":"1","_wh_make_topic":"CrowdSec vs Fail2Ban \u2013 Unterschiede im praktischen Einsatz","_wh_make_input_keywords":["crowdsec vs fail2ban","intrusion prevention","server security"],"_wh_make_config":{"research_model":"gpt-5.6-terra","writer_model":"gpt-5.6-terra","review_model":"gpt-5.6-sol","image_model":"gpt-image-2.5-flare","image_quality":"high","image_format":"webp","final_status":"draft","charts_enabled":true},"_wh_make_links":{"I1":{"id":"I1","post_id":21026,"url":"https:\/\/webhosting.de\/linux-transparent-page-cache-page-cache-unterschiede-optimierung-datencache\/","title":"Cach\u00e9 de p\u00e1ginas transparente de Linux: conceptos b\u00e1sicos y diferencias con respecto a la cach\u00e9 de p\u00e1ginas cl\u00e1sica","excerpt":"En dos p\u00e1rrafos voy a explicar c\u00f3mo Linux acelera el acceso a los archivos en la RAM y c\u00f3mo una cach\u00e9 de p\u00e1ginas transparente utiliza unidades de p\u00e1gina m\u00e1s grandes para reducir la carga administrativa. Adem\u00e1s, explicar\u00e9 las diferencias con respecto a la cach\u00e9 de p\u00e1ginas cl\u00e1sica con p\u00e1ginas de 4 KiB, el efecto sobre la TLB, la fragmentaci\u00f3n y el comportamiento de la carga de trabajo. Puntos clave: el tama\u00f1o de p\u00e1gina (4 KiB frente a 2 MiB) influye en la granularidad y la eficiencia. Presi\u00f3n sobre la TLB: las p\u00e1ginas grandes reducen el n\u00famero de entradas, mientras que las peque\u00f1as mantienen la flexibilidad. Fragmentaci\u00f3n: las p\u00e1ginas grandes requieren memoria RAM contigua. Cargas de trabajo: las secuenciales se benefician mucho, las aleatorias, menos. Control: probar, medir y, a continuaci\u00f3n, configurar paso a paso. \u00bfQu\u00e9 es la cach\u00e9 de p\u00e1ginas cl\u00e1sica de Linux? La cach\u00e9 de p\u00e1ginas cl\u00e1sica mantiene en la memoria RAM las p\u00e1ginas de archivos de uso frecuente, de modo que los accesos de lectura se realicen directamente desde la RAM. Normalmente funciona con p\u00e1ginas de 4 KiB y gestiona cada p\u00e1gina como una unidad independiente en la cach\u00e9. De este modo, muchos archivos peque\u00f1os o partes muy solicitadas de archivos grandes permanecen disponibles sin sobrecargar el SSD o el HDD. El n\u00facleo da prioridad a las p\u00e1ginas activas, descarta el contenido poco utilizado y, de este modo, reacciona din\u00e1micamente ante los picos de carga. Para obtener informaci\u00f3n m\u00e1s detallada, remito a una introducci\u00f3n concisa sobre el rendimiento de la cach\u00e9 de p\u00e1ginas, que describe el principio b\u00e1sico de forma pr\u00e1ctica. \u00bfPor qu\u00e9 una cach\u00e9 de p\u00e1ginas transparente? Un gran n\u00famero de p\u00e1ginas individuales de 4 KiB genera trabajo de gesti\u00f3n y aumenta la presi\u00f3n sobre la TLB. Las p\u00e1ginas m\u00e1s grandes, como las de 2 MiB, pueden cubrir el mismo espacio de direcciones con menos entradas, lo que permite ahorrar tiempo de CPU. Una cach\u00e9 de p\u00e1ginas transparente agrupa autom\u00e1ticamente las p\u00e1ginas de archivo en unidades m\u00e1s grandes cuando los patrones de acceso y la ubicaci\u00f3n en memoria lo permiten. Esto se asemeja a la idea que subyace a las \u00abTransparent Huge Pages\u00bb, pero en este caso se refiere a una cach\u00e9 basada en archivos en lugar de a memoria an\u00f3nima. No utilizo estas funciones hasta haber comprendido los patrones de acceso, la fragmentaci\u00f3n y los requisitos de latencia, ya que las p\u00e1ginas m\u00e1s grandes aumentan la granularidad. Comparar las diferencias de forma sistem\u00e1tica Para una clasificaci\u00f3n clara, comparo las caracter\u00edsticas m\u00e1s importantes de la cach\u00e9 cl\u00e1sica, la cach\u00e9 de p\u00e1ginas transparente y las THP, de modo que resulte m\u00e1s f\u00e1cil elegir seg\u00fan la carga de trabajo. Me centro en el tama\u00f1o de las p\u00e1ginas,"},"I2":{"id":"I2","post_id":20994,"url":"https:\/\/webhosting.de\/cloudlinux-alt-php-sicherheitsaspekte-und-einsatzgebiete-safeserver\/","title":"Versiones antiguas de PHP en CloudLinux: aspectos de seguridad y \u00e1mbitos de aplicaci\u00f3n","excerpt":"CloudLinux Alt-PHP me permite ejecutar aplicaciones PHP antiguas de forma segura y, al mismo tiempo, ejecutar proyectos actuales sin renunciar a nada. En este art\u00edculo muestro de forma pr\u00e1ctica qu\u00e9 aspectos de seguridad son importantes, en qu\u00e9 aspectos destaca Alt-PHP y c\u00f3mo planifico su uso de forma espec\u00edfica. Puntos clave Antes de entrar en detalles, resumir\u00e9 brevemente las ideas m\u00e1s importantes y ofrecer\u00e9 una visi\u00f3n general concisa con puntos clave claros, que profundizar\u00e9 a lo largo del texto. Alt-PHP mantiene operativas las aplicaciones heredadas y reduce la presi\u00f3n de la migraci\u00f3n. HardenedPHP proporciona parches de seguridad adicionales para versiones antiguas. CageFS y LVE separan los clientes y limitan los recursos. php selector controla las versiones, los m\u00f3dulos y las opciones de php.ini por cuenta. La planificaci\u00f3n y la supervisi\u00f3n garantizan el funcionamiento hasta la migraci\u00f3n. Esta lista me sirve de hilo conductor para orientar las secciones siguientes de forma espec\u00edfica y garantizar que la relevancia quede claramente identificada. Qu\u00e9 caracteriza a CloudLinux Alt-PHP Utilizo CloudLinux Alt-PHP para ejecutar varias versiones de PHP en paralelo y separadas del PHP del sistema. De este modo, mantengo disponibles las aplicaciones m\u00e1s antiguas sin tener que limitar todo el entorno del servidor a una versi\u00f3n obsoleta. Los paquetes Alt-PHP (por ejemplo, alt-php5.6, alt-php7.4, alt-php8.x) se presentan como compilaciones mantenidas por separado, que asigno de forma espec\u00edfica por cuenta o dominio. De este modo, garantizo la compatibilidad, reduzco los riesgos de migraci\u00f3n y mantengo los proyectos modernos en las versiones m\u00e1s recientes. Esta separaci\u00f3n me da margen para probar las actualizaciones de forma controlada y planificar la transici\u00f3n de forma ordenada. Me beneficio de que los paquetes de PHP antiguo sean mantenidos por CloudLinux y funcionen en conjunto con caracter\u00edsticas de alojamiento como CageFS y LVE. As\u00ed, el cambio de versi\u00f3n resulta sencillo en el d\u00eda a d\u00eda, aunque t\u00e9cnicamente utilice un entorno de ejecuci\u00f3n independiente. Los proyectos antiguos y nuevos se ejecutan en paralelo sin interferir entre s\u00ed. Esto minimiza las interrupciones durante las implementaciones y las actualizaciones. Al mismo tiempo, el entorno del servidor se mantiene claro, ya que puedo asignar de forma dedicada a cada cuenta lo que realmente se necesita. El \u00abphp selector\u00bb en el d\u00eda a d\u00eda A trav\u00e9s del \u00abphp selector\u00bb, configuro la versi\u00f3n adecuada por usuario o por dominio, ak"},"I3":{"id":"I3","post_id":18985,"url":"https:\/\/webhosting.de\/http2-server-push-hosting-einsatzszenarien-cacheboost\/","title":"HTTP\/2 Server Push: Escenarios de aplicaci\u00f3n en el alojamiento para obtener el m\u00e1ximo rendimiento","excerpt":"El \u00abserver push\u00bb de HTTP\/2 acelera las primeras solicitudes, ya que el servidor env\u00eda inmediatamente recursos cr\u00edticos como CSS y JavaScript, lo que ahorra idas y vueltas. En configuraciones de alojamiento con mucho tr\u00e1fico, utilizo HTTP\/2 de forma espec\u00edfica para reducir notablemente el \u00abstart-render\u00bb, el LCP y el \u00abtime to interactive\u00bb. Puntos clave de \u00abpush\u00bb frente a \u00abpreload\u00bb: el \u00abpush\u00bb entrega los recursos por adelantado, mientras que el \u00abpreload\u00bb los anuncia con antelaci\u00f3n. Escenarios recomendados: p\u00e1ginas de destino, WordPress, PWA, tiendas online y sitios con mucho tr\u00e1fico. Capacidades de alojamiento: HTTP\/2, TLS, m\u00f3dulos adecuados y almacenamiento en cach\u00e9. Medici\u00f3n: DevTools, LCP\/FID\/INP y an\u00e1lisis en cascada. Escollos: exceso de \u00abpush\u00bb, transferencias duplicadas y falta de priorizaci\u00f3n. C\u00f3mo funciona el \u00abserver push\u00bb de HTTP\/2 en el alojamiento: en la primera solicitud de la p\u00e1gina HTML, el servidor env\u00eda una \u00abpush promise\u00bb y entrega archivos como hojas de estilo y scripts de forma inmediata, antes de que el navegador los solicite activamente; de este modo, se reduce la latencia y se evitan rondas de solicitudes adicionales. HTTP\/2 permite flujos paralelos en una misma conexi\u00f3n, por lo que ning\u00fan recurso bloquea a otro y la carga resulta mucho m\u00e1s fluida, especialmente con TLS. Los navegadores modernos pueden rechazar los env\u00edos si la cach\u00e9 ya contiene una copia reciente, lo que ahorra ancho de banda y respeta las prioridades. En entornos de alojamiento con HTTP\/2, TLS y una configuraci\u00f3n correcta, consigo as\u00ed elevar la velocidad perceptible, sobre todo en la parte \u00ababove-the-fold\u00bb. Para m\u00ed, el \u00abpush\u00bb es un mecanismo de entrega que resuelve de forma elegante el problema de la detecci\u00f3n de los recursos cr\u00edticos. Compatibilidad, soluciones alternativas y situaci\u00f3n actual Es importante que siempre planifique el \u00abpush\u00bb de forma que sea degradable: algunos navegadores y CDN han reducido o desactivado el \u00abserver push\u00bb con el paso del tiempo, mientras que el \u00abpreload\u00bb y los \u00ab103 Early Hints\u00bb siguen ganando terreno. Mi enfoque: defino los encabezados de precarga de forma clara, de modo que, incluso si no hay Push, se aplique el aviso temprano. Cuando Push est\u00e1 activo, las primeras visitas se benefician; cuando no funciona, la precarga se encarga del descubrimiento. De este modo, no se crean dependencias funcionales. Degradaci\u00f3n elegante: la precarga es obligatoria, el \u00abpush\u00bb es un \u00abturbo\u00bb opcional. \u00abCache-first\u00bb: los aciertos importantes en la cach\u00e9 evitan transferencias duplicadas, incluso si se ha activado el \u00abpush\u00bb. Conmutadores de funciones: activo el \u00abpush\u00bb de forma selectiva por host\/ruta y lo implemento gradualmente."}},"_wh_make_stage":"pruefung","_wh_make_research_date":"2026-10-28","_wh_make_sitemap_info":{"index":"https:\/\/webhosting.de\/sitemap_index.xml","sitemaps":["https:\/\/webhosting.de\/post-sitemap1.xml","https:\/\/webhosting.de\/post-sitemap2.xml","https:\/\/webhosting.de\/post-sitemap3.xml","https:\/\/webhosting.de\/post-sitemap4.xml"],"url_count":3121,"fetched_at":"2026-10-28T07:00:25+00:00","selected_ids":[21026,20994,18985]},"_wh_make_draft_hash":"23245183e30815a02135dda0da8f7668c7b1aca54b3127ea4b8da4976989ab0e","_wh_make_work":{"version":"2.1","identity":{"sheet_ref":"1VMjxV8Q73i0Q1HO6s-u4jNHVRF0snliGCeg97intLPs","sheet_name":"Tabellenblatt1","external_id":"1422","topic":"CrowdSec vs Fail2Ban \u2013 Unterschiede im praktischen Einsatz","keywords":["crowdsec vs fail2ban","intrusion prevention","server security"],"category_input":"794"},"config":{"research_model":"gpt-5.6-terra","writer_model":"gpt-5.6-terra","review_model":"gpt-5.6-sol","image_model":"gpt-image-2.5-flare","image_quality":"high","image_format":"webp","final_status":"draft","charts_enabled":true},"phase":"hold","pending":null,"receipts":{"2197ff3edc65f31e17e99d2e21288ecf":"deea399cd0e82401665d768dfcf776f948f0b78fb5e932b3c2a2cad0d9473c95","a3a87b10547200d2a28769d6e2b63898":"86fb17bb21452a0e267b537a5970daa12b7e8e921db414045c441fdf2d9119cb","5d78ed900fa838206c2095a428472a3c":"f3fcbecf04d810466828c2f752ea918a48bd112fcb9b21732728e28ae8517d2b","782b4befffff883800f16b1081c46867":"3f2b9be753ba4af389234f549c495bb14d2ae9d767b7a3f370fbfaf78cb6bbb5","37c36d8b83491593eb002bde9b265c4d":"345a567b0d0abe62cd46da4ad39e0bbee740ae6aa133fccc3ff07428c2ed7802","b442340bcb8817c830646e61e2a35d96":"8f628262ad47a165265357387ea05936b10c119aed896484d0836a9c507b3ca0","d5f54248444584361d1baf91cbde865f":"318381071fb0e0a777eca38d4966acbc3a8d08c4eafc85d19c97d86816cf7185","1c1fbcdd0a8f44c875f96a3ba2b58ecd":"6b042817974fb0a43785018a4ca537ede286ffab336996fde6f02c58946cb9ea","7d93512922f0340a1c7198be0bbd2a12":"a3e3494f44c34e9873ba14bf445bee98fff577355030badbbeda96b733cef150","b319b15c0d3af87e9e3b30171c534c79":"87f6d0d568aa67f54a81cec49ac0a5817d303daf85a95e4aea313f5312db3a1f","857d7eebe11e0d1fd9873de4ddae585f":"eb81469a0b73b387b7563992f1ce9432f8e98da3f3c629e12a6ad702e293913e","a69cbec65572208b992b114eecbeed12":"e347cc7ad975feaf666d12933f49c3abc843c86bb6b9fd6d090bb1520e36ebbd","2041ba6049b9ccefc1082cf579ae9437":"135df7b57fe6fb1ef9767b1ad47aa9c549ee5924e4df30e6db251edae4469a34"},"parts":{"1":[{"id":"vergleichsrahmen","heading":"CrowdSec und Fail2Ban richtig einordnen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Die passende Wahl h\u00e4ngt nicht davon ab, welches Werkzeug als moderner gilt, sondern von Server, Logdaten und gew\u00fcnschtem Durchsetzungspunkt. F\u00fcr einen einzelnen SSH-Dienst mit klaren Fehlermeldungen kann Fail2Ban sehr direkt sein. CrowdSec wird interessant, wenn mehrere Logquellen, unterschiedliche Schutzebenen oder verteilte Systeme gemeinsam ausgewertet und abgesichert werden sollen.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Beide L\u00f6sungen dienen der ","ref":""},{"kind":"strong","text":"logbasierten Angriffserkennung","ref":""},{"kind":"text","text":": Sie lesen sicherheitsrelevante Ereignisse wie fehlgeschlagene Anmeldungen, ordnen sie einem Muster zu und k\u00f6nnen eine IP-Adresse sperren lassen. Fail2Ban verbindet daf\u00fcr Filter und Aktionen in Jails. CrowdSec verarbeitet eingelesene Daten \u00fcber seine Security Engine und erzeugt Entscheidungen, deren Umsetzung eine separate Remediation Component \u00fcbernimmt.","ref":""},{"kind":"citation","text":"","ref":"S1"},{"kind":"citation","text":"","ref":"S6"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Entscheidend ist, was tats\u00e4chlich protokolliert wird. Ohne Zeitstempel, verwertbare Quell-IP und passende Logquelle kann keines der Werkzeuge einen Angriff zuverl\u00e4ssig zuordnen. Eine Sperre sch\u00fctzt au\u00dferdem nur dort, wo sie technisch greift: Eine lokale Firewall-Regel hilft nicht automatisch, wenn der Datenverkehr zuvor an einem externen Reverse Proxy oder Load Balancer endet.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Als ","ref":""},{"kind":"strong","text":"Intrusion Prevention","ref":""},{"kind":"text","text":" erg\u00e4nzen beide Werkzeuge eine Sicherheitsarchitektur, ersetzen sie aber nicht. Sicherheitsupdates schlie\u00dfen bekannte Schwachstellen, starke und m\u00f6glichst mehrstufige Anmeldung begrenzt Kontenmissbrauch, restriktive Firewall-Grundregeln reduzieren erreichbare Dienste. Backups begrenzen Sch\u00e4den nach einem Vorfall, w\u00e4hrend fortlaufendes Logmonitoring auch Probleme sichtbar macht, die keine Sperre ausl\u00f6sen.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Die praktische Frage lautet daher: Welche Muster m\u00fcssen erkannt werden, an welcher Stelle soll die Reaktion erfolgen und wer pflegt Regeln, Ausnahmen sowie Logs? Erst danach l\u00e4sst sich begr\u00fcndet entscheiden, ob eine \u00fcberschaubare lokale Jail-Konfiguration gen\u00fcgt oder ob CrowdSecs getrennte Komponenten f\u00fcr die Infrastruktur einen erkennbaren Zusatznutzen bringen.","ref":""}]}]},{"id":"fail2ban-jails","heading":"Wie Fail2Ban Jails und Aktionen verkn\u00fcpft","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Fail2Ban organisiert Erkennung und Reaktion in ","ref":""},{"kind":"strong","text":"Jails","ref":""},{"kind":"text","text":". Bei SSH liest eine Jail beispielsweise Authentifizierungsprotokolle oder das Systemjournal. Ein Filter sucht darin nach fehlgeschlagenen Anmeldungen einer Quell-IP. \u00dcberschreitet diese innerhalb des konfigurierten Zeitfensters die erlaubte Zahl von Fehlversuchen, behandelt Fail2Ban den Treffer als Sperrfall.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Die anschlie\u00dfende Aktion bestimmt die Reaktion. H\u00e4ufig erg\u00e4nzt sie eine Regel in der lokalen Firewall, m\u00f6glich sind jedoch auch andere konfigurierte Aktionen. Damit ist die Kette nachvollziehbar: Logquelle liefert Zeilen, der Filter erkennt relevante Ereignisse, die Jail z\u00e4hlt sie und die Aktion setzt die vorgesehene Gegenma\u00dfnahme um. Das erleichtert die Fehlersuche, sofern Logformat und Filter zusammenpassen.","ref":""},{"kind":"citation","text":"","ref":"S5"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Eine Jail verwendet genau einen Filter, kann jedoch mehrere Aktionen ausf\u00fchren. So kann derselbe festgestellte SSH-Sperrfall etwa eine Firewall-Aktion ausl\u00f6sen und zus\u00e4tzlich eine Benachrichtigung ansto\u00dfen. Mehrere Aktionen machen die Reaktion flexibler, \u00e4ndern aber nicht die Grundlage der Erkennung: Alle h\u00e4ngen am selben Filter und dessen Interpretation der Logzeilen.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Besondere Sorgfalt brauchen selbst geschriebene ","ref":""},{"kind":"strong","text":"Regex-Filter","ref":""},{"kind":"text","text":". Sie m\u00fcssen reale Logformatvarianten abdecken, d\u00fcrfen aber nicht zu gro\u00dfz\u00fcgig passen. Zu weite Muster k\u00f6nnen legitime Zugriffe f\u00e4lschlich erfassen; ung\u00fcnstige Ausdr\u00fccke k\u00f6nnen zudem durch manipulierte oder komplexe Eingaben problematisch werden. Pr\u00fcfe neue Filter daher zun\u00e4chst mit anonymisierten Beispielzeilen und dem daf\u00fcr vorgesehenen Testwerkzeug, bevor sie Sperren ausl\u00f6sen.","ref":""},{"kind":"citation","text":"","ref":"S2"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Lokale \u00c4nderungen geh\u00f6ren grunds\u00e4tzlich in Dateien mit der Endung ","ref":""},{"kind":"code","text":".local","ref":""},{"kind":"text","text":", nicht in ausgelieferte ","ref":""},{"kind":"code","text":".conf","ref":""},{"kind":"text","text":"-Dateien. Damit bleiben eigene Werte f\u00fcr Logpfade, erlaubte Netze oder Aktionen bei Paketupdates besser nachvollziehbar und werden nicht einfach \u00fcberschrieben. Vor dem Rollout sollte au\u00dferdem gepr\u00fcft werden, ob die gew\u00e4hlte Logquelle tats\u00e4chlich existiert und die erwarteten Ereignisse enth\u00e4lt.","ref":""},{"kind":"citation","text":"","ref":"S5"}]}]},{"id":"crowdsec-architektur","heading":"CrowdSecs Weg vom Log zur Sperre","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"CrowdSec trennt Erkennung und Durchsetzung deutlicher in einzelne Komponenten. Zuerst definieren Acquisition-Quellen, welche Logs oder Ereignisstr\u00f6me eingelesen werden. Parser normalisieren diese Daten; Szenarien bewerten anschlie\u00dfend Muster und Verhalten. Bei einem passenden Muster entsteht ein Alert, aus dem \u00fcber ein Profil oder eine Regel eine Decision hervorgehen kann, etwa eine zeitlich begrenzte IP-Sperre.","ref":""},{"kind":"citation","text":"","ref":"S6"},{"kind":"citation","text":"","ref":"S7"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Ein kurzes Beispiel verdeutlicht den Ablauf: Authentifizierungsfehler eines Dienstes gelangen \u00fcber die Acquisition in die Engine. Parser erkennen Felder wie Zeit, Dienst und Quell-IP; ein Szenario bewertet wiederholte Fehlversuche. Der daraus erzeugte Alert f\u00fchrt zu einer Decision. Erst ein angeschlossener ","ref":""},{"kind":"strong","text":"Remediation Component","ref":""},{"kind":"text","text":" setzt diese Entscheidung am vorgesehenen Schutzpunkt durch.","ref":""},{"kind":"citation","text":"","ref":"S6"},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Diese Komponente wird traditionell auch Bouncer genannt. Je nach Variante kann sie Entscheidungen beispielsweise an einer Firewall, einem Reverse Proxy oder einem Webserver umsetzen. Die Security Engine allein erkennt also Vorf\u00e4lle und verwaltet Entscheidungen, sperrt jedoch keinen Datenverkehr. Ohne korrekt angebundenen Bouncer bleibt eine erzeugte Decision eine Information ohne aktive Netz- oder Anwendungssperre.","ref":""},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Praktisch erlaubt die Trennung, Erkennung und Sperre auf verschiedene Infrastrukturpunkte zu verteilen. Sie erh\u00f6ht jedoch den Betriebsumfang: Logquelle, lokale API-Verbindung, Berechtigungen und Bouncer-Zuordnung m\u00fcssen zusammenpassen. Vor allem bei mehreren Diensten ist zu pr\u00fcfen, ob der Bouncer wirklich vor dem Dienst sitzt, dessen Zugriffe er aufgrund einer Decision blockieren soll.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Von lokalen Szenario-Treffern zu unterscheiden ist die optionale ","ref":""},{"kind":"strong","text":"Community Blocklist","ref":""},{"kind":"text","text":". Bei freiwilliger Teilnahme k\u00f6nnen Signale beigetragen und kuratierte Entscheidungen zu bereits bekannten Angreifern bezogen werden. Das ist eine zus\u00e4tzliche pr\u00e4ventive Quelle, aber weder ein Ersatz f\u00fcr lokale Erkennung noch eine Zusage, neue oder unauff\u00e4llige Angreifer zu erfassen. Die Herkunft einer Sperrentscheidung sollte im Betrieb daher nachvollziehbar bleiben.","ref":""},{"kind":"citation","text":"","ref":"S7"}]}]}],"2":[{"id":"entscheidungsmatrix","heading":"Die Werkzeuge nach Einsatzfall vergleichen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Die Entscheidung zwischen CrowdSec und Fail2Ban beginnt mit dem Schutzpunkt, nicht mit einem allgemeinen Qualit\u00e4tsurteil. Fail2Ban wertet Logzeilen mit Filtern aus und verkn\u00fcpft diese in Jails mit Aktionen. CrowdSec verarbeitet Logquellen \u00fcber Parser und Szenarien zu Entscheidungen, die getrennte Remediation Components durchsetzen. Damit unterscheiden sich vor allem Betriebsmodell und Integrationsm\u00f6glichkeiten, w\u00e4hrend beide auf korrekt erfasste Ereignisse angewiesen bleiben.","ref":""},{"kind":"citation","text":"","ref":"S1"},{"kind":"citation","text":"","ref":"S6"}]},{"type":"table","caption":"Vergleich der Werkzeuge nach technischem Einsatzfall","headers":["Kriterium","Fail2Ban","CrowdSec"],"rows":[["Erkennungsmodell","Filter mit regul\u00e4ren Ausdr\u00fccken in Jails; Treffer k\u00f6nnen innerhalb eines Zeitfensters gez\u00e4hlt werden.","Parser bereiten Ereignisse auf; Szenarien bewerten Verhalten und erzeugen Alerts sowie Decisions."],["Sperrdurchsetzung","Konfigurierbare Aktionen, h\u00e4ufig an der lokalen Firewall.","Getrennte Remediation Components f\u00fcr etwa Firewall, Reverse Proxy oder Webserver."],["Webschutz","Reagiert auf bereits protokollierte Ereignisse.","AppSec- beziehungsweise WAF-Pr\u00fcfung ist m\u00f6glich, aber nur mit einem daf\u00fcr geeigneten Bouncer."],["Anpassung","Eigene Filter sind m\u00f6glich, m\u00fcssen aber Logformat und Fehlertreffer sorgf\u00e4ltig ber\u00fccksichtigen.","Parser, Szenarien und Collections sind anpassbar; das Komponentenmodell erh\u00f6ht den Integrationsaufwand."],["Threat Intelligence","Keine kollaborative Blockliste als Kernbestandteil des Jail-Modells.","Bei freiwilliger Teilnahme kann eine Community Blocklist zus\u00e4tzliche Entscheidungen liefern."],["Betriebsrisiko","Unpassende Filter oder Aktionen k\u00f6nnen legitime Zugriffe sperren.","Falsch zugeordnete oder fehlende Bouncer lassen Decisions wirkungslos oder sperren am falschen Punkt."]],"source_ids":["S1","S2","S4","S7"]},{"type":"paragraph","runs":[{"kind":"text","text":"Die Tabelle ist keine Rangliste. F\u00fcr wenige, gut verstandene Logmuster ist eine lokale Jail oft leichter zu pr\u00fcfen: Logquelle, Filter und Firewall-Aktion liegen nah beieinander. Sobald mehrere Quellen, vorgeschaltete Systeme oder unterschiedliche Durchsetzungspunkte beteiligt sind, kann die Trennung von Erkennung und Reaktion bei CrowdSec sinnvoll sein. Sie verlangt jedoch auch, die Beziehungen der Komponenten nachvollziehbar zu betreiben.","ref":""},{"kind":"citation","text":"","ref":"S1"},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Beim Kriterium Webschutz ist die technische Ebene entscheidend. Ein CrowdSec Firewall-Bouncer blockiert Verbindungen auf Netzwerkebene, untersucht jedoch keinen HTTP-Inhalt. F\u00fcr Regeln gegen typische Angriffe auf Anwendungsebene braucht es einen WAF-f\u00e4higen Bouncer f\u00fcr die tats\u00e4chlich verwendete Proxy- oder Webserver-Software. Auch dann erg\u00e4nzt die Pr\u00fcfung die sichere Entwicklung und zeitnahe Updates, statt bekannte Schwachstellen zu beheben.","ref":""},{"kind":"citation","text":"","ref":"S4"}]}]},{"id":"vps-praxis","heading":"Praxisfall einzelner VPS mit SSH","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Auf einem kleinen Linux-VPS mit SSH und einem \u00fcberschaubaren Webstack ist Fail2Ban h\u00e4ufig eine gut kontrollierbare Wahl. Zuerst pr\u00fcfst du, ob fehlgeschlagene SSH-Anmeldungen mit Zeitstempel und Quell-IP zuverl\u00e4ssig im vorgesehenen Log oder Journal erscheinen. Ohne diese Daten kann eine Jail weder Fehlversuche belastbar z\u00e4hlen noch die richtige Adresse an eine Aktion \u00fcbergeben.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Danach w\u00e4hlst du eine passende SSH-Jail und kontrollierst Filter, Zeitfenster, zul\u00e4ssige Fehlversuche und Sperrdauer gegen die eigene Anmelderealit\u00e4t. Eine Jail verbindet einen Filter mit einer oder mehreren Aktionen. Dadurch l\u00e4sst sich die Sperre beispielsweise an die lokale Firewall delegieren, ohne die Erkennungslogik zu duplizieren. F\u00fcr einen einzelnen Host h\u00e4lt diese Kopplung den Ablauf meist transparent.","ref":""},{"kind":"citation","text":"","ref":"S1"},{"kind":"citation","text":"","ref":"S5"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Verwaltungsnetze, Notfallzug\u00e4nge und Monitoring-Systeme brauchen bewusst definierte Ausnahmen. Diese sollten eng begrenzt sein und nicht pauschal gro\u00dfe Provider-Netze freistellen. Pr\u00fcfe au\u00dferdem vor dem Rollout, welche Firewall-Regeln die Aktion tats\u00e4chlich anlegt und ob IPv4 und IPv6 zum Serverkonzept passen. Ein kontrollierter Start mit beobachteten Logs ist sicherer als eine sofortige, lange Sperrdauer.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Eigene ","ref":""},{"kind":"strong","text":"Regex-Filter","ref":""},{"kind":"text","text":" sind erst dann sinnvoll, wenn kein vorhandener Filter das konkrete Logformat abdeckt. Teste sie vor der Aktivierung mit anonymisierten echten Beispielzeilen und auch mit \u00e4hnlichen, aber legitimen Zeilen. Fail2Ban weist darauf hin, dass zu breite Muster, manipulierte Logeintr\u00e4ge und ung\u00fcnstiges Backtracking zu Fehlalarmen oder Problemen f\u00fchren k\u00f6nnen. Das Testwerkzeug ","ref":""},{"kind":"code","text":"fail2ban-regex","ref":""},{"kind":"text","text":" validiert dabei einen Filter; es \u00e4ndert keine Produktionssperre.","ref":""},{"kind":"citation","text":"","ref":"S2"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Lokale Einstellungen geh\u00f6ren in ","ref":""},{"kind":"code","text":".local","ref":""},{"kind":"text","text":"-Dateien, nicht in ausgelieferte ","ref":""},{"kind":"code","text":".conf","ref":""},{"kind":"text","text":"-Dateien. So bleiben Anpassungen bei Paketupdates nachvollziehbar und werden nicht versehentlich \u00fcberschrieben. Nach jeder \u00c4nderung pr\u00fcfst du Logeingang, Jail-Status und die ausgel\u00f6ste Aktion getrennt; ein laufender Dienst allein belegt noch keine wirksame Sperrkette.","ref":""},{"kind":"citation","text":"","ref":"S5"}]}]},{"id":"proxy-und-webschutz","heading":"Proxies, echte Client-IP und Webschutz","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Ein CDN, Load Balancer oder Reverse Proxy ver\u00e4ndert, welche Adresse der Server sieht. Erh\u00e4lt der Webserver nur die IP des Proxys und protokolliert sie als Client, bewertet eine logbasierte Sperre im schlimmsten Fall den gemeinsamen Vermittler statt des angreifenden Besuchers. Vor jeder Jail, jedem Szenario und jeder WAF-Regel muss deshalb gekl\u00e4rt sein, wie die urspr\u00fcngliche Client-IP vertrauensw\u00fcrdig weitergegeben, akzeptiert und geloggt wird.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Diese Vertrauenskette darf nicht einfach jeden eingehenden Header \u00fcbernehmen. Nur bekannte Proxy-Adressen d\u00fcrfen berechtigt sein, eine weitergereichte Adresse zu liefern; andernfalls k\u00f6nnten externe Clients die Identit\u00e4t f\u00e4lschen, auf der Erkennung und Sperre beruhen. Kontrolliere mit anonymisierten Logausz\u00fcgen, ob Anwendung und Zugriffslog dieselbe Client-IP zeigen. Erst danach ist eine Reaktion auf auff\u00e4llige HTTP-Ereignisse sinnvoll interpretierbar.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Eine ","ref":""},{"kind":"strong","text":"IP-Sperre","ref":""},{"kind":"text","text":" auf Firewall-Ebene begrenzt Verbindungen, bevor sie die Anwendung erreichen, pr\u00fcft aber keinen Request-Inhalt. Ein WAF-f\u00e4higer CrowdSec-Bouncer kann dagegen am unterst\u00fctzten Reverse Proxy oder Webserver HTTP-Anfragen bewerten. Ein reiner Firewall-Bouncer besitzt diese WAF-Funktion nicht. Welche Variante passt, richtet sich daher nach dem tats\u00e4chlichen Eintrittspunkt des Verkehrs und der eingesetzten Komponente.","ref":""},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Logbasierte Erkennung bleibt au\u00dferdem nachtr\u00e4glich: Zuerst muss ein Ereignis eintreffen, korrekt protokolliert und als Muster erkannt werden. Sie verhindert weder einen einzelnen erfolgreichen Exploit ohne auff\u00e4lliges Folgeereignis noch ersetzt sie Patches und starke Anmeldung. F\u00fcr die Einordnung der Transport- und Proxyschicht hilft der Beitrag ","ref":""},{"kind":"internal_link","text":"HTTP\/2 Server Push im Hosting richtig einordnen","ref":"I3"},{"kind":"text","text":", weil vorgeschaltete Komponenten und ihr Verhalten stets zur Sicherheitsarchitektur passen m\u00fcssen.","ref":""},{"kind":"citation","text":"","ref":"S6"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Praktisch bedeutet das: Entscheide zuerst, ob Netzwerkzugang, HTTP-Anfrage oder beide Ebenen gesch\u00fctzt werden sollen. Dokumentiere anschlie\u00dfend den Weg von der \u00f6ffentlichen Adresse \u00fcber den Proxy bis zum Logeintrag und teste Sperren mit einer freigegebenen Testadresse. So vermeidest du, dass eine scheinbar funktionierende ","ref":""},{"kind":"strong","text":"Intrusion Prevention","ref":""},{"kind":"text","text":" lediglich die falsche Infrastrukturkomponente trifft.","ref":""}]}]}],"3":[{"id":"verteilte-setups","heading":"Mehrere Server kontrolliert absichern","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Sobald mehrere Hosts, Container oder zentral erfasste Logs beteiligt sind, wird die Trennung von Erkennung und Durchsetzung bei CrowdSec praktisch. Die Security Engine kann Ereignisse aus definierten Quellen auswerten, w\u00e4hrend passende Remediation Components Entscheidungen an den jeweils gesch\u00fctzten Punkten umsetzen. CrowdSec dokumentiert daf\u00fcr auch verteilte Bereitstellungen und die Einbindung neben zentralisierten Logpipelines.","ref":""},{"kind":"citation","text":"","ref":"S8"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Das reduziert nicht automatisch den Betriebsaufwand. Zuerst muss je Logquelle nachvollziehbar sein, welchem Dienst und welchem Mandanten sie zugeordnet ist. Danach braucht jeder Bouncer eine klar begrenzte Verbindung zur lokalen API sowie einen eigenen Zugangsschl\u00fcssel. Ein Reverse-Proxy-Bouncer sch\u00fctzt beispielsweise nicht zwangsl\u00e4ufig einen separat erreichbaren SSH-Dienst; die ","ref":""},{"kind":"strong","text":"Bouncer-Zuordnung","ref":""},{"kind":"text","text":" muss den tats\u00e4chlichen Datenwegen folgen.","ref":""},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"F\u00fcr den Betrieb geh\u00f6ren daher Token-Verwaltung, Erreichbarkeit der API, Ablauf- und Fehlerprotokolle sowie die Pr\u00fcfung der Sperrwirkung ins Monitoring. Eine Decision ist nur ein Erkennungsergebnis, bis die vorgesehene Komponente sie abruft und durchsetzt. Bei \u00c4nderungen an Containern, Proxies oder Firewall-Regeln sollte diese Kette erneut gepr\u00fcft werden, damit eine funktionierende Erkennung nicht unbemerkt ohne wirksame Reaktion bleibt.","ref":""},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Bestehen bereits eigene Chains und Regeln, kann der Firewall-Bouncer im ","ref":""},{"kind":"strong","text":"Set-only-Modus","ref":""},{"kind":"text","text":" ausschlie\u00dflich zuvor angelegte Sets verwalten. Die Verantwortung f\u00fcr Regeln und Chains bleibt dann bewusst beim Betreiber. Das passt zu kontrollierten Firewall-Konzepten und Compliance-Vorgaben, verlangt aber Verst\u00e4ndnis f\u00fcr die vorhandene Regelreihenfolge und ist keine Vereinfachung f\u00fcr Einsteiger.","ref":""},{"kind":"citation","text":"","ref":"S9"}]}]},{"id":"fehlersuche","heading":"Typische Fehler systematisch pr\u00fcfen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Bei einer ausbleibenden Sperre hilft eine feste Pr\u00fcfreihenfolge mehr als ein vorschneller Wechsel des Werkzeugs. Zuerst ist zu kl\u00e4ren, ob das erwartete Ereignis \u00fcberhaupt mit plausiblen Zeitstempeln eingeht. Anschlie\u00dfend muss die protokollierte Adresse wirklich die Client-IP sein. Erst dann l\u00e4sst sich sinnvoll pr\u00fcfen, ob Filter oder Szenario das Muster erkennen und daraus eine Sperrentscheidung entsteht.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Bei Fail2Ban folgt auf den Logeingang die Kontrolle von Jail, Filter und Trefferz\u00e4hlung. Eine Jail verbindet einen Filter mit einer oder mehreren Aktionen; bei dateibasierten Logpfaden werden beim Start nur bereits vorhandene Dateien ber\u00fccksichtigt, die zum Glob-Muster passen. F\u00fcr systemd-Journals sind Backend und Zugriffsrechte separat zu kontrollieren. Eine korrekt aussehende Jail sch\u00fctzt nicht, wenn sie die tats\u00e4chliche Quelle nicht liest.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Eigene regul\u00e4re Ausdr\u00fccke verdienen besondere Vorsicht. Logformatvarianten k\u00f6nnen echte Angriffe \u00fcbersehen lassen, w\u00e4hrend zu breite Muster legitime Zugriffe erfassen oder durch manipulierte Logzeilen fehlgeleitet werden k\u00f6nnen. Fail2Ban weist au\u00dferdem auf Risiken durch ineffizientes Backtracking hin. Pr\u00fcfe neue Filter deshalb zuerst mit anonymisierten, repr\u00e4sentativen Beispielzeilen und grenze Ausnahmen f\u00fcr sichere Verwaltungsnetze eng ein.","ref":""},{"kind":"citation","text":"","ref":"S2"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Bei CrowdSec ist nach einem Szenario-Treffer zus\u00e4tzlich die gesamte Durchsetzungskette zu pr\u00fcfen: Entsteht ein Alert, wird daraus eine Decision, und erreicht sie den vorgesehenen Bouncer? Ohne korrekt verbundenen Remediation Component bleibt die Decision allein ohne aktive Sperre. Danach muss die Firewall- oder Proxy-Wirkung am passenden Eintrittspunkt kontrolliert werden, ohne sich vom eigenen administrativen Zugang auszusperren.","ref":""},{"kind":"citation","text":"","ref":"S4"}]},{"type":"callout","variant":"warning","title":"Sichere Pr\u00fcfung vor der Sperre","runs":[{"kind":"text","text":"Teste \u00c4nderungen mit einem getrennten administrativen Zugang und dokumentierten Ausnahmen. Eine falsch zugeordnete Quell-IP oder ein zu weiter Filter kann berechtigte Nutzer aussperren.","ref":""}]}]},{"id":"auswahl-und-betrieb","heading":"Die passende L\u00f6sung dauerhaft betreiben","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Fail2Ban passt h\u00e4ufig zu einem einzelnen Server mit klaren, lokalen Logmustern, etwa wiederholten SSH-Fehlversuchen. Seine Jails, Filter und Aktionen lassen sich direkt auf einen abgegrenzten Dienst beziehen. CrowdSec wird interessanter, wenn mehrere Logquellen, unterschiedliche Durchsetzungspunkte oder Webschutz mit einer geeigneten Komponente koordiniert werden sollen. Entscheidend ist der nachweisbare Datenweg, nicht ein pauschales Urteil \u00fcber das modernere Werkzeug.","ref":""},{"kind":"citation","text":"","ref":"S6"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Beide L\u00f6sungen brauchen einen geregelten \u00c4nderungsprozess: Konfigurationen versionieren, neue Filter oder Szenarien zun\u00e4chst gegen bekannte Logbeispiele pr\u00fcfen und Sperrungen \u00fcberwachen. Updates verdienen denselben Blick. Fail2Ban 1.1.1 ist ein ver\u00f6ffentlichter Release-Tag; der Eintrag 1.1.2-dev bezeichnet dagegen einen Entwicklungsstand und belegt keine Eigenschaften stabiler Paketversionen. Lokale Anpassungen an abgeleiteten iptables-Aktionen sollten vor einem Update besonders gepr\u00fcft werden.","ref":""},{"kind":"citation","text":"","ref":"S3"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Intrusion Prevention erg\u00e4nzt die Sicherheitsbasis, ersetzt sie aber nicht: zeitnahe Updates, starke und m\u00f6glichst mehrstufige Anmeldung, restriktive Firewall-Regeln, Backups und Logmonitoring bleiben erforderlich. Besonders bei Hosting-Umgebungen sollte auch die Anwendungslaufzeit gepflegt werden. Der Beitrag zu ","ref":""},{"kind":"internal_link","text":"CloudLinux Alt-PHP und seinen Sicherheitsaspekten","ref":"I2"},{"kind":"text","text":" zeigt, warum getrennte und gepflegte Runtime-Versionen Teil eines belastbaren Betriebsmodells sind.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Die dauerhafte Wahl bleibt \u00fcberpr\u00fcfbar: \u00c4ndern sich Logformate, Proxy-Wege, Dienste oder die Serverzahl, kann ein zuvor passendes Konzept L\u00fccken bekommen. Halte deshalb fest, welche Ereignisse erkannt werden sollen, wo Entscheidungen erzwungen werden und wer Ausnahmen freigibt. Diese ","ref":""},{"kind":"strong","text":"Betriebsdisziplin","ref":""},{"kind":"text","text":" macht aus einer IP-Sperre eine kontrollierbare Schutzma\u00dfnahme statt einer unbeobachteten Firewall-\u00c4nderung.","ref":""}]}]}]},"plan":{"reader_question":"Wann ist Fail2Ban f\u00fcr einen Server die passendere Wahl, wann lohnt sich CrowdSec, und welche technischen Voraussetzungen sowie Grenzen gelten bei Erkennung und IP-Sperren?","sections":[{"id":"vergleichsrahmen","heading":"CrowdSec und Fail2Ban richtig einordnen","part":1,"target_words":270,"purpose":"Er\u00f6ffnet mit der praktischen Leserfrage statt einem pauschalen Siegerurteil. Erkl\u00e4rt anschlie\u00dfend den gemeinsamen Zweck der logbasierten Angriffserkennung und grenzt Intrusion Prevention von Patchmanagement, sicherer Anmeldung, Firewall-Grundregeln, Backups und Logmonitoring ab.","source_ids":["S1","S6"],"internal_link_ids":[]},{"id":"fail2ban-jails","heading":"Wie Fail2Ban Jails und Aktionen verkn\u00fcpft","part":1,"target_words":275,"purpose":"Erl\u00e4utert die Kette aus Logquelle, Filter, Trefferz\u00e4hlung, Jail und Aktion anhand von SSH-Fehlversuchen. Ein eigener Absatz erkl\u00e4rt, dass eine Jail genau einen Filter, aber mehrere Aktionen verwenden kann; ein weiterer grenzt lokale Anpassungen in .local-Dateien von \u00c4nderungen ausgelieferter .conf-Dateien ab.","source_ids":["S1","S5","S2"],"internal_link_ids":[]},{"id":"crowdsec-architektur","heading":"CrowdSecs Weg vom Log zur Sperre","part":1,"target_words":275,"purpose":"Erkl\u00e4rt die Komponentenfolge Acquisition, Parser, Szenario, Alert, Decision und Remediation Component. Verdeutlicht mit einem kurzen Ablaufbeispiel den Unterschied zwischen Erkennung und Durchsetzung und trennt lokale Szenario-Treffer von der optionalen Community Blocklist.","source_ids":["S6","S7","S4"],"internal_link_ids":[]},{"id":"entscheidungsmatrix","heading":"Die Werkzeuge nach Einsatzfall vergleichen","part":2,"target_words":290,"purpose":"F\u00fchrt eine informative Vergleichstabelle mit Erkennungsmodell, Durchsetzung, Webschutz, Anpassbarkeit, Threat Intelligence und Betriebsrisiko ein. Der begleitende Text ordnet die Kriterien ein und macht klar, dass ein WAF nur mit einem daf\u00fcr geeigneten CrowdSec-Bouncer m\u00f6glich ist, nicht mit einem Firewall-Bouncer allein.","source_ids":["S1","S2","S4","S7"],"internal_link_ids":[]},{"id":"vps-praxis","heading":"Praxisfall einzelner VPS mit SSH","part":2,"target_words":260,"purpose":"Beschreibt einen kleinen Linux-VPS mit SSH und klassischem Webstack als Entscheidungssituation. Strukturiert die Pr\u00fcfung in vorhandene Logs, passende Jail, vertrauensw\u00fcrdige Verwaltungsnetze, Firewall-Aktion und kontrollierten Rollout; betont dabei, dass eigene Regexe zuerst mit anonymisierten Beispielzeilen getestet werden.","source_ids":["S1","S2","S5"],"internal_link_ids":[]},{"id":"proxy-und-webschutz","heading":"Proxies, echte Client-IP und Webschutz","part":2,"target_words":285,"purpose":"Erkl\u00e4rt anhand eines vorgeschalteten CDN, Load Balancers oder Reverse Proxys, warum die korrekte Client-IP in Logs und Anwendung entscheidend ist. Stellt danach IP-Sperren auf Netzwerkebene dem HTTP- und WAF-Einsatz gegen\u00fcber und nennt die Grenzen einer nachtr\u00e4glichen logbasierten Reaktion.","source_ids":["S4","S6"],"internal_link_ids":["I3"]},{"id":"verteilte-setups","heading":"Mehrere Server kontrolliert absichern","part":3,"target_words":270,"purpose":"Ordnet CrowdSec f\u00fcr mehrere Hosts, Container und zentralisierte Logpipelines ein. Beschreibt die zus\u00e4tzlichen Betriebsaufgaben rund um API-Zugang, Tokens, Bouncer-Zuordnung und Monitoring; nennt den Set-only-Modus als Option f\u00fcr bestehende Firewall-Ketten, aber ausdr\u00fccklich nicht als Einsteigervereinfachung.","source_ids":["S8","S9","S4"],"internal_link_ids":[]},{"id":"fehlersuche","heading":"Typische Fehler systematisch pr\u00fcfen","part":3,"target_words":275,"purpose":"Baut eine praxisnahe Pr\u00fcfreihenfolge auf: Logeingang und Zeitstempel, echte Quell-IP, Filter- oder Szenario-Treffer, erzeugte Sperrentscheidung, Bouncer- beziehungsweise Firewall-Wirkung und sichere Ausnahmen. Behandelt separat Logformatvarianten, Regex-Risiken, Journal-Backends und fehlende CrowdSec-Bouncer.","source_ids":["S1","S2","S4"],"internal_link_ids":[]},{"id":"auswahl-und-betrieb","heading":"Die passende L\u00f6sung dauerhaft betreiben","part":3,"target_words":250,"purpose":"Schlie\u00dft mit einer nachvollziehbaren Auswahlhilfe f\u00fcr lokale, klar definierte Logmuster gegen\u00fcber komplexeren Web- und Mehrserverumgebungen. Nennt Update- und \u00c4nderungspr\u00fcfungen, insbesondere den Unterschied zwischen stabilem Fail2Ban-Release und Entwicklungsbranch, und verankert die Werkzeuge in einer umfassenderen Sicherheitsstrategie f\u00fcr Hosting- und Anwendungsbetrieb.","source_ids":["S3","S6"],"internal_link_ids":["I2"]}]},"repairs":4,"reviews":3,"issues":["Abschnitt \u201evergleichsrahmen\u201c, Behauptung \u201eBeide L\u00f6sungen dienen der logbasierten Angriffserkennung\u201c: Das ist f\u00fcr CrowdSec zu pauschal. CrowdSec kann neben Logereignissen auch HTTP-Anfragen \u00fcber AppSec-Regeln auswerten; au\u00dferdem k\u00f6nnen Decisions aus Blocklisten stammen. Korrekturrichtung: auf den hier verglichenen logbasierten Grundbetrieb begrenzen oder formulieren, dass beide Logs auswerten k\u00f6nnen, CrowdSec je nach Komponenten aber zus\u00e4tzliche Erkennungs- und Entscheidungsquellen besitzt.","Abschnitt \u201eproxy-und-webschutz\u201c, Behauptung \u201eLogbasierte Erkennung bleibt au\u00dferdem nachtr\u00e4glich\u201c im unmittelbaren Anschluss an die AppSec-Erkl\u00e4rung: Die Aussage ist f\u00fcr klassische Logauswertung richtig, darf aber nicht als Beschreibung des zuvor genannten CrowdSec-AppSec-Pfads verstanden werden, bei dem HTTP-Anfragen direkt zur Regelpr\u00fcfung weitergereicht werden. Korrekturrichtung: ausdr\u00fccklich mit \u201eKlassische logbasierte Erkennung\u201c beginnen und AppSec davon abgrenzen."],"guard":{"content_md5":"c389944268c778d6f2a72af43dbe4c50","title":"CrowdSec frente a Fail2Ban: diferencias en la aplicaci\u00f3n pr\u00e1ctica","slug":"crowdsec-frente-a-fail2ban-aplicacion-practica","excerpt":"CrowdSec y Fail2Ban bloquean las direcciones IP sospechosas, pero difieren en cuanto a la detecci\u00f3n, la aplicaci\u00f3n de medidas y el esfuerzo de gesti\u00f3n. La comparaci\u00f3n muestra qu\u00e9 soluci\u00f3n es la m\u00e1s adecuada para VPS, proxies y configuraciones distribuidas.","status":"draft","featured_media":0},"verify":null,"row_number":1917,"created_at":"2026-10-28T07:00:25+00:00","editorial_policy":{"version":"2.1.6","max_repairs":4,"review_model_from_attempt":2},"updated_at":"2026-10-28T07:09:01+00:00"},"_wh_make_research":"Recherche-Briefing: CrowdSec vs. Fail2Ban \u2013 Unterschiede im praktischen Einsatz\n\nLeserfrage und Ziel des sp\u00e4teren Artikels\n\nDer Artikel soll kl\u00e4ren, ob CrowdSec oder Fail2Ban f\u00fcr einen bestimmten Server besser geeignet ist \u2013 nicht abstrakt als \u201emoderner gegen klassisch\u201c, sondern entlang der Fragen: Welche Angriffe werden tats\u00e4chlich erkannt? Wo wird eine Sperre technisch durchgesetzt? Wie hoch sind Einrichtungs- und Pflegeaufwand? Und welche Grenzen bleiben trotz Intrusion Prevention bestehen?\n\nDie zentrale Einordnung lautet: Beide Werkzeuge k\u00f6nnen IP-Adressen nach erkannten Angriffsmustern sperren. Fail2Ban arbeitet dabei im Kern mit Jails, die Logdaten anhand von Filtern auswerten und bei Treffern konfigurierte Aktionen ausl\u00f6sen. Eine Jail verbindet genau einen Filter mit einer oder mehreren Aktionen. CrowdSec verarbeitet ebenfalls Logquellen, normalisiert sie \u00fcber Parser, bewertet Ereignisse anhand von Szenarien und erzeugt daraus Entscheidungen. Diese Entscheidungen werden anschlie\u00dfend durch getrennte Remediation Components, traditionell \u201eBouncer\u201c genannt, am Firewall-, Reverse-Proxy- oder Webserver-Level umgesetzt. ([manpages.debian.org](https:\/\/manpages.debian.org\/testing\/fail2ban\/jail.conf.5.en.html?utm_source=openai))\n\nDer Beitrag sollte daher nicht suggerieren, CrowdSec sei grunds\u00e4tzlich \u201ebesser\u201c. Fail2Ban ist f\u00fcr klar abgegrenzte, lokale Logmuster oft direkter und leichter nachvollziehbar. CrowdSec ist st\u00e4rker, wenn mehrere Logquellen, unterschiedliche Durchsetzungspunkte oder zus\u00e4tzliche Threat-Intelligence- und WAF-Funktionen sinnvoll zusammenkommen. Beide ersetzen weder Updates noch sichere Authentifizierung, Firewall-Regeln, Backups oder eine \u00dcberwachung der eigenen Logs.\n\nVoraussetzungen und fachliche Basis\n\nVoraussetzung ist ein Server, auf dem verwertbare Sicherheitsereignisse mit Zeitstempel und Quell-IP protokolliert werden. Typische Beispiele sind SSH-Authentifizierungsfehler, Webserver-Fehlerprotokolle oder Anmeldeversuche einer Anwendung. Gerade bei Fail2Ban ist die Qualit\u00e4t und Form des Logs entscheidend: Filter bestehen aus regul\u00e4ren Ausdr\u00fccken, und die offizielle Entwicklungsdokumentation warnt ausdr\u00fccklich davor, dass Filter Logformatvarianten ber\u00fccksichtigen sowie gegen fehlerhafte oder manipulierte Treffer abgesichert sein m\u00fcssen. ([fail2ban.readthedocs.io](https:\/\/fail2ban.readthedocs.io\/en\/latest\/filters.html?utm_source=openai))\n\nF\u00fcr beide L\u00f6sungen muss au\u00dferdem bereits feststehen, wo die Sperre greifen soll. Eine lokale Firewall-Sperre sch\u00fctzt Dienste auf dem Server, aber keine Anwendung, deren Verkehr vorher an einem externen CDN, Load Balancer oder Reverse Proxy endet. Werden Besucher-IP-Adressen nicht korrekt vom Proxy an die Anwendung weitergegeben und protokolliert, kann das Werkzeug im ung\u00fcnstigsten Fall die Proxy-IP statt des urspr\u00fcnglichen Clients bewerten. Das ist ein wichtiger Pr\u00fcfpunkt f\u00fcr die sp\u00e4tere Praxisanleitung.\n\nVersionsstand sauber abgrenzen\n\nDer sp\u00e4tere Artikel sollte konkrete Versionsst\u00e4nde nur nennen, wenn sie sich auf ein klar abgegrenztes Verhalten beziehen. Zum Recherchezeitpunkt 28. Oktober 2026 ist Fail2Ban 1.1.1 der j\u00fcngste ver\u00f6ffentlichte Release-Tag vom 15. August 2026. Der Branch beziehungsweise Changelog-Eintrag 1.1.2-dev ist dagegen ausdr\u00fccklich Entwicklungsversion und darf nicht als Nachweis f\u00fcr Funktionen stabiler Paketversionen dienen. Die 1.1.1-\u00c4nderungen enthalten zudem Kompatibilit\u00e4tshinweise f\u00fcr abgeleitete iptables-Aktionen; bestehende lokale Anpassungen verdienen deshalb vor einem Update besondere Pr\u00fcfung. ([github.com](https:\/\/github.com\/fail2ban\/fail2ban\/releases?utm_source=openai))\n\nBei CrowdSec sollten Security Engine, verwendete Collections beziehungsweise Szenarien und der konkrete Remediation Component getrennt betrachtet werden. Die F\u00e4higkeiten h\u00e4ngen nicht pauschal von \u201eCrowdSec\u201c ab: Ein Firewall-Bouncer kann IP-Verbindungen auf Netzwerkebene sperren, f\u00fchrt aber keine HTTP- und WAF-Pr\u00fcfung durch; daf\u00fcr wird ein WAF-f\u00e4higer Bouncer etwa f\u00fcr Nginx, OpenResty, Traefik oder HAProxy ben\u00f6tigt. ([docs.crowdsec.net](https:\/\/docs.crowdsec.net\/docs\/bouncers\/intro\/?utm_source=openai))\n\nGesicherte Funktionsweise im Vergleich\n\nFail2Ban:\n\nFail2Ban organisiert Erkennung und Reaktion in Jails. Ein Filter sucht passende Logzeilen, z\u00e4hlt Fehlschl\u00e4ge innerhalb eines Zeitfensters und \u00fcbergibt passende Treffer an Aktionen. Die Aktionen f\u00fchren zum Beispiel Firewall-Befehle aus oder k\u00f6nnen andere Reaktionen ansto\u00dfen. Konfigurationsdateien trennen globale Einstellungen, Filter, Aktionen und Jails. Die Debian-Manpage empfiehlt, ausgelieferte .conf-Dateien nicht direkt zu \u00e4ndern, sondern lokale Anpassungen in .local-Dateien abzulegen, damit Updates einfacher bleiben. ([manpages.debian.org](https:\/\/manpages.debian.org\/buster\/fail2ban\/jail.conf.5.en.html?utm_source=openai))\n\nCrowdSec:\n\nBei CrowdSec l\u00e4uft die Kette \u00fcber Acquisition-Quellen, Parser, Szenarien, Alerts und Entscheidungen. Der Security Engine erkennt Verhalten auf Basis von Szenarien; ein Profil oder eine manuelle Regel erzeugt daraus eine Decision, etwa eine Sperre. Ein separater Bouncer ruft diese Entscheidungen \u00fcber die lokale API ab und erzwingt sie. Dieser Architekturunterschied ist praktisch relevant: Die Erkennungslogik und die Durchsetzung k\u00f6nnen getrennt laufen, auch auf unterschiedlichen Ebenen der Infrastruktur. ([docs.crowdsec.net](https:\/\/docs.crowdsec.net\/u\/getting_started\/intro\/?utm_source=openai))\n\nZus\u00e4tzlich kann CrowdSec \u2013 nur bei freiwilliger Teilnahme \u2013 Signale f\u00fcr eine kuratierte Community Blocklist beitragen und im Gegenzug entsprechende Entscheidungen beziehen. Das ist ein zus\u00e4tzlicher pr\u00e4ventiver Mechanismus gegen bereits bekannte Angreifer, keine Garantie gegen neue oder unauff\u00e4llige Quellen. Der Artikel muss klar formulieren, dass lokale Szenario-Treffer und Community-Blocklist unterschiedliche Entscheidungsurspr\u00fcnge sind. ([docs.crowdsec.net](https:\/\/docs.crowdsec.net\/docs\/concepts\/?utm_source=openai))\n\nRelevante Praxisf\u00e4lle\n\n1. Einzelner Linux-VPS mit SSH und klassischem Webstack\n\nWenn haupts\u00e4chlich SSH-Brute-Force-Versuche und wenige bekannte Logformate abgesichert werden sollen, ist Fail2Ban h\u00e4ufig die pragmatische Wahl. Der Administrator kann eine vorhandene SSH-Jail aktivieren, Logquelle und Firewall-Aktion pr\u00fcfen sowie Ausnahmen f\u00fcr vertrauensw\u00fcrdige Verwaltungsnetze definieren. Der Vorteil liegt in der transparenten, lokalen Konfiguration. Der Nachteil: Jede zus\u00e4tzliche Anwendung ben\u00f6tigt einen passenden und robust getesteten Filter.\n\n2. Webserver mit Nginx oder Traefik\n\nF\u00fcr einen \u00f6ffentlich erreichbaren Webserver reicht eine reine IP-Sperre nicht automatisch aus, um HTTP-Angriffe sinnvoll zu behandeln. CrowdSec kann hier je nach eingesetztem Bouncer eine Anwendungsebene erg\u00e4nzen: Die Dokumentation ordnet Nginx-, OpenResty-, Traefik- und HAProxy-SPOA-Komponenten dem WAF-\/AppSec-Einsatz zu. Ein Firewall-Bouncer allein bleibt dagegen bei Layer 3\/4 und kann keine Anfragen auf SQL-Injection-, XSS- oder virtuelle Patch-Regeln untersuchen. ([docs.crowdsec.net](https:\/\/docs.crowdsec.net\/docs\/bouncers\/intro\/?utm_source=openai))\n\n3. Mehrere Server oder zentralisierte Logs\n\nBei mehreren Hosts, Containern oder einer zentralen Logpipeline ist CrowdSecs Aufteilung in Erkennung, lokale API und Remediation Components konzeptionell vorteilhaft. Die Dokumentation beschreibt explizit verteilte Deployments sowie den Betrieb neben zentralisierten Logpipelines. Der sp\u00e4tere Artikel sollte jedoch den zus\u00e4tzlichen Betriebsaufwand benennen: API-Zugang, Tokens, Bouncer-Konfiguration, Monitoring und die Zuordnung von Logquelle zu gesch\u00fctztem Dienst werden wichtiger. ([docs.crowdsec.net](https:\/\/docs.crowdsec.net\/docs\/intro\/?utm_source=openai))\n\n4. Bestehendes individuelles Sperrkonzept\n\nWenn bereits eigene Firewall-Ketten, nftables-Sets oder Compliance-Vorgaben bestehen, darf kein Tool unkontrolliert Regeln anlegen. CrowdSecs Firewall-Bouncer bietet daf\u00fcr einen Set-only-Modus; in diesem Modus verwaltet er nur vorher definierte Sets, w\u00e4hrend Regeln und Chains Verantwortung des Betreibers bleiben. Das ist gut f\u00fcr kontrollierte Integrationen, aber keine Vereinfachung f\u00fcr Einsteiger. ([docs.crowdsec.net](https:\/\/docs.crowdsec.net\/docs\/bouncers\/firewall\/?utm_source=openai))\n\nEntscheidungskriterien f\u00fcr eine Vergleichstabelle\n\nEine Tabelle im fertigen Artikel sollte mindestens diese Spalten enthalten:\n\nKriterium: Erkennungsmodell. Fail2Ban: Logfilter mit regul\u00e4ren Ausdr\u00fccken, organisiert in Jails. CrowdSec: Parser und verhaltensbasierte Szenarien mit nachgelagerten Decisions.\n\nKriterium: Sperrdurchsetzung. Fail2Ban: konfigurierbare Aktionen, oft lokale Firewall. CrowdSec: eigenst\u00e4ndige Bouncer f\u00fcr Firewall, Reverse Proxy, Webserver, CDN oder andere Integrationen.\n\nKriterium: Webschutz. Fail2Ban: Logbasierte Reaktion nach protokolliertem Ereignis. CrowdSec: zus\u00e4tzlich AppSec\/WAF m\u00f6glich, aber nur mit einem daf\u00fcr geeigneten Bouncer.\n\nKriterium: Threat Intelligence. Fail2Ban: keine eingebaute kollaborative Blockliste als Kernprinzip. CrowdSec: optionale Community Blocklist bei Teilnahme.\n\nKriterium: Anpassung. Fail2Ban: eigener Filter pro Logformat sehr flexibel, aber Regex-Qualit\u00e4t ist sicherheitskritisch. CrowdSec: eigene Parser, Szenarien und Collections m\u00f6glich, daf\u00fcr komplexeres Komponentenmodell.\n\nKriterium: Betriebsrisiko. Bei beiden: Fehlkonfigurationen k\u00f6nnen legitime Nutzer aussperren; die Werkzeuge erkennen nur, was korrekt geloggt, eingelesen und passend konfiguriert ist.\n\nGrenzen und typische Fehler\n\nDer Artikel sollte insbesondere vor f\u00fcnf Fehlern warnen:\n\nErstens: Eine Sperre als vollst\u00e4ndigen Schutz darstellen. Beide L\u00f6sungen reagieren auf erkennbare Muster oder bekannte Entscheidungen; sie verhindern keine Sicherheitsl\u00fccke, die ohne auff\u00e4llige Logs ausgenutzt wird.\n\nZweitens: Ungepr\u00fcfte Regexe bei Fail2Ban \u00fcbernehmen. Fail2Bans eigene Filterdokumentation beschreibt Risiken von zu weit gefassten Mustern, Log-Injection und Denial-of-Service-artigem Backtracking. Eigene Filter m\u00fcssen mit echten, anonymisierten Beispielzeilen getestet werden; ein Terminalbefehl wie fail2ban-regex ist dabei ausdr\u00fccklich als Testwerkzeug zu kennzeichnen, nicht als Produktions\u00e4nderung. ([fail2ban.readthedocs.io](https:\/\/fail2ban.readthedocs.io\/en\/latest\/filters.html?utm_source=openai))\n\nDrittens: Logs oder Journal-Anbindung falsch konfigurieren. Eine Fail2Ban-Jail kann nur eine Filterdefinition verwenden, aber mehrere Aktionen besitzen. Bei dateibasierten Logpfaden z\u00e4hlen nur beim Start vorhandene Dateien, die auf ein Glob-Muster passen; bei systemd-Journals sind Backend- und Zugriffsdetails gesondert zu pr\u00fcfen. ([manpages.debian.org](https:\/\/manpages.debian.org\/testing\/fail2ban\/jail.conf.5.en.html?utm_source=openai))\n\nViertens: CrowdSec ohne Bouncer als aktive Sperre ansehen. Der Security Engine erkennt und erstellt Entscheidungen, aber die Durchsetzung ben\u00f6tigt einen korrekt verbundenen Remediation Component. Dieser ben\u00f6tigt \u00fcblicherweise einen API-Schl\u00fcssel beziehungsweise eine abgesicherte API-Verbindung. ([docs.crowdsec.net](https:\/\/docs.crowdsec.net\/docs\/bouncers\/intro\/?utm_source=openai))\n\nF\u00fcnftens: Messwerte erfinden oder Paket-Maxima verallgemeinern. Aussagen wie \u201egeringer Ressourcenverbrauch\u201c d\u00fcrfen nur als Herstellerempfehlung oder dokumentierte Mindestvoraussetzung erscheinen, nicht als unabh\u00e4ngiger Performancevergleich. CrowdSec nennt f\u00fcr den Security Engine unter anderem eine CPU, 100 MB freien RAM und 1 GB freien Speicher als empfohlene Mindestwerte; daraus folgt kein allgemeines Kapazit\u00e4tsversprechen f\u00fcr jeden Server. ([docs.crowdsec.net](https:\/\/docs.crowdsec.net\/u\/getting_started\/intro\/?utm_source=openai))\n\nSichere Beispiele und Darstellungsform\n\nGeeignet sind kurze, klar markierte Konfigurationsausschnitte ohne echte IPs, Hostnamen, API-Schl\u00fcssel oder produktive Pfade. Ein Fail2Ban-Beispiel sollte zeigen, dass Anpassungen in einer .local-Datei erfolgen und vor Aktivierung mit vorhandenen Logbeispielen gepr\u00fcft werden. Ein CrowdSec-Beispiel sollte die Komponentenbeziehung erkl\u00e4ren: Logquelle \u2192 Szenario \u2192 Decision \u2192 Bouncer, ohne einen echten Bouncer-Key auszugeben.\n\nEin Leistungsdiagramm ist nicht zu empfehlen, weil die Recherche keine vergleichbaren, reproduzierbaren Messdaten zu CPU-, Speicher- oder Erkennungsraten f\u00fcr identische Umgebungen liefert. Sinnvoller sind eine Architektur-Gegen\u00fcberstellung und die oben beschriebene Entscheidungstabelle.","_wh_make_sources":{"S1":{"id":"S1","url":"https:\/\/manpages.debian.org\/testing\/fail2ban\/jail.conf.5.en.html?utm_source=openai","title":"jail.conf(5) \u2014 fail2ban \u2014 Debian testing \u2014 P\u00e1ginas de manual de Debian"},"S2":{"id":"S2","url":"https:\/\/fail2ban.readthedocs.io\/en\/latest\/filters.html?utm_source=openai","title":"Desarrollo de filtros \u2014 Documentaci\u00f3n de Fail2Ban 0.9.0.dev"},"S3":{"id":"S3","url":"https:\/\/github.com\/fail2ban\/fail2ban\/releases?utm_source=openai","title":"Versiones \u00b7 fail2ban\/fail2ban \u00b7 GitHub"},"S4":{"id":"S4","url":"https:\/\/docs.crowdsec.net\/docs\/bouncers\/intro\/?utm_source=openai","title":"Componentes de correcci\u00f3n de CrowdSec (tambi\u00e9n conocidos como \u00abBouncers\u00bb) | CrowdSec"},"S5":{"id":"S5","url":"https:\/\/manpages.debian.org\/buster\/fail2ban\/jail.conf.5.en.html?utm_source=openai","title":"jail.conf(5) \u2014 fail2ban \u2014 Debian buster \u2014 P\u00e1ginas de manual de Debian"},"S6":{"id":"S6","url":"https:\/\/docs.crowdsec.net\/u\/getting_started\/intro\/?utm_source=openai","title":"Introducci\u00f3n | CrowdSec"},"S7":{"id":"S7","url":"https:\/\/docs.crowdsec.net\/docs\/concepts\/?utm_source=openai","title":"Conceptos | CrowdSec"},"S8":{"id":"S8","url":"https:\/\/docs.crowdsec.net\/docs\/intro\/?utm_source=openai","title":"Introducci\u00f3n | CrowdSec"},"S9":{"id":"S9","url":"https:\/\/docs.crowdsec.net\/docs\/bouncers\/firewall\/?utm_source=openai","title":"Bloqueo de direcciones IP en el cortafuegos de Linux con CrowdSec | CrowdSec"}},"_wh_make_usage":{"research":{"input_tokens":21526,"output_tokens":3126,"response_id":"resp_0033713be0b0b9fa016ae19d8cbf2487d29aeb310482f9a4bc","model":"gpt-5.6-terra","search_calls":2},"plan_a3a87b10547200d2a28769d6e2b63898":{"input_tokens":6065,"output_tokens":1194,"response_id":"resp_09cac0c1edceba97016ae19db83f3087d2b392ac7df3b62078","model":"gpt-5.6-terra","search_calls":0},"part1_5d78ed900fa838206c2095a428472a3c":{"input_tokens":8328,"output_tokens":1926,"response_id":"resp_02bd03c38714daf6016ae19dc8a39087d280c4b6f376ea405c","model":"gpt-5.6-terra","search_calls":0},"part2_782b4befffff883800f16b1081c46867":{"input_tokens":8361,"output_tokens":2170,"response_id":"resp_0d521fccc4b1b821016ae19de0cacc87d28431d0d923d2d977","model":"gpt-5.6-terra","search_calls":0},"part3_37c36d8b83491593eb002bde9b265c4d":{"input_tokens":8385,"output_tokens":1697,"response_id":"resp_016a48cecbcb3cf1016ae19dfb991c87d2b0b240037960f450","model":"gpt-5.6-terra","search_calls":0},"package_b442340bcb8817c830646e61e2a35d96":{"input_tokens":13938,"output_tokens":1528,"response_id":"resp_02655ecc8d533caf016ae19e11de3487d2a801f0f3aa2971c9","model":"gpt-5.6-terra","search_calls":0},"review_d5f54248444584361d1baf91cbde865f":{"input_tokens":47749,"output_tokens":2566,"response_id":"resp_03daf4966825109b016ae19e2553a887d28ed62bd8a3b63784","model":"gpt-5.6-sol","search_calls":4},"repair_1c1fbcdd0a8f44c875f96a3ba2b58ecd":{"input_tokens":30157,"output_tokens":5402,"response_id":"resp_03f758f06f8f5326016ae19e8a1d0887d2862fd4cc51c8d321","model":"gpt-5.6-terra","search_calls":1},"repair_7d93512922f0340a1c7198be0bbd2a12":{"input_tokens":25628,"output_tokens":1125,"response_id":"resp_000622a51c81565f016ae19eb2508c87d28cd590a6991bb151","model":"gpt-5.6-sol","search_calls":1},"review_b319b15c0d3af87e9e3b30171c534c79":{"input_tokens":34752,"output_tokens":1216,"response_id":"resp_0811053a9343d30a016ae19ec3214487d2afabd7187a6862dc","model":"gpt-5.6-sol","search_calls":2},"repair_857d7eebe11e0d1fd9873de4ddae585f":{"input_tokens":25717,"output_tokens":905,"response_id":"resp_0fdca62f5ee0ed3e016ae19f230e0487d2bdc12b4a7dce6ac6","model":"gpt-5.6-sol","search_calls":1},"repair_a69cbec65572208b992b114eecbeed12":{"input_tokens":25813,"output_tokens":1204,"response_id":"resp_0bb000f94ff439ce016ae19f4284d487d29bee08e850680725","model":"gpt-5.6-sol","search_calls":1},"review_2041ba6049b9ccefc1082cf579ae9437":{"input_tokens":32996,"output_tokens":1444,"response_id":"resp_034587960b54fa02016ae19f56d63887d2830bf696c80fdbc2","model":"gpt-5.6-sol","search_calls":2}},"_wh_make_last_error":"","_wh_make_write_intent":{"before":{"content_md5":"dd99c71afa1ad6b3520e21b16166951e","title":"CrowdSec frente a Fail2Ban: diferencias en la aplicaci\u00f3n pr\u00e1ctica","slug":"crowdsec-frente-a-fail2ban-aplicacion-practica","excerpt":"CrowdSec y Fail2Ban bloquean las direcciones IP sospechosas, pero difieren en cuanto a la detecci\u00f3n, la aplicaci\u00f3n de medidas y el esfuerzo de gesti\u00f3n. La comparaci\u00f3n muestra qu\u00e9 soluci\u00f3n es la m\u00e1s adecuada para VPS, proxies y configuraciones distribuidas.","status":"draft","featured_media":0},"expected":{"content_md5":"c389944268c778d6f2a72af43dbe4c50","title":"CrowdSec frente a Fail2Ban: diferencias en la aplicaci\u00f3n pr\u00e1ctica","slug":"crowdsec-frente-a-fail2ban-aplicacion-practica","excerpt":"CrowdSec y Fail2Ban bloquean las direcciones IP sospechosas, pero difieren en cuanto a la detecci\u00f3n, la aplicaci\u00f3n de medidas y el esfuerzo de gesti\u00f3n. La comparaci\u00f3n muestra qu\u00e9 soluci\u00f3n es la m\u00e1s adecuada para VPS, proxies y configuraciones distribuidas.","status":"draft","featured_media":0},"at":"2026-10-28T07:08:05+00:00"},"_wh_make_design_version":"2.1.18","rank_math_title":"CrowdSec vs. Fail2Ban im Praxisvergleich","_wh_make_doc":{"title":"CrowdSec frente a Fail2Ban: diferencias en la aplicaci\u00f3n pr\u00e1ctica","slug":"crowdsec-frente-a-fail2ban-aplicacion-practica","excerpt":"CrowdSec y Fail2Ban bloquean las direcciones IP sospechosas, pero difieren en cuanto a la detecci\u00f3n, la aplicaci\u00f3n de medidas y el esfuerzo de gesti\u00f3n. La comparaci\u00f3n muestra qu\u00e9 soluci\u00f3n es la m\u00e1s adecuada para VPS, proxies y configuraciones distribuidas.","seo":{"title":"Comparativa pr\u00e1ctica entre CrowdSec y Fail2Ban","description":"\u00bfCrowdSec o Fail2Ban? Descubre en qu\u00e9 se diferencian las \u00abjails\u00bb, los escenarios, el \u00abbouncer\u00bb, la protecci\u00f3n web y los costes operativos en el d\u00eda a d\u00eda de la gesti\u00f3n de servidores.","focus_keyword":"CrowdSec vs Fail2Ban"},"lead":[{"kind":"text","text":"F\u00fcr einen einzelnen Server mit klaren SSH-Logs ist ","ref":""},{"kind":"strong","text":"Fail2Ban","ref":""},{"kind":"text","text":" oft der direktere Weg zur lokalen Sperre. CrowdSec eignet sich besonders, wenn mehrere Logquellen, Proxies oder getrennte Schutzpunkte koordiniert werden m\u00fcssen. Entscheidend sind nicht Produktnamen, sondern verwertbare Client-IP-Logs, ein passender Durchsetzungspunkt und \u00fcberpr\u00fcfbare Ausnahmen. Beide Werkzeuge reagieren auf erkennbare Muster; sie ersetzen weder Patches noch sichere Anmeldung, Firewall-Grundregeln, Backups oder Monitoring.","ref":""},{"kind":"citation","text":"","ref":"S1"},{"kind":"citation","text":"","ref":"S6"}],"images":{"hero":{"prompt":"Fotorealistisches redaktionelles Smartphonefoto in einer leicht genutzten kleinen Servernische eines B\u00fcros: eine kr\u00e4ftig gebaute Erwachsene zwischen 65 und 75 Jahren mit hellem Hautton und l\u00e4ngeren welligen graumelierten Haaren pr\u00fcft konzentriert an einem offenen 19-Zoll-Netzwerkschrank die Kabelbeschriftung neben einem kleinen Firewall-Ger\u00e4t, ohne lesbare Texte oder Logos. Halbnahe seitliche Perspektive, ein Laptop ist nur geschlossen auf einem Rollwagen sichtbar. Vorhandenes warmes Raumlicht, nat\u00fcrliche Farben, kleine Staubspuren und Kabelkan\u00e4le, normale Sch\u00e4rfentiefe, leicht unperfekter Bildausschnitt, glaubw\u00fcrdiger Amateurfoto-Look.","alt":"Person pr\u00fcft in einer kleinen Servernische Firewall- und Netzwerkanschl\u00fcsse.","caption":"KI-generiertes Symbolbild: Der Schutzpunkt einer Sperre muss zum tats\u00e4chlichen Datenweg passen.","filename_base":"crowdsec-fail2ban-schutzpunkt","section_id":"","after_block":0},"detail1":{"prompt":"Fotorealistisches Smartphone-Nahfoto ohne Menschen: auf einem gebrauchten Schreibtisch liegen ein kleines Notizheft, ein unbeschrifteter USB-Sicherheitsstick, ein schwarzer Stift und ein aufgeklappter Ordner mit neutralen, unlesbaren Formularseiten neben einem ausgeschalteten kompakten Linux-Mini-PC. Das Motiv vermittelt sorgf\u00e4ltige lokale Konfigurationspflege f\u00fcr Jails und Logpr\u00fcfung, ohne sichtbare Bildschirmoberfl\u00e4che, Logos oder lesbare W\u00f6rter. Weiches Tageslicht vom Fenster, nat\u00fcrliche Farben, feine Gebrauchsspuren auf Holz und Metall, normale Sch\u00e4rfentiefe und ungestellter Amateurfoto-Ausschnitt.","alt":"Arbeitsplatz mit Notizen und Mini-PC f\u00fcr die lokale Sicherheitskonfiguration.","caption":"KI-generiertes Symbolbild: Lokale Jails und gepr\u00fcfte Logquellen machen Fail2Ban nachvollziehbar.","filename_base":"fail2ban-jails-logpruefung","section_id":"fail2ban-jails","after_block":4},"detail2":{"prompt":"Fotorealistisches redaktionelles Smartphonefoto in einem normalen Technikraum: zwei deutlich unterschiedliche Erwachsene stehen seitlich vor einem Patchpanel und einem kompakten Server- oder Netzwerkhost, auf dem ein vorgeschalteter Proxy-Dienst laufen kann. Eine schlanke Frau um 40 mit dunklem lockigem Kurzhaar und Brille zeigt auf eine einzelne Netzwerkverbindung; daneben pr\u00fcft ein kr\u00e4ftiger Mann um 60 mit dunkler Haut, kahlem Kopf und Arbeitshemd aufmerksam einen kleinen Statusindikator. Keine lesbaren Displays, Texte oder Logos. Mittlere Distanz, vorhandenes neutrales Deckenlicht, sichtbare Gebrauchsspuren, nat\u00fcrliche Hautstruktur, normale Sch\u00e4rfentiefe und beil\u00e4ufige Arbeitsatmosph\u00e4re.","alt":"Zwei Personen pr\u00fcfen Netzwerkverbindungen an einem Server- und Netzwerkhost.","caption":"KI-generiertes Symbolbild: Bei Proxy-Setups m\u00fcssen Client-IP und Sperrpunkt gemeinsam gepr\u00fcft werden.","filename_base":"proxy-client-ip-sperrpunkt","section_id":"proxy-und-webschutz","after_block":2}},"chart":null,"social":{"facebook":"CrowdSec oder Fail2Ban? Der Praxisvergleich zeigt, wie sich Erkennung, Sperrpunkt, Webschutz und Betriebsaufwand bei VPS-, Proxy- und Multi-Server-Setups unterscheiden.","instagram":"Fail2Ban-Jails oder CrowdSec mit Bouncern? Entscheidend sind Logquelle, echte Client-IP und der Schutzpunkt \u2013 nicht das Etikett \u201emodern\u201c.","tiktok":"CrowdSec vs. Fail2Ban in 3 Fragen: Was wird geloggt? Wo wird gesperrt? Wer pr\u00fcft Ausnahmen und Wirkung?","youtube":"CrowdSec vs. Fail2Ban erkl\u00e4rt: Jails, Szenarien, Bouncer und die richtigen Entscheidungen f\u00fcr VPS, Reverse Proxy und mehrere Server.","threads":"Fail2Ban ist f\u00fcr klar abgegrenzte lokale Logmuster oft sehr transparent. CrowdSec spielt seine Architektur aus, wenn Erkennung und Durchsetzung \u00fcber mehrere Schutzpunkte verteilt werden m\u00fcssen.","x":"CrowdSec vs. Fail2Ban: Nicht \u201emodern gegen klassisch\u201c, sondern Logquelle, echte Client-IP, Sperrpunkt und Pflegeaufwand entscheiden. F\u00fcr lokale SSH-Logs ist Fail2Ban oft direkt; CrowdSec hilft bei mehreren Quellen, Proxies und Bouncern."},"avatar_script":"CrowdSec und Fail2Ban verfolgen ein \u00e4hnliches Ziel: Auff\u00e4llige IP-Adressen anhand von Logereignissen erkennen und Sperren ausl\u00f6sen. Der wichtige Unterschied liegt im Aufbau. Fail2Ban b\u00fcndelt Filter und Aktionen in Jails und ist damit f\u00fcr klar abgegrenzte Dienste auf einem einzelnen Server oft leicht zu kontrollieren. CrowdSec trennt Erkennung, Entscheidungen und Durchsetzung \u00fcber Remediation Components. Das kann bei Proxies, Webschutz oder mehreren Hosts sinnvoll sein, verlangt aber saubere Zuordnung und Monitoring. Beide L\u00f6sungen wirken nur mit korrekten Logs, echten Client-IP-Adressen und einem Sperrpunkt vor dem gesch\u00fctzten Dienst. Sie erg\u00e4nzen Updates, sichere Anmeldung und Backups, ersetzen diese Grundlagen aber nicht.","version_note":"Recherche- und Versionsstand: 28. Oktober 2026. Fail2Ban 1.1.1 wurde am 15. August 2026 als Release ver\u00f6ffentlicht. CrowdSec-Funktionen sind nach Security Engine, Szenarien und eingesetzter Remediation Component getrennt bewertet.","sections":[{"id":"vergleichsrahmen","heading":"CrowdSec und Fail2Ban richtig einordnen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Die passende Wahl h\u00e4ngt nicht davon ab, welches Werkzeug als moderner gilt, sondern von Server, Logdaten und gew\u00fcnschtem Durchsetzungspunkt. F\u00fcr einen einzelnen SSH-Dienst mit klaren Fehlermeldungen kann Fail2Ban sehr direkt sein. CrowdSec wird interessant, wenn mehrere Logquellen, unterschiedliche Schutzebenen oder verteilte Systeme gemeinsam ausgewertet und abgesichert werden sollen.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Beide L\u00f6sungen dienen der ","ref":""},{"kind":"strong","text":"logbasierten Angriffserkennung","ref":""},{"kind":"text","text":": Sie lesen sicherheitsrelevante Ereignisse wie fehlgeschlagene Anmeldungen, ordnen sie einem Muster zu und k\u00f6nnen eine IP-Adresse sperren lassen. Fail2Ban verbindet daf\u00fcr Filter und Aktionen in Jails. CrowdSec verarbeitet eingelesene Daten \u00fcber seine Security Engine und erzeugt Entscheidungen, deren Umsetzung eine separate Remediation Component \u00fcbernimmt.","ref":""},{"kind":"citation","text":"","ref":"S1"},{"kind":"citation","text":"","ref":"S6"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Entscheidend ist, was tats\u00e4chlich protokolliert wird. Ohne Zeitstempel, verwertbare Quell-IP und passende Logquelle kann keines der Werkzeuge einen Angriff zuverl\u00e4ssig zuordnen. Eine Sperre sch\u00fctzt au\u00dferdem nur dort, wo sie technisch greift: Eine lokale Firewall-Regel hilft nicht automatisch, wenn der Datenverkehr zuvor an einem externen Reverse Proxy oder Load Balancer endet.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Als ","ref":""},{"kind":"strong","text":"Intrusion Prevention","ref":""},{"kind":"text","text":" erg\u00e4nzen beide Werkzeuge eine Sicherheitsarchitektur, ersetzen sie aber nicht. Sicherheitsupdates schlie\u00dfen bekannte Schwachstellen, starke und m\u00f6glichst mehrstufige Anmeldung begrenzt Kontenmissbrauch, restriktive Firewall-Grundregeln reduzieren erreichbare Dienste. Backups begrenzen Sch\u00e4den nach einem Vorfall, w\u00e4hrend fortlaufendes Logmonitoring auch Probleme sichtbar macht, die keine Sperre ausl\u00f6sen.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Die praktische Frage lautet daher: Welche Muster m\u00fcssen erkannt werden, an welcher Stelle soll die Reaktion erfolgen und wer pflegt Regeln, Ausnahmen sowie Logs? Erst danach l\u00e4sst sich begr\u00fcndet entscheiden, ob eine \u00fcberschaubare lokale Jail-Konfiguration gen\u00fcgt oder ob CrowdSecs getrennte Komponenten f\u00fcr die Infrastruktur einen erkennbaren Zusatznutzen bringen.","ref":""}]}]},{"id":"fail2ban-jails","heading":"Wie Fail2Ban Jails und Aktionen verkn\u00fcpft","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Fail2Ban organisiert Erkennung und Reaktion in ","ref":""},{"kind":"strong","text":"Jails","ref":""},{"kind":"text","text":". Bei SSH liest eine Jail beispielsweise Authentifizierungsprotokolle oder das Systemjournal. Ein Filter sucht darin nach fehlgeschlagenen Anmeldungen einer Quell-IP. \u00dcberschreitet diese innerhalb des konfigurierten Zeitfensters die erlaubte Zahl von Fehlversuchen, behandelt Fail2Ban den Treffer als Sperrfall.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Die anschlie\u00dfende Aktion bestimmt die Reaktion. H\u00e4ufig erg\u00e4nzt sie eine Regel in der lokalen Firewall, m\u00f6glich sind jedoch auch andere konfigurierte Aktionen. Damit ist die Kette nachvollziehbar: Logquelle liefert Zeilen, der Filter erkennt relevante Ereignisse, die Jail z\u00e4hlt sie und die Aktion setzt die vorgesehene Gegenma\u00dfnahme um. Das erleichtert die Fehlersuche, sofern Logformat und Filter zusammenpassen.","ref":""},{"kind":"citation","text":"","ref":"S5"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Eine Jail verwendet genau einen Filter, kann jedoch mehrere Aktionen ausf\u00fchren. So kann derselbe festgestellte SSH-Sperrfall etwa eine Firewall-Aktion ausl\u00f6sen und zus\u00e4tzlich eine Benachrichtigung ansto\u00dfen. Mehrere Aktionen machen die Reaktion flexibler, \u00e4ndern aber nicht die Grundlage der Erkennung: Alle h\u00e4ngen am selben Filter und dessen Interpretation der Logzeilen.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Besondere Sorgfalt brauchen selbst geschriebene ","ref":""},{"kind":"strong","text":"Regex-Filter","ref":""},{"kind":"text","text":". Die verf\u00fcgbare Filterdokumentation ist ausdr\u00fccklich ein Entwicklungsleitfaden f\u00fcr Fail2Ban 0.9.0.dev und kein Funktionsnachweis f\u00fcr eine bestimmte stabile Paketversion. Ihre allgemeinen Hinweise bleiben f\u00fcr die Filterentwicklung n\u00fctzlich: Reale Logformatvarianten m\u00fcssen abgedeckt werden, w\u00e4hrend Muster nicht zu gro\u00dfz\u00fcgig passen d\u00fcrfen. Neue Filter sollten deshalb zun\u00e4chst mit anonymisierten Beispielzeilen gepr\u00fcft werden, bevor sie Sperren ausl\u00f6sen.","ref":""},{"kind":"citation","text":"","ref":"S2"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Lokale \u00c4nderungen geh\u00f6ren grunds\u00e4tzlich in Dateien mit der Endung ","ref":""},{"kind":"code","text":".local","ref":""},{"kind":"text","text":", nicht in ausgelieferte ","ref":""},{"kind":"code","text":".conf","ref":""},{"kind":"text","text":"-Dateien. Damit bleiben eigene Werte f\u00fcr Logpfade, erlaubte Netze oder Aktionen bei Paketupdates besser nachvollziehbar und werden nicht einfach \u00fcberschrieben. Vor dem Rollout sollte au\u00dferdem gepr\u00fcft werden, ob die gew\u00e4hlte Logquelle tats\u00e4chlich existiert und die erwarteten Ereignisse enth\u00e4lt.","ref":""},{"kind":"citation","text":"","ref":"S5"}]}]},{"id":"crowdsec-architektur","heading":"CrowdSecs Weg vom Log zur Sperre","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"CrowdSec trennt Erkennung und Durchsetzung deutlicher in einzelne Komponenten. Zuerst definieren Acquisition-Quellen, welche Logs oder Ereignisstr\u00f6me eingelesen werden. Parser normalisieren diese Daten; Szenarien bewerten anschlie\u00dfend Muster und Verhalten. Bei einem passenden Muster entsteht ein Alert. Die Local API kann auf Grundlage konfigurierter Profile daraus eine Decision erzeugen, etwa eine zeitlich begrenzte IP-Sperre.","ref":""},{"kind":"citation","text":"","ref":"S6"},{"kind":"citation","text":"","ref":"S7"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Ein kurzes Beispiel verdeutlicht den Ablauf: Authentifizierungsfehler eines Dienstes gelangen \u00fcber die Acquisition in die Engine. Parser erkennen Felder wie Zeit, Dienst und Quell-IP; ein Szenario bewertet wiederholte Fehlversuche. Der daraus erzeugte Alert wird an die Local API \u00fcbergeben, die mit einem passenden Profil eine Decision erstellen kann. Erst eine angeschlossene ","ref":""},{"kind":"strong","text":"Remediation Component","ref":""},{"kind":"text","text":" setzt diese Entscheidung am vorgesehenen Schutzpunkt durch.","ref":""},{"kind":"citation","text":"","ref":"S6"},{"kind":"citation","text":"","ref":"S7"},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Diese Komponente wird traditionell auch Bouncer genannt. Je nach Variante kann sie Decisions beispielsweise an einer Firewall, einem Reverse Proxy oder einem Webserver durchsetzen. Die Security Engine allein erkennt Vorf\u00e4lle und verwaltet \u00fcber die Local API Alerts sowie Decisions, sperrt jedoch keinen Datenverkehr. Ohne korrekt angebundene Remediation Component bleibt eine erzeugte Decision eine Information ohne aktive Netz- oder Anwendungssperre.","ref":""},{"kind":"citation","text":"","ref":"S4"},{"kind":"citation","text":"","ref":"S7"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Praktisch erlaubt die Trennung, Erkennung und Sperre auf verschiedene Infrastrukturpunkte zu verteilen. Sie erh\u00f6ht jedoch den Betriebsumfang: Logquelle, lokale API-Verbindung, Berechtigungen und Bouncer-Zuordnung m\u00fcssen zusammenpassen. Vor allem bei mehreren Diensten ist zu pr\u00fcfen, ob die Remediation Component wirklich vor dem Dienst sitzt, dessen Zugriffe sie aufgrund einer Decision blockieren soll.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Von lokalen Szenario-Treffern zu unterscheiden ist die optionale ","ref":""},{"kind":"strong","text":"Community Blocklist","ref":""},{"kind":"text","text":". Bei freiwilliger Teilnahme k\u00f6nnen Signale beigetragen und kuratierte Entscheidungen zu bereits bekannten Angreifern bezogen werden. Das ist eine zus\u00e4tzliche pr\u00e4ventive Quelle, aber weder ein Ersatz f\u00fcr lokale Erkennung noch eine Zusage, neue oder unauff\u00e4llige Angreifer zu erfassen. Die Herkunft einer Sperrentscheidung sollte im Betrieb daher nachvollziehbar bleiben.","ref":""},{"kind":"citation","text":"","ref":"S7"}]}]},{"id":"entscheidungsmatrix","heading":"Die Werkzeuge nach Einsatzfall vergleichen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Die Entscheidung zwischen CrowdSec und Fail2Ban beginnt mit dem Schutzpunkt, nicht mit einem allgemeinen Qualit\u00e4tsurteil. Fail2Ban wertet Logzeilen mit Filtern aus und verkn\u00fcpft diese in Jails mit Aktionen. CrowdSec verarbeitet Logquellen \u00fcber Parser und Szenarien zu Alerts; die Local API kann daraus mit Profilen Decisions erzeugen, welche getrennte Remediation Components durchsetzen. Beide bleiben auf korrekt erfasste Ereignisse angewiesen.","ref":""},{"kind":"citation","text":"","ref":"S1"},{"kind":"citation","text":"","ref":"S6"},{"kind":"citation","text":"","ref":"S7"}]},{"type":"table","caption":"Vergleich der Werkzeuge nach technischem Einsatzfall","headers":["Kriterium","Fail2Ban","CrowdSec"],"rows":[["Erkennungsmodell","Filter mit regul\u00e4ren Ausdr\u00fccken in Jails; Treffer k\u00f6nnen innerhalb eines Zeitfensters gez\u00e4hlt werden.","Parser bereiten Ereignisse auf; Szenarien bewerten Verhalten und erzeugen Alerts. Profile k\u00f6nnen daraus Decisions erstellen."],["Sperrdurchsetzung","Konfigurierbare Aktionen, h\u00e4ufig an der lokalen Firewall.","Getrennte Remediation Components setzen Decisions etwa an Firewall, Reverse Proxy oder Webserver durch."],["Webschutz","Reagiert auf bereits protokollierte Ereignisse.","Ein geeigneter AppSec-Bouncer leitet HTTP-Anfragen zur Pr\u00fcfung an die AppSec-Komponente der Security Engine weiter; ein Firewall-Bouncer pr\u00fcft keine HTTP-Inhalte."],["Anpassung","Eigene Filter sind m\u00f6glich, m\u00fcssen aber Logformat und Fehlertreffer sorgf\u00e4ltig ber\u00fccksichtigen.","Parser, Szenarien und Collections sind anpassbar; das Komponentenmodell erh\u00f6ht den Integrationsaufwand."],["Threat Intelligence","Keine kollaborative Blockliste als Kernbestandteil des Jail-Modells.","Bei freiwilliger Teilnahme kann eine Community Blocklist zus\u00e4tzliche Decisions liefern."],["Betriebsrisiko","Unpassende Filter oder Aktionen k\u00f6nnen legitime Zugriffe sperren.","Falsch zugeordnete oder fehlende Remediation Components lassen Decisions wirkungslos oder sperren am falschen Punkt."]],"source_ids":["S1","S2","S4","S6","S7"]},{"type":"paragraph","runs":[{"kind":"text","text":"Die Tabelle ist keine Rangliste. F\u00fcr wenige, gut verstandene Logmuster ist eine lokale Jail oft leichter zu pr\u00fcfen: Logquelle, Filter und Firewall-Aktion liegen nah beieinander. Sobald mehrere Quellen, vorgeschaltete Systeme oder unterschiedliche Durchsetzungspunkte beteiligt sind, kann die Trennung von Erkennung und Reaktion bei CrowdSec sinnvoll sein. Sie verlangt jedoch auch, die Beziehungen der Komponenten nachvollziehbar zu betreiben.","ref":""},{"kind":"citation","text":"","ref":"S1"},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Beim Kriterium Webschutz ist die technische Ebene entscheidend. Ein CrowdSec Firewall-Bouncer setzt Decisions auf Netzwerkebene durch, untersucht jedoch keinen HTTP-Inhalt. Bei einem unterst\u00fctzten AppSec-Setup \u00fcbergibt ein daf\u00fcr geeigneter Bouncer HTTP-Anfragen an die AppSec-Komponente der Security Engine; dort werden die AppSec-Regeln ausgewertet. Diese Pr\u00fcfung erg\u00e4nzt sichere Entwicklung und zeitnahe Updates, statt bekannte Schwachstellen zu beheben.","ref":""},{"kind":"citation","text":"","ref":"S4"},{"kind":"citation","text":"","ref":"S7"}]}]},{"id":"vps-praxis","heading":"Praxisfall einzelner VPS mit SSH","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Auf einem kleinen Linux-VPS mit SSH und einem \u00fcberschaubaren Webstack ist Fail2Ban h\u00e4ufig eine gut kontrollierbare Wahl. Zuerst pr\u00fcfst du, ob fehlgeschlagene SSH-Anmeldungen mit Zeitstempel und Quell-IP zuverl\u00e4ssig im vorgesehenen Log oder Journal erscheinen. Ohne diese Daten kann eine Jail weder Fehlversuche belastbar z\u00e4hlen noch die richtige Adresse an eine Aktion \u00fcbergeben.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Danach w\u00e4hlst du eine passende SSH-Jail und kontrollierst Filter, Zeitfenster, zul\u00e4ssige Fehlversuche und Sperrdauer gegen die eigene Anmelderealit\u00e4t. Eine Jail verbindet einen Filter mit einer oder mehreren Aktionen. Dadurch l\u00e4sst sich die Sperre beispielsweise an die lokale Firewall delegieren, ohne die Erkennungslogik zu duplizieren. F\u00fcr einen einzelnen Host h\u00e4lt diese Kopplung den Ablauf meist transparent.","ref":""},{"kind":"citation","text":"","ref":"S1"},{"kind":"citation","text":"","ref":"S5"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Verwaltungsnetze, Notfallzug\u00e4nge und Monitoring-Systeme brauchen bewusst definierte Ausnahmen. Diese sollten eng begrenzt sein und nicht pauschal gro\u00dfe Provider-Netze freistellen. Pr\u00fcfe au\u00dferdem vor dem Rollout, welche Firewall-Regeln die Aktion tats\u00e4chlich anlegt und ob IPv4 und IPv6 zum Serverkonzept passen. Ein kontrollierter Start mit beobachteten Logs ist sicherer als eine sofortige, lange Sperrdauer.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Eigene ","ref":""},{"kind":"strong","text":"Regex-Filter","ref":""},{"kind":"text","text":" sind erst dann sinnvoll, wenn kein vorhandener Filter das konkrete Logformat abdeckt. Der verf\u00fcgbare Leitfaden f\u00fcr die Filterentwicklung ist als Dokumentation zu Fail2Ban 0.9.0.dev gekennzeichnet und belegt daher keine stabile Version wie 1.1.1. Seine Entwicklungshinweise sind dennoch praktisch: Pr\u00fcfe neue Muster mit anonymisierten echten Beispielzeilen und mit \u00e4hnlichen, aber legitimen Zeilen. Das Testwerkzeug ","ref":""},{"kind":"code","text":"fail2ban-regex","ref":""},{"kind":"text","text":" dient dabei der Filtervalidierung; es \u00e4ndert keine Produktionssperre.","ref":""},{"kind":"citation","text":"","ref":"S2"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Lokale Einstellungen geh\u00f6ren in ","ref":""},{"kind":"code","text":".local","ref":""},{"kind":"text","text":"-Dateien, nicht in ausgelieferte ","ref":""},{"kind":"code","text":".conf","ref":""},{"kind":"text","text":"-Dateien. So bleiben Anpassungen bei Paketupdates nachvollziehbar und werden nicht versehentlich \u00fcberschrieben. Nach jeder \u00c4nderung pr\u00fcfst du Logeingang, Jail-Status und die ausgel\u00f6ste Aktion getrennt; ein laufender Dienst allein belegt noch keine wirksame Sperrkette.","ref":""},{"kind":"citation","text":"","ref":"S5"}]}]},{"id":"proxy-und-webschutz","heading":"Proxies, echte Client-IP und Webschutz","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Ein CDN, Load Balancer oder Reverse Proxy ver\u00e4ndert, welche Adresse der Server sieht. Erh\u00e4lt der Webserver nur die IP des Proxys und protokolliert sie als Client, bewertet eine logbasierte Sperre im schlimmsten Fall den gemeinsamen Vermittler statt des angreifenden Besuchers. Vor jeder Jail, jedem Szenario und jeder WAF-Regel muss deshalb gekl\u00e4rt sein, wie die urspr\u00fcngliche Client-IP vertrauensw\u00fcrdig weitergegeben, akzeptiert und geloggt wird.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Diese Vertrauenskette darf nicht einfach jeden eingehenden Header \u00fcbernehmen. Nur bekannte Proxy-Adressen d\u00fcrfen berechtigt sein, eine weitergereichte Adresse zu liefern; andernfalls k\u00f6nnten externe Clients die Identit\u00e4t f\u00e4lschen, auf der Erkennung und Sperre beruhen. Kontrolliere mit anonymisierten Logausz\u00fcgen, ob Anwendung und Zugriffslog dieselbe Client-IP zeigen. Dokumentiere au\u00dferdem die Header-Weitergabe zwischen Edge und Origin. Erst nach der Pr\u00fcfung der Client-IP ist eine Reaktion auf auff\u00e4llige HTTP-Ereignisse sinnvoll interpretierbar.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Eine ","ref":""},{"kind":"strong","text":"IP-Sperre","ref":""},{"kind":"text","text":" auf Firewall-Ebene begrenzt Verbindungen, bevor sie die Anwendung erreichen, pr\u00fcft aber keinen Request-Inhalt. Bei einem unterst\u00fctzten CrowdSec-AppSec-Setup leitet ein daf\u00fcr geeigneter Bouncer HTTP-Anfragen an die AppSec-Komponente der Security Engine weiter; dort werden die passenden AppSec-Regeln gepr\u00fcft. Ein reiner Firewall-Bouncer setzt dagegen Decisions auf Netzwerkebene durch und besitzt keine HTTP-Pr\u00fcfung. Welche Variante passt, richtet sich nach dem tats\u00e4chlichen Eintrittspunkt des Verkehrs und den eingesetzten Komponenten.","ref":""},{"kind":"citation","text":"","ref":"S4"},{"kind":"citation","text":"","ref":"S7"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Logbasierte Erkennung bleibt au\u00dferdem nachtr\u00e4glich: Zuerst muss ein Ereignis eintreffen, korrekt protokolliert und als Muster erkannt werden. Sie verhindert weder einen einzelnen erfolgreichen Exploit ohne auff\u00e4lliges Folgeereignis noch ersetzt sie Patches und starke Anmeldung. Vorgeschaltete Komponenten m\u00fcssen deshalb mit ihren vertrauensw\u00fcrdigen Weitergaben, Logs und Schutzpunkten zur gesamten Sicherheitsarchitektur passen.","ref":""},{"kind":"citation","text":"","ref":"S6"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Praktisch bedeutet das: Entscheide zuerst, ob Netzwerkzugang, HTTP-Anfrage oder beide Ebenen gesch\u00fctzt werden sollen. Dokumentiere anschlie\u00dfend den Weg von der \u00f6ffentlichen Adresse \u00fcber den Proxy bis zum Logeintrag und teste Sperren mit einer freigegebenen Testadresse. So vermeidest du, dass eine scheinbar funktionierende ","ref":""},{"kind":"strong","text":"Intrusion Prevention","ref":""},{"kind":"text","text":" lediglich die falsche Infrastrukturkomponente trifft.","ref":""}]}]},{"id":"verteilte-setups","heading":"Mehrere Server kontrolliert absichern","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Sobald mehrere Hosts, Container oder zentral erfasste Logs beteiligt sind, wird die Trennung von Erkennung und Durchsetzung bei CrowdSec praktisch. Die Security Engine kann Ereignisse aus definierten Quellen auswerten, w\u00e4hrend passende Remediation Components Entscheidungen an den jeweils gesch\u00fctzten Punkten umsetzen. CrowdSec dokumentiert daf\u00fcr auch verteilte Bereitstellungen und die Einbindung neben zentralisierten Logpipelines.","ref":""},{"kind":"citation","text":"","ref":"S8"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Das reduziert nicht automatisch den Betriebsaufwand. Zuerst muss je Logquelle nachvollziehbar sein, welchem Dienst und welchem Mandanten sie zugeordnet ist. Danach braucht jeder Bouncer eine klar begrenzte Verbindung zur lokalen API sowie einen eigenen Zugangsschl\u00fcssel. Ein Reverse-Proxy-Bouncer sch\u00fctzt beispielsweise nicht zwangsl\u00e4ufig einen separat erreichbaren SSH-Dienst; die ","ref":""},{"kind":"strong","text":"Bouncer-Zuordnung","ref":""},{"kind":"text","text":" muss den tats\u00e4chlichen Datenwegen folgen.","ref":""},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"F\u00fcr den Betrieb geh\u00f6ren daher Token-Verwaltung, Erreichbarkeit der API, Ablauf- und Fehlerprotokolle sowie die Pr\u00fcfung der Sperrwirkung ins Monitoring. Eine Decision ist nur ein Erkennungsergebnis, bis die vorgesehene Komponente sie abruft und durchsetzt. Bei \u00c4nderungen an Containern, Proxies oder Firewall-Regeln sollte diese Kette erneut gepr\u00fcft werden, damit eine funktionierende Erkennung nicht unbemerkt ohne wirksame Reaktion bleibt.","ref":""},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Bestehen bereits eigene Chains und Regeln, kann der Firewall-Bouncer im ","ref":""},{"kind":"strong","text":"Set-only-Modus","ref":""},{"kind":"text","text":" ausschlie\u00dflich zuvor angelegte Sets verwalten. Die Verantwortung f\u00fcr Regeln und Chains bleibt dann bewusst beim Betreiber. Das passt zu kontrollierten Firewall-Konzepten und Compliance-Vorgaben, verlangt aber Verst\u00e4ndnis f\u00fcr die vorhandene Regelreihenfolge und ist keine Vereinfachung f\u00fcr Einsteiger.","ref":""},{"kind":"citation","text":"","ref":"S9"}]}]},{"id":"fehlersuche","heading":"Typische Fehler systematisch pr\u00fcfen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Bei einer ausbleibenden Sperre hilft eine feste Pr\u00fcfreihenfolge mehr als ein vorschneller Wechsel des Werkzeugs. Zuerst ist zu kl\u00e4ren, ob das erwartete Ereignis \u00fcberhaupt mit plausiblen Zeitstempeln eingeht. Anschlie\u00dfend muss die protokollierte Adresse wirklich die Client-IP sein. Erst dann l\u00e4sst sich sinnvoll pr\u00fcfen, ob Filter oder Szenario das Muster erkennen und daraus eine Sperrentscheidung entsteht.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Bei Fail2Ban folgt auf den Logeingang die Kontrolle von Jail, Filter und Trefferz\u00e4hlung. Eine Jail verbindet einen Filter mit einer oder mehreren Aktionen; bei dateibasierten Logpfaden werden beim Start nur bereits vorhandene Dateien ber\u00fccksichtigt, die zum Glob-Muster passen. F\u00fcr systemd-Journals sind Backend und Zugriffsrechte separat zu kontrollieren. Eine korrekt aussehende Jail sch\u00fctzt nicht, wenn sie die tats\u00e4chliche Quelle nicht liest.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Eigene regul\u00e4re Ausdr\u00fccke verdienen besondere Vorsicht. Der verf\u00fcgbare Filterleitfaden ist als Entwicklungsdokumentation f\u00fcr Fail2Ban 0.9.0.dev gekennzeichnet und nicht als versionsgleicher Nachweis f\u00fcr Fail2Ban 1.1.1 zu lesen. F\u00fcr die Entwicklung eigener Filter ist seine Empfehlung dennoch sinnvoll: Pr\u00fcfe Muster zun\u00e4chst mit anonymisierten, repr\u00e4sentativen Beispielzeilen und mit bewusst nicht passenden Zeilen. So lassen sich Logformatvarianten und m\u00f6gliche Fehlzuordnungen vor einer produktiven Sperre erkennen.","ref":""},{"kind":"citation","text":"","ref":"S2"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Bei CrowdSec ist nach einem Szenario-Treffer zus\u00e4tzlich die gesamte Durchsetzungskette zu pr\u00fcfen: Entsteht ein Alert, kann die Local API daraus anhand eines Profils eine Decision erzeugen, und erreicht sie die vorgesehene Remediation Component? Ohne korrekt verbundenen Bouncer bleibt die Decision allein ohne aktive Sperre. Danach muss die Firewall- oder Proxy-Wirkung am passenden Eintrittspunkt kontrolliert werden, ohne sich vom eigenen administrativen Zugang auszusperren.","ref":""},{"kind":"citation","text":"","ref":"S4"},{"kind":"citation","text":"","ref":"S7"}]},{"type":"callout","variant":"warning","title":"Sichere Pr\u00fcfung vor der Sperre","runs":[{"kind":"text","text":"Teste \u00c4nderungen mit einem getrennten administrativen Zugang und dokumentierten Ausnahmen. Eine falsch zugeordnete Quell-IP oder ein zu weiter Filter kann berechtigte Nutzer aussperren.","ref":""}]}]},{"id":"auswahl-und-betrieb","heading":"Die passende L\u00f6sung dauerhaft betreiben","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Fail2Ban passt h\u00e4ufig zu einem einzelnen Server mit klaren, lokalen Logmustern, etwa wiederholten SSH-Fehlversuchen. Seine Jails, Filter und Aktionen lassen sich direkt auf einen abgegrenzten Dienst beziehen. CrowdSec wird interessanter, wenn mehrere Logquellen, unterschiedliche Durchsetzungspunkte oder Webschutz mit einer geeigneten Komponente koordiniert werden sollen. Entscheidend ist der nachweisbare Datenweg, nicht ein pauschales Urteil \u00fcber das modernere Werkzeug.","ref":""},{"kind":"citation","text":"","ref":"S6"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Beide L\u00f6sungen brauchen einen geregelten \u00c4nderungsprozess: Konfigurationen versionieren, neue Filter oder Szenarien zun\u00e4chst gegen bekannte Logbeispiele pr\u00fcfen und Sperrungen \u00fcberwachen. Updates verdienen denselben Blick. Fail2Ban 1.1.1 wurde am 15. August 2026 als Release ver\u00f6ffentlicht. Lokale Anpassungen und die tats\u00e4chlich eingesetzten Firewall-Aktionen sollten vor einem Update mit der Zielumgebung abgeglichen werden.","ref":""},{"kind":"citation","text":"","ref":"S3"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Intrusion Prevention erg\u00e4nzt die Sicherheitsbasis, ersetzt sie aber nicht: zeitnahe Updates, starke und m\u00f6glichst mehrstufige Anmeldung, restriktive Firewall-Regeln, Backups und Logmonitoring bleiben erforderlich. Besonders bei Hosting-Umgebungen sollte auch die Anwendungslaufzeit gepflegt werden. Der Beitrag zu ","ref":""},{"kind":"internal_link","text":"CloudLinux Alt-PHP und seinen Sicherheitsaspekten","ref":"I2"},{"kind":"text","text":" zeigt, warum getrennte und gepflegte Runtime-Versionen Teil eines belastbaren Betriebsmodells sind.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Bei Webdiensten geh\u00f6rt au\u00dferdem der vollst\u00e4ndige Weg vom Client \u00fcber CDN oder Reverse Proxy bis zum Origin in die Betriebsdokumentation. \u00c4nderungen an Protokollen und Auslieferungswegen k\u00f6nnen beeinflussen, welche Komponente Verbindungen annimmt und welche Adresse im Log erscheint. Der Beitrag \u00fcber ","ref":""},{"kind":"internal_link","text":"HTTP\/2 Server Push im Hosting","ref":"I3"},{"kind":"text","text":" erl\u00e4utert beispielhaft, wie Browser, CDN und Webserver bei der Auslieferung zusammenspielen. F\u00fcr die Sperrlogik bleibt unabh\u00e4ngig davon entscheidend, dass die vertrauensw\u00fcrdig \u00fcbergebene Client-IP am richtigen Schutzpunkt verf\u00fcgbar ist.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Die dauerhafte Wahl bleibt \u00fcberpr\u00fcfbar: \u00c4ndern sich Logformate, Proxy-Wege, Dienste oder die Serverzahl, kann ein zuvor passendes Konzept L\u00fccken bekommen. Halte deshalb fest, welche Ereignisse erkannt werden sollen, wo Decisions durchgesetzt werden und wer Ausnahmen freigibt. Diese ","ref":""},{"kind":"strong","text":"Betriebsdisziplin","ref":""},{"kind":"text","text":" macht aus einer IP-Sperre eine kontrollierbare Schutzma\u00dfnahme statt einer unbeobachteten Firewall-\u00c4nderung.","ref":""}]}]}]},"_wh_make_word_report":{"words":2506,"min":2000,"max":3000,"target":2500,"ok":true,"missing":0,"excess":0,"lead_words":60,"section_words":{"vergleichsrahmen":246,"fail2ban-jails":262,"crowdsec-architektur":284,"entscheidungsmatrix":323,"vps-praxis":268,"proxy-und-webschutz":297,"verteilte-setups":211,"fehlersuche":270,"auswahl-und-betrieb":285}},"_wh_make_review":{"verdict":"needs_review","issues":["Abschnitt \u201evergleichsrahmen\u201c, Behauptung \u201eBeide L\u00f6sungen dienen der logbasierten Angriffserkennung\u201c: Das ist f\u00fcr CrowdSec zu pauschal. CrowdSec kann neben Logereignissen auch HTTP-Anfragen \u00fcber AppSec-Regeln auswerten; au\u00dferdem k\u00f6nnen Decisions aus Blocklisten stammen. Korrekturrichtung: auf den hier verglichenen logbasierten Grundbetrieb begrenzen oder formulieren, dass beide Logs auswerten k\u00f6nnen, CrowdSec je nach Komponenten aber zus\u00e4tzliche Erkennungs- und Entscheidungsquellen besitzt.","Abschnitt \u201eproxy-und-webschutz\u201c, Behauptung \u201eLogbasierte Erkennung bleibt au\u00dferdem nachtr\u00e4glich\u201c im unmittelbaren Anschluss an die AppSec-Erkl\u00e4rung: Die Aussage ist f\u00fcr klassische Logauswertung richtig, darf aber nicht als Beschreibung des zuvor genannten CrowdSec-AppSec-Pfads verstanden werden, bei dem HTTP-Anfragen direkt zur Regelpr\u00fcfung weitergereicht werden. Korrekturrichtung: ausdr\u00fccklich mit \u201eKlassische logbasierte Erkennung\u201c beginnen und AppSec davon abgrenzen."],"checked_source_ids":["S1","S2","S3","S4","S7","S9"],"summary":"Der Artikel ist \u00fcberwiegend fachlich plausibel und trennt Fail2Ban-Jails, CrowdSec Security Engine, Decisions und Remediation Components sauber. Fail2Ban 1.1.1 mit Ver\u00f6ffentlichungsdatum 15. August 2026, die Ein-Filter-\/Mehrere-Aktionen-Regel, .local-Anpassungen sowie die Hinweise zu Log-Globs sind gest\u00fctzt. Auch die CrowdSec-Trennung zwischen Erkennung und Durchsetzung sowie die AppSec-Einordnung sind grunds\u00e4tzlich korrekt. Vor der Freigabe sollten jedoch zwei Formulierungen pr\u00e4zisiert werden, damit CrowdSec nicht insgesamt auf nachtr\u00e4gliche, logbasierte Erkennung reduziert wird. Die Bildkonzepte sind als KI-generierte Symbolbilder gekennzeichnet und zeigen keine fachlich irref\u00fchrende Topologie; ein Chart ist nicht vorhanden."},"_wh_make_review_doc_hash":"e30688ca49d9e4eeaf5926d34f32302e0b21a2a8535167f0d87513a088efb763","_yoast_wpseo_primary_category":null,"rank_math_schema_blogposting":null,"rank_math_schema_videoobject":null,"_oembed_049c719bc4a9f89deaead66a7da9fddc":null,"_oembed_time_049c719bc4a9f89deaead66a7da9fddc":null,"_yoast_wpseo_focuskw":null,"inline_featured_image":null,"_yoast_wpseo_linkdex":null,"_eael_widget_elements":null,"_oembed_c3b0f6959478faf92a1f343d8f96b19e":null,"_oembed_27e3473bf8bec795fbeb3a9d38489348":null,"_trp_translated_slug_en_us":null,"_yoast_wpseo_title":null,"tldname":null,"tldpreis":null,"tldrubrik":null,"tldpolicylink":null,"tldsize":null,"tldregistrierungsdauer":null,"tldtransfer":null,"tldwhoisprivacy":null,"tldregistrarchange":null,"tldregistrantchange":null,"tldwhoisupdate":null,"tldnameserverupdate":null,"tlddeletesofort":null,"tlddeleteexpire":null,"tldumlaute":null,"tldrestore":null,"tldsubcategory":null,"tldbildname":null,"tldbildurl":null,"tldclean":null,"tldcategory":null,"tldpolicy":null,"tldbesonderheiten":null,"tld_bedeutung":null,"_oembed_d167040d816d8f94c072940c8009f5f8":null,"_oembed_b0a0fa59ef14f8870da2c63f2027d064":null,"_oembed_4792fa4dfb2a8f09ab950a73b7f313ba":null,"_oembed_33ceb1fe54a8ab775d9410abf699878d":null,"_oembed_fd7014d14d919b45ec004937c0db9335":null,"_oembed_21a029d076783ec3e8042698c351bd7e":null,"_oembed_be5ea8a0c7b18e658f08cc571a909452":null,"_oembed_a9ca7a298b19f9b48ec5914e010294d2":null,"_oembed_f8db6b27d08a2bb1f920e7647808899a":null,"_oembed_168ebde5096e77d8a89326519af9e022":null,"_oembed_cdb76f1b345b42743edfe25481b6f98f":null,"_oembed_87b0613611ae54e86e8864265404b0a1":null,"_oembed_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_oembed_time_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_tldname":null,"_tldclean":null,"_tldpreis":null,"_tldcategory":null,"_tldsubcategory":null,"_tldpolicy":null,"_tldpolicylink":null,"_tldsize":null,"_tldregistrierungsdauer":null,"_tldtransfer":null,"_tldwhoisprivacy":null,"_tldregistrarchange":null,"_tldregistrantchange":null,"_tldwhoisupdate":null,"_tldnameserverupdate":null,"_tlddeletesofort":null,"_tlddeleteexpire":null,"_tldumlaute":null,"_tldrestore":null,"_tldbildname":null,"_tldbildurl":null,"_tld_bedeutung":null,"_tldbesonderheiten":null,"_oembed_8357e2b8a2575c74ed5978f262a10126":null,"_oembed_ad96e4112edb9f8ffa35731d4098bc6b":null,"_oembed_3d5fea5103dd0d22ec5d6a33eff7f863":null,"_oembed_819a879e7da16dd629cfd15a97334c8a":null,"_oembed_time_819a879e7da16dd629cfd15a97334c8a":null,"_wh_make_writer_raw":null,"_wh_make_design_backup_204":null,"_wp_desired_post_slug":null,"_oembed_0d8a206f09633e3d62b95a15a4dd0487":null,"_oembed_time_0d8a206f09633e3d62b95a15a4dd0487":null,"_aioseo_description":null,"_eb_attr":null,"_eb_data_table":null,"_acf_changed":null,"_wpcode_auto_insert":null,"_edit_last":null,"_edit_lock":null,"_oembed_e7b913c6c84084ed9702cb4feb012ddd":null,"_oembed_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_time_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_03514b67990db061d7c4672de26dc514":null,"_oembed_time_03514b67990db061d7c4672de26dc514":null,"rank_math_news_sitemap_robots":null,"rank_math_robots":null,"_eael_post_view_count":"87","_trp_automatically_translated_slug_ru_ru":null,"_trp_automatically_translated_slug_et":null,"_trp_automatically_translated_slug_lv":null,"_trp_automatically_translated_slug_fr_fr":null,"_trp_automatically_translated_slug_en_us":null,"_wp_old_slug":null,"_trp_automatically_translated_slug_da_dk":null,"_trp_automatically_translated_slug_pl_pl":null,"_trp_automatically_translated_slug_es_es":null,"_trp_automatically_translated_slug_hu_hu":null,"_trp_automatically_translated_slug_fi":null,"_trp_automatically_translated_slug_ja":null,"_trp_automatically_translated_slug_lt_lt":null,"_elementor_edit_mode":null,"_elementor_template_type":null,"_elementor_version":null,"_elementor_pro_version":null,"_wp_page_template":null,"_elementor_page_settings":null,"_elementor_data":null,"_elementor_css":null,"_elementor_conditions":null,"_happyaddons_elements_cache":null,"_oembed_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_time_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_time_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_59808117857ddf57e478a31d79f76e4d":null,"_oembed_time_59808117857ddf57e478a31d79f76e4d":null,"_oembed_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_time_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_81002f7ee3604f645db4ebcfd1912acf":null,"_oembed_time_81002f7ee3604f645db4ebcfd1912acf":null,"_elementor_screenshot":null,"_oembed_7ea3429961cf98fa85da9747683af827":null,"_oembed_time_7ea3429961cf98fa85da9747683af827":null,"_elementor_controls_usage":null,"_elementor_page_assets":[],"_elementor_screenshot_failed":null,"theplus_transient_widgets":null,"_eael_custom_js":null,"_wp_old_date":null,"_trp_automatically_translated_slug_it_it":null,"_trp_automatically_translated_slug_pt_pt":null,"_trp_automatically_translated_slug_zh_cn":null,"_trp_automatically_translated_slug_nl_nl":null,"_trp_automatically_translated_slug_pt_br":null,"_trp_automatically_translated_slug_sv_se":null,"rank_math_analytic_object_id":null,"_trp_automatically_translated_slug_ro_ro":null,"_trp_automatically_translated_slug_sk_sk":null,"_trp_automatically_translated_slug_bg_bg":null,"_trp_automatically_translated_slug_sl_si":null,"litespeed_vpi_list":null,"litespeed_vpi_list_mobile":null,"rank_math_seo_score":null,"rank_math_contentai_score":null,"ilj_limitincominglinks":null,"ilj_maxincominglinks":null,"ilj_limitoutgoinglinks":null,"ilj_maxoutgoinglinks":null,"ilj_limitlinksperparagraph":null,"ilj_linksperparagraph":null,"ilj_blacklistdefinition":null,"ilj_linkdefinition":null,"_eb_reusable_block_ids":null,"rank_math_focus_keyword":"CrowdSec vs Fail2Ban","rank_math_og_content_image":null,"surfer_last_post_update":null,"surfer_last_post_update_direction":null,"surfer_keywords":null,"surfer_location":null,"surfer_draft_id":null,"surfer_permalink_hash":null,"surfer_scrape_ready":null,"_thumbnail_id":null,"_yoast_wpseo_metadesc":null,"_yoast_wpseo_content_score":null,"_yoast_wpseo_focuskeywords":null,"_yoast_wpseo_keywordsynonyms":null,"_yoast_wpseo_estimated-reading-time-minutes":null,"rank_math_description":"CrowdSec oder Fail2Ban? Erfahren Sie, wie sich Jails, Szenarien, Bouncer, Webschutz und Betriebsaufwand im Serveralltag unterscheiden.","footnotes":null,"_links":{"self":[{"href":"https:\/\/webhosting.de\/es\/wp-json\/wp\/v2\/posts\/22010","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webhosting.de\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webhosting.de\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webhosting.de\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webhosting.de\/es\/wp-json\/wp\/v2\/comments?post=22010"}],"version-history":[{"count":5,"href":"https:\/\/webhosting.de\/es\/wp-json\/wp\/v2\/posts\/22010\/revisions"}],"predecessor-version":[{"id":22015,"href":"https:\/\/webhosting.de\/es\/wp-json\/wp\/v2\/posts\/22010\/revisions\/22015"}],"wp:attachment":[{"href":"https:\/\/webhosting.de\/es\/wp-json\/wp\/v2\/media?parent=22010"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webhosting.de\/es\/wp-json\/wp\/v2\/categories?post=22010"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webhosting.de\/es\/wp-json\/wp\/v2\/tags?post=22010"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}