{"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-kontra-fail2ban-praktyczne-zastosowanie","status":"publish","type":"post","link":"https:\/\/webhosting.de\/pl\/crowdsec-vs-fail2ban-praktischer-einsatz\/","title":{"rendered":"CrowdSec a Fail2Ban: r\u00f3\u017cnice w praktycznym zastosowaniu"},"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\">W przypadku pojedynczego serwera z przejrzystymi logami SSH <strong style=\"font-weight:700;color:inherit\">Fail2Ban<\/strong> cz\u0119sto jest to bardziej bezpo\u015brednia droga do lokalnej blokady. CrowdSec sprawdza si\u0119 szczeg\u00f3lnie dobrze, gdy trzeba koordynowa\u0107 wiele \u017ar\u00f3de\u0142 log\u00f3w, serwer\u00f3w proxy lub oddzielnych punkt\u00f3w ochrony. Decyduj\u0105ce znaczenie maj\u0105 nie nazwy produkt\u00f3w, ale u\u017cyteczne logi adres\u00f3w IP klient\u00f3w, odpowiedni punkt egzekwowania oraz weryfikowalne wyj\u0105tki. Oba narz\u0119dzia reaguj\u0105 na rozpoznawalne wzorce; nie zast\u0119puj\u0105 one jednak poprawek, bezpiecznego logowania, podstawowych regu\u0142 zapory sieciowej, kopii zapasowych ani monitorowania.  <\/p>\n<nav class=\"wh-toc\" aria-label=\"Tre\u015b\u0107 tego artyku\u0142u\" 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\">Przejd\u017a bezpo\u015brednio do sekcji<\/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\">W\u0142a\u015bciwe zrozumienie dzia\u0142ania CrowdSec i 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\">W jaki spos\u00f3b Fail2Ban \u0142\u0105czy \u201ejails\u201d z akcjami<\/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\">Droga CrowdSec od logu do blokady<\/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\">Por\u00f3wnanie narz\u0119dzi w zale\u017cno\u015bci od zastosowania<\/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\">Przyk\u0142ad praktyczny dotycz\u0105cy pojedynczego serwera VPS z 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\">Serwery proxy, rzeczywiste adresy IP klient\u00f3w i ochrona w sieci<\/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\">Zabezpieczanie wielu serwer\u00f3w w spos\u00f3b kontrolowany<\/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\">Systematyczne sprawdzanie typowych b\u0142\u0119d\u00f3w<\/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\">Trwa\u0142e stosowanie odpowiedniego rozwi\u0105zania<\/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\">W\u0142a\u015bciwe zrozumienie dzia\u0142ania CrowdSec i Fail2Ban<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">W\u0142a\u015bciwy wyb\u00f3r nie zale\u017cy od tego, kt\u00f3re narz\u0119dzie uchodzi za nowocze\u015bniejsze, ale od serwera, danych log\u00f3w i po\u017c\u0105danego punktu egzekwowania. W przypadku pojedynczej us\u0142ugi SSH z jasnymi komunikatami o b\u0142\u0119dach Fail2Ban mo\u017ce by\u0107 bardzo bezpo\u015brednim rozwi\u0105zaniem. CrowdSec staje si\u0119 interesuj\u0105cym rozwi\u0105zaniem, gdy konieczne jest wsp\u00f3lne analizowanie i zabezpieczanie wielu \u017ar\u00f3de\u0142 log\u00f3w, r\u00f3\u017cnych poziom\u00f3w ochrony lub system\u00f3w rozproszonych.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Oba rozwi\u0105zania s\u0142u\u017c\u0105 do <strong style=\"font-weight:700;color:inherit\">wykrywanie atak\u00f3w oparte na logach<\/strong>: Odczytuj\u0105 zdarzenia zwi\u0105zane z bezpiecze\u0144stwem, takie jak nieudane pr\u00f3by logowania, przypisuj\u0105 je do wzorca i mog\u0105 zablokowa\u0107 adres IP. W tym celu Fail2Ban \u0142\u0105czy filtry i dzia\u0142ania w tzw. \u201ejails\u201d. CrowdSec przetwarza zebrane dane za pomoc\u0105 swojego silnika bezpiecze\u0144stwa i generuje decyzje, kt\u00f3rych realizacj\u0105 zajmuje si\u0119 oddzielny komponent naprawczy.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Decyduj\u0105ce znaczenie ma to, co faktycznie zostaje zarejestrowane. Bez sygnatury czasowej, u\u017cytecznego adresu IP \u017ar\u00f3d\u0142owego i odpowiedniego \u017ar\u00f3d\u0142a log\u00f3w \u017cadne z narz\u0119dzi nie jest w stanie wiarygodnie zidentyfikowa\u0107 ataku. Ponadto blokada zapewnia ochron\u0119 tylko tam, gdzie jest technicznie skuteczna: lokalna regu\u0142a zapory sieciowej nie pomaga automatycznie, je\u015bli ruch sieciowy wcze\u015bniej przechodzi przez zewn\u0119trzny serwer proxy odwrotny lub modu\u0142 r\u00f3wnowa\u017cenia obci\u0105\u017cenia.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Jak <strong style=\"font-weight:700;color:inherit\">Zapobieganie w\u0142amaniom<\/strong> Oba narz\u0119dzia uzupe\u0142niaj\u0105 architektur\u0119 bezpiecze\u0144stwa, ale jej nie zast\u0119puj\u0105. Aktualizacje zabezpiecze\u0144 eliminuj\u0105 znane luki w zabezpieczeniach, silne i w miar\u0119 mo\u017cliwo\u015bci wielopoziomowe logowanie ogranicza nadu\u017cycia zwi\u0105zane z kontami, a restrykcyjne podstawowe regu\u0142y zapory sieciowej ograniczaj\u0105 dost\u0119pno\u015b\u0107 us\u0142ug. Kopie zapasowe ograniczaj\u0105 szkody po incydencie, podczas gdy ci\u0105g\u0142e monitorowanie log\u00f3w ujawnia r\u00f3wnie\u017c problemy, kt\u00f3re nie powoduj\u0105 zablokowania systemu.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">W zwi\u0105zku z tym praktyczne pytanie brzmi: jakie wzorce nale\u017cy wykrywa\u0107, w kt\u00f3rym miejscu powinna nast\u0105pi\u0107 reakcja oraz kto zajmuje si\u0119 zarz\u0105dzaniem regu\u0142ami, wyj\u0105tkami i logami? Dopiero wtedy mo\u017cna podj\u0105\u0107 uzasadnion\u0105 decyzj\u0119, czy wystarczy przejrzysta lokalna konfiguracja jail, czy te\u017c oddzielne komponenty CrowdSec przynios\u0105 infrastrukturze wymiern\u0105 dodatkow\u0105 korzy\u015b\u0107.<\/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\">W jaki spos\u00f3b Fail2Ban \u0142\u0105czy \u201ejails\u201d z akcjami<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Fail2Ban zarz\u0105dza wykrywaniem i reagowaniem w <strong style=\"font-weight:700;color:inherit\">Wi\u0119zienia<\/strong>. W przypadku SSH modu\u0142 \u201ejail\u201d odczytuje na przyk\u0142ad protoko\u0142y uwierzytelniania lub dziennik systemowy. Filtr wyszukuje w nich nieudane pr\u00f3by logowania z danego adresu IP \u017ar\u00f3d\u0142owego. Je\u015bli w ci\u0105gu skonfigurowanego przedzia\u0142u czasowego liczba nieudanych pr\u00f3b przekroczy dozwolon\u0105 liczb\u0119, Fail2Ban traktuje to jako przypadek wymagaj\u0105cy zablokowania. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Kolejna akcja determinuje reakcj\u0119. Cz\u0119sto stanowi ona uzupe\u0142nienie regu\u0142y w lokalnej zaporze sieciowej, mo\u017cliwe s\u0105 jednak r\u00f3wnie\u017c inne skonfigurowane akcje. Dzi\u0119ki temu \u0142a\u0144cuch dzia\u0142a\u0144 jest przejrzysty: \u017ar\u00f3d\u0142o log\u00f3w dostarcza wiersze, filtr rozpoznaje istotne zdarzenia, modu\u0142 Jail je zlicza, a akcja wdra\u017ca przewidziane \u015brodki zaradcze. U\u0142atwia to wykrywanie b\u0142\u0119d\u00f3w, o ile format dziennika i filtr s\u0105 ze sob\u0105 zgodne. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Jail wykorzystuje dok\u0142adnie jeden filtr, mo\u017ce jednak wykona\u0107 kilka akcji. W ten spos\u00f3b ten sam wykryty przypadek zablokowania po\u0142\u0105czenia SSH mo\u017ce na przyk\u0142ad wywo\u0142a\u0107 akcj\u0119 zapory sieciowej, a dodatkowo zainicjowa\u0107 powiadomienie. Wiele dzia\u0142a\u0144 zwi\u0119ksza elastyczno\u015b\u0107 reakcji, ale nie zmienia podstawy wykrywania: wszystkie opieraj\u0105 si\u0119 na tym samym filtrze i jego interpretacji wierszy dziennika. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Szczeg\u00f3lnej staranno\u015bci wymagaj\u0105 teksty napisane samodzielnie <strong style=\"font-weight:700;color:inherit\">Filtr wyra\u017cenia regularnego<\/strong>. Dost\u0119pna dokumentacja filtr\u00f3w stanowi wyra\u017anie przewodnik programistyczny dla Fail2Ban 0.9.0.dev i nie jest potwierdzeniem dzia\u0142ania dla konkretnej stabilnej wersji pakietu. Og\u00f3lne wskaz\u00f3wki pozostaj\u0105 przydatne przy tworzeniu filtr\u00f3w: nale\u017cy uwzgl\u0119dni\u0107 rzeczywiste warianty format\u00f3w log\u00f3w, a wzorce nie mog\u0105 by\u0107 zbyt szerokie. Dlatego nowe filtry nale\u017cy najpierw przetestowa\u0107 na anonimowych przyk\u0142adowych wierszach, zanim zaczn\u0105 powodowa\u0107 blokady. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Zmiany lokalne nale\u017cy zasadniczo wprowadza\u0107 w plikach z rozszerzeniem <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>, a nie w dostarczone <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>-pliki. Dzi\u0119ki temu w\u0142asne ustawienia dotycz\u0105ce \u015bcie\u017cek log\u00f3w, dozwolonych sieci lub dzia\u0142a\u0144 pozostaj\u0105 bardziej przejrzyste podczas aktualizacji pakiet\u00f3w i nie s\u0105 po prostu nadpisywane. Przed wdro\u017ceniem nale\u017cy ponadto sprawdzi\u0107, czy wybrane \u017ar\u00f3d\u0142o log\u00f3w rzeczywi\u015bcie istnieje i zawiera oczekiwane zdarzenia. <\/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\">Droga CrowdSec od logu do blokady<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">CrowdSec wyra\u017aniej rozdziela funkcje wykrywania i egzekwowania na poszczeg\u00f3lne komponenty. Najpierw \u017ar\u00f3d\u0142a pozyskiwania danych okre\u015blaj\u0105, kt\u00f3re logi lub strumienie zdarze\u0144 maj\u0105 by\u0107 odczytywane. Parsery normalizuj\u0105 te dane; nast\u0119pnie scenariusze oceniaj\u0105 wzorce i zachowania. W przypadku dopasowania wzorca generowany jest alert. Lokalny interfejs API mo\u017ce na tej podstawie, w oparciu o skonfigurowane profile, podj\u0105\u0107 decyzj\u0119, na przyk\u0142ad o czasowym zablokowaniu adresu IP.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Kr\u00f3tki przyk\u0142ad ilustruje przebieg procesu: b\u0142\u0119dy uwierzytelnienia danej us\u0142ugi trafiaj\u0105 do silnika poprzez modu\u0142 pozyskiwania danych. Parsery rozpoznaj\u0105 pola, takie jak czas, us\u0142uga i adres IP \u017ar\u00f3d\u0142owy; scenariusz ocenia powtarzaj\u0105ce si\u0119 nieudane pr\u00f3by. Wygenerowany na tej podstawie alert jest przekazywany do lokalnego interfejsu API, kt\u00f3ry mo\u017ce podj\u0105\u0107 decyzj\u0119 na podstawie odpowiedniego profilu. Dopiero pod\u0142\u0105czony <strong style=\"font-weight:700;color:inherit\">Komponent naprawczy<\/strong> wdra\u017ca t\u0119 decyzj\u0119 w przewidzianym punkcie ochrony.   <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Komponent ten jest tradycyjnie nazywany r\u00f3wnie\u017c \u201ebouncerem\u201d. W zale\u017cno\u015bci od wariantu mo\u017ce on egzekwowa\u0107 decyzje na przyk\u0142ad na zaporze sieciowej, serwerze proxy odwrotnym lub serwerze WWW. Sam silnik bezpiecze\u0144stwa wykrywa incydenty i zarz\u0105dza alertami oraz decyzjami za po\u015brednictwem lokalnego interfejsu API, jednak nie blokuje ruchu sieciowego. Bez prawid\u0142owo pod\u0142\u0105czonego komponentu naprawczego wygenerowana decyzja pozostaje jedynie informacj\u0105 bez aktywnej blokady sieciowej lub aplikacyjnej.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">W praktyce rozdzielenie to pozwala na roz\u0142o\u017cenie funkcji wykrywania i blokowania na r\u00f3\u017cne punkty infrastruktury. Zwi\u0119ksza to jednak zakres dzia\u0142a\u0144 operacyjnych: \u017ar\u00f3d\u0142o log\u00f3w, lokalne po\u0142\u0105czenie API, uprawnienia i przypisanie do Bouncer musz\u0105 by\u0107 ze sob\u0105 sp\u00f3jne. Szczeg\u00f3lnie w przypadku wielu us\u0142ug nale\u017cy sprawdzi\u0107, czy komponent naprawczy rzeczywi\u015bcie znajduje si\u0119 przed us\u0142ug\u0105, do kt\u00f3rej dost\u0119p ma blokowa\u0107 na podstawie podj\u0119tej decyzji.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Nale\u017cy odr\u00f3\u017cni\u0107 to od lokalnych trafie\u0144 scenariusza, opcjonaln\u0105 <strong style=\"font-weight:700;color:inherit\">Lista zablokowanych u\u017cytkownik\u00f3w spo\u0142eczno\u015bci<\/strong>. W ramach dobrowolnego udzia\u0142u mo\u017cna przekazywa\u0107 sygna\u0142y i uzyskiwa\u0107 sprawdzone informacje dotycz\u0105ce znanych ju\u017c atakuj\u0105cych. Stanowi to dodatkowe \u017ar\u00f3d\u0142o zapobiegania, ale nie zast\u0119puje lokalnego wykrywania ani nie gwarantuje wykrycia nowych lub trudnych do wykrycia atakuj\u0105cych. W zwi\u0105zku z tym pochodzenie decyzji o zablokowaniu powinno pozosta\u0107 mo\u017cliwe do prze\u015bledzenia w trakcie eksploatacji. <\/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\">Por\u00f3wnanie narz\u0119dzi w zale\u017cno\u015bci od zastosowania<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Wyb\u00f3r mi\u0119dzy CrowdSec a Fail2Ban nale\u017cy rozpocz\u0105\u0107 od aspektu bezpiecze\u0144stwa, a nie od og\u00f3lnej oceny jako\u015bci. Fail2Ban analizuje wpisy w logach za pomoc\u0105 filtr\u00f3w i powi\u0105zuje je z dzia\u0142aniami w ramach \u201ejails\u201d. CrowdSec przetwarza \u017ar\u00f3d\u0142a log\u00f3w za pomoc\u0105 parser\u00f3w i scenariuszy, generuj\u0105c na tej podstawie alerty; lokalny interfejs API mo\u017ce na tej podstawie tworzy\u0107 decyzje przy u\u017cyciu profili, kt\u00f3re s\u0105 nast\u0119pnie wdra\u017cane przez oddzielne komponenty naprawcze. Oba rozwi\u0105zania opieraj\u0105 si\u0119 na prawid\u0142owo zarejestrowanych zdarzeniach.   <\/p>\n<div class=\"wh-table-scroll\" tabindex=\"0\" role=\"region\" aria-label=\"Por\u00f3wnanie narz\u0119dzi wed\u0142ug zastosowa\u0144 technicznych\" 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\">Por\u00f3wnanie narz\u0119dzi wed\u0142ug zastosowa\u0144 technicznych<\/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\">Kryterium<\/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\">Model rozpoznawczy<\/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\">Filtry z wyra\u017ceniami regularnymi w \u015brodowiskach izolowanych; liczb\u0119 trafie\u0144 mo\u017cna zlicza\u0107 w okre\u015blonym przedziale czasowym.<\/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\">Parsery przetwarzaj\u0105 zdarzenia; scenariusze oceniaj\u0105 zachowania i generuj\u0105 alerty. Na tej podstawie profile mog\u0105 podejmowa\u0107 decyzje.<\/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\">Egzekwowanie zakazu<\/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\">Dzia\u0142ania, kt\u00f3re mo\u017cna konfigurowa\u0107, cz\u0119sto w lokalnej zaporze sieciowej.<\/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\">Oddzielne komponenty naprawcze wdra\u017caj\u0105 decyzje dotycz\u0105ce np. zapory sieciowej, serwera proxy odwrotnego lub serwera WWW.<\/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\">Ochrona sieci<\/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\">Reaguje na zdarzenia, kt\u00f3re zosta\u0142y ju\u017c zarejestrowane.<\/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\">Odpowiedni modu\u0142 AppSec-Bouncer przekazuje \u017c\u0105dania HTTP do komponentu AppSec silnika zabezpiecze\u0144 w celu ich sprawdzenia; natomiast modu\u0142 Firewall-Bouncer nie sprawdza tre\u015bci 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\">Personalizacja<\/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\">Mo\u017cliwe jest stosowanie w\u0142asnych filtr\u00f3w, nale\u017cy jednak dok\u0142adnie uwzgl\u0119dni\u0107 format log\u00f3w i wyniki b\u0142\u0119d\u00f3w.<\/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\">Parsery, scenariusze i kolekcje mo\u017cna dostosowywa\u0107; model komponentowy zwi\u0119ksza nak\u0142ad pracy zwi\u0105zany z integracj\u0105.<\/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\">Analiza zagro\u017ce\u0144<\/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\">Brak wsp\u00f3lnej listy zablokowanych u\u017cytkownik\u00f3w jako kluczowego elementu modelu \u201eJail\u201d.<\/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\">W przypadku dobrowolnego udzia\u0142u lista blokowanych u\u017cytkownik\u00f3w spo\u0142eczno\u015bci mo\u017ce dostarczy\u0107 dodatkowych wskaz\u00f3wek.<\/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\">Ryzyko operacyjne<\/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\">Niew\u0142a\u015bciwe filtry lub dzia\u0142ania mog\u0105 blokowa\u0107 uzasadniony dost\u0119p.<\/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\">Nieprawid\u0142owo przypisane lub brakuj\u0105ce komponenty naprawcze sprawiaj\u0105, \u017ce decyzje nie przynosz\u0105 skutku lub blokuj\u0105 proces w niew\u0142a\u015bciwym miejscu.<\/td><\/tr><\/tbody><\/table><\/div><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Tabela ta nie stanowi rankingu. W przypadku nielicznych, dobrze zrozumia\u0142ych wzorc\u00f3w log\u00f3w lokalna strefa izolacyjna jest cz\u0119sto \u0142atwiejsza do sprawdzenia: \u017ar\u00f3d\u0142o log\u00f3w, filtr i dzia\u0142anie zapory sieciowej znajduj\u0105 si\u0119 blisko siebie. Gdy w gr\u0119 wchodzi kilka \u017ar\u00f3de\u0142, systemy poprzedzaj\u0105ce lub r\u00f3\u017cne punkty egzekwowania, w CrowdSec sensowne mo\u017ce by\u0107 rozdzielenie wykrywania od reakcji. Wymaga to jednak r\u00f3wnie\u017c przejrzystego zarz\u0105dzania relacjami mi\u0119dzy komponentami.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">W przypadku kryterium ochrony sieci decyduj\u0105ce znaczenie ma poziom techniczny. Urz\u0105dzenie CrowdSec Firewall-Bouncer egzekwuje decyzje na poziomie sieci, nie analizuje jednak tre\u015bci protoko\u0142u HTTP. W przypadku obs\u0142ugiwanej konfiguracji AppSec odpowiednio skonfigurowany modu\u0142 Bouncer przekazuje \u017c\u0105dania HTTP do komponentu AppSec silnika bezpiecze\u0144stwa, gdzie analizowane s\u0105 regu\u0142y AppSec. Ta kontrola stanowi uzupe\u0142nienie bezpiecznego tworzenia oprogramowania i terminowych aktualizacji, zamiast usuwania znanych luk w zabezpieczeniach.  <\/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\">Przyk\u0142ad praktyczny dotycz\u0105cy pojedynczego serwera VPS z SSH<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Na ma\u0142ym serwerze VPS z systemem Linux, wyposa\u017conym w SSH i prost\u0105 struktur\u0119 internetow\u0105, Fail2Ban jest cz\u0119sto dobrym i \u0142atwym w zarz\u0105dzaniu rozwi\u0105zaniem. Najpierw sprawd\u017a, czy nieudane pr\u00f3by logowania przez SSH wraz z sygnatur\u0105 czasow\u0105 i adresem IP \u017ar\u00f3d\u0142owym s\u0105 rzetelnie rejestrowane w przeznaczonym do tego dzienniku lub pliku logu. Bez tych danych modu\u0142 Jail nie jest w stanie wiarygodnie zlicza\u0107 nieudanych pr\u00f3b ani przekaza\u0107 w\u0142a\u015bciwego adresu do podj\u0119cia odpowiedniej akcji. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Nast\u0119pnie wybierasz odpowiedni\u0105 klatk\u0119 SSH i sprawdzasz filtry, przedzia\u0142y czasowe, dopuszczaln\u0105 liczb\u0119 nieudanych pr\u00f3b oraz czas blokady pod k\u0105tem rzeczywistych warunk\u00f3w logowania. Jail \u0142\u0105czy filtr z jedn\u0105 lub kilkoma akcjami. Dzi\u0119ki temu blokad\u0119 mo\u017cna na przyk\u0142ad przekaza\u0107 lokalnej zaporze sieciowej bez konieczno\u015bci powielania logiki wykrywania. W przypadku pojedynczego hosta takie powi\u0105zanie zazwyczaj zapewnia przejrzysto\u015b\u0107 procesu.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Sieci administracyjne, dost\u0119p awaryjny i systemy monitorowania wymagaj\u0105 \u015bwiadomie zdefiniowanych wyj\u0105tk\u00f3w. Powinny one by\u0107 \u015bci\u015ble ograniczone i nie powinny og\u00f3lnie zwalnia\u0107 z ogranicze\u0144 du\u017cych sieci dostawc\u00f3w us\u0142ug internetowych. Przed wdro\u017ceniem sprawd\u017a r\u00f3wnie\u017c, jakie regu\u0142y zapory sieciowej faktycznie tworzy ta operacja oraz czy adresy IPv4 i IPv6 s\u0105 zgodne z koncepcj\u0105 serwera. Kontrolowane uruchomienie z monitorowaniem log\u00f3w jest bezpieczniejsze ni\u017c natychmiastowe, d\u0142ugotrwa\u0142e blokowanie.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">W\u0142asne <strong style=\"font-weight:700;color:inherit\">Filtr wyra\u017cenia regularnego<\/strong> maj\u0105 sens tylko wtedy, gdy \u017caden z istniej\u0105cych filtr\u00f3w nie obs\u0142uguje konkretnego formatu log\u00f3w. Dost\u0119pny przewodnik dotycz\u0105cy tworzenia filtr\u00f3w jest oznaczony jako dokumentacja do Fail2Ban 0.9.0.dev i w zwi\u0105zku z tym nie odnosi si\u0119 do stabilnej wersji, takiej jak 1.1.1. Zawarte w nim wskaz\u00f3wki dotycz\u0105ce tworzenia filtr\u00f3w s\u0105 jednak przydatne: nale\u017cy sprawdza\u0107 nowe wzorce przy u\u017cyciu zanonimizowanych, rzeczywistych przyk\u0142adowych wierszy oraz podobnych, ale prawid\u0142owych wierszy. Narz\u0119dzie testowe <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> s\u0142u\u017cy to do walidacji filtra; nie powoduje to zmiany blokady produkcyjnej. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Ustawienia lokalne nale\u017cy umie\u015bci\u0107 w <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>-pliki, a nie te dostarczone <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>-pliki. Dzi\u0119ki temu zmiany wprowadzone podczas aktualizacji pakiet\u00f3w pozostaj\u0105 przejrzyste i nie zostan\u0105 przypadkowo nadpisane. Po ka\u017cdej zmianie nale\u017cy osobno sprawdzi\u0107 wpis w dzienniku, stan jail oraz wywo\u0142an\u0105 akcj\u0119; sama uruchomiona us\u0142uga nie stanowi jeszcze skutecznego \u0142a\u0144cucha blokad. <\/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\">Serwery proxy, rzeczywiste adresy IP klient\u00f3w i ochrona w sieci<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Sie\u0107 CDN, modu\u0142 r\u00f3wnowa\u017cenia obci\u0105\u017cenia lub serwer proxy odwrotny zmieniaj\u0105 adres widoczny dla serwera. Je\u015bli serwer WWW otrzymuje jedynie adres IP serwera proxy i rejestruje go jako adres klienta, blokada oparta na logach mo\u017ce w najgorszym przypadku spowodowa\u0107 zablokowanie po\u015brednika zamiast atakuj\u0105cego u\u017cytkownika. Dlatego przed ka\u017cdym ograniczeniem dost\u0119pu, ka\u017cdym scenariuszem i ka\u017cd\u0105 regu\u0142\u0105 WAF nale\u017cy wyja\u015bni\u0107, w jaki spos\u00f3b pierwotny adres IP klienta jest przekazywany, akceptowany i rejestrowany w spos\u00f3b budz\u0105cy zaufanie.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Ten \u0142a\u0144cuch zaufania nie mo\u017ce po prostu przyjmowa\u0107 ka\u017cdego przychodz\u0105cego nag\u0142\u00f3wka. Tylko znane adresy serwer\u00f3w proxy powinny mie\u0107 uprawnienia do dostarczania przekazanego adresu; w przeciwnym razie zewn\u0119trzni klienci mogliby sfa\u0142szowa\u0107 to\u017csamo\u015b\u0107, na kt\u00f3rej opiera si\u0119 rozpoznawanie i blokowanie. Sprawd\u017a na podstawie zanonimizowanych fragment\u00f3w log\u00f3w, czy logi aplikacji i logi dost\u0119pu wskazuj\u0105 ten sam adres IP klienta. Udokumentuj r\u00f3wnie\u017c przekazywanie nag\u0142\u00f3wk\u00f3w mi\u0119dzy serwerem brzegowym a serwerem \u017ar\u00f3d\u0142owym. Dopiero po sprawdzeniu adresu IP klienta reakcja na podejrzane zdarzenia HTTP mo\u017ce by\u0107 sensownie zinterpretowana.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">A <strong style=\"font-weight:700;color:inherit\">Blokowanie IP<\/strong> ogranicza po\u0142\u0105czenia na poziomie zapory sieciowej, zanim dotr\u0105 one do aplikacji, ale nie sprawdza tre\u015bci \u017c\u0105da\u0144. W przypadku obs\u0142ugiwanej konfiguracji CrowdSec AppSec odpowiednio dostosowany modu\u0142 \u201eBouncer\u201d przekazuje \u017c\u0105dania HTTP do komponentu AppSec silnika zabezpiecze\u0144; gdzie sprawdzane s\u0105 odpowiednie regu\u0142y AppSec. Natomiast \u201eczysty\u201d modu\u0142 Bouncer typu firewall egzekwuje decyzje na poziomie sieciowym i nie przeprowadza kontroli HTTP. Wyb\u00f3r odpowiedniej opcji zale\u017cy od faktycznego punktu wej\u015bcia ruchu oraz zastosowanych komponent\u00f3w.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Wykrywanie oparte na logach ma ponadto charakter retrospektywny: najpierw musi wyst\u0105pi\u0107 zdarzenie, kt\u00f3re zostanie poprawnie zarejestrowane i rozpoznane jako wzorzec. Nie zapobiega ono ani pojedynczemu udanemu atakowi bez rzucaj\u0105cego si\u0119 w oczy zdarzenia nast\u0119pczego, ani nie zast\u0119puje poprawek i silnych metod logowania. Dlatego te\u017c komponenty dzia\u0142aj\u0105ce na wcze\u015bniejszych etapach musz\u0105, wraz ze swoimi wiarygodnymi przekazami, logami i punktami ochrony, pasowa\u0107 do ca\u0142ej architektury bezpiecze\u0144stwa. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">W praktyce oznacza to: najpierw zdecyduj, czy nale\u017cy zabezpieczy\u0107 dost\u0119p do sieci, \u017c\u0105dania HTTP, czy te\u017c oba te poziomy. Nast\u0119pnie udokumentuj \u015bcie\u017ck\u0119 od adresu publicznego, przez serwer proxy, a\u017c do wpisu w dzienniku i przetestuj blokady przy u\u017cyciu udost\u0119pnionego adresu testowego. W ten spos\u00f3b unikniesz sytuacji, w kt\u00f3rej pozornie dzia\u0142aj\u0105ca <strong style=\"font-weight:700;color:inherit\">Zapobieganie w\u0142amaniom<\/strong> dotyczy wy\u0142\u0105cznie niew\u0142a\u015bciwego elementu infrastruktury.<\/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\">Zabezpieczanie wielu serwer\u00f3w w spos\u00f3b kontrolowany<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Gdy w gr\u0119 wchodzi kilka host\u00f3w, kontener\u00f3w lub log\u00f3w gromadzonych centralnie, rozdzielenie funkcji wykrywania i egzekwowania w CrowdSec staje si\u0119 praktycznym rozwi\u0105zaniem. Silnik bezpiecze\u0144stwa mo\u017ce analizowa\u0107 zdarzenia pochodz\u0105ce z okre\u015blonych \u017ar\u00f3de\u0142, podczas gdy odpowiednie komponenty naprawcze wdra\u017caj\u0105 decyzje w poszczeg\u00f3lnych chronionych punktach. CrowdSec dokumentuje w tym celu r\u00f3wnie\u017c wdro\u017cenia rozproszone oraz integracj\u0119 z scentralizowanymi potokami log\u00f3w. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Nie oznacza to automatycznego zmniejszenia koszt\u00f3w operacyjnych. Najpierw nale\u017cy zapewni\u0107 mo\u017cliwo\u015b\u0107 identyfikacji, do kt\u00f3rej us\u0142ugi i do kt\u00f3rego klienta przypisane jest dane \u017ar\u00f3d\u0142o log\u00f3w. Nast\u0119pnie ka\u017cdy serwer typu \u201ebouncer\u201d wymaga jasno ograniczonego po\u0142\u0105czenia z lokalnym interfejsem API oraz w\u0142asnego klucza dost\u0119pu. Serwer typu \u201ereverse proxy bouncer\u201d niekoniecznie chroni na przyk\u0142ad oddzielnie dost\u0119pn\u0105 us\u0142ug\u0119 SSH; <strong style=\"font-weight:700;color:inherit\">Przypisanie ochroniarzy<\/strong> musi przebiega\u0107 zgodnie z rzeczywistymi \u015bcie\u017ckami danych. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">W zwi\u0105zku z tym monitorowanie powinno obejmowa\u0107 zarz\u0105dzanie tokenami, dost\u0119pno\u015b\u0107 API, logi przebiegu i b\u0142\u0119d\u00f3w, a tak\u017ce sprawdzanie skuteczno\u015bci blokady. Decyzja jest jedynie wynikiem wykrycia, dop\u00f3ki przewidziany komponent jej nie pobierze i nie wdro\u017cy. W przypadku zmian w kontenerach, serwerach proxy lub regu\u0142ach zapory sieciowej nale\u017cy ponownie sprawdzi\u0107 ten \u0142a\u0144cuch, aby upewni\u0107 si\u0119, \u017ce prawid\u0142owo dzia\u0142aj\u0105ce wykrywanie nie pozostanie niezauwa\u017cone i nie zostanie pomini\u0119te bez skutecznej reakcji. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Je\u015bli istniej\u0105 ju\u017c w\u0142asne \u0142a\u0144cuchy i regu\u0142y, program Firewall-Bouncer mo\u017ce w <strong style=\"font-weight:700;color:inherit\">Tryb \u201etylko ustawianie\u201d<\/strong> zarz\u0105dza\u0107 wy\u0142\u0105cznie wcze\u015bniej utworzonymi zestawami. Odpowiedzialno\u015b\u0107 za regu\u0142y i \u0142a\u0144cuchy pozostaje w\u00f3wczas celowo po stronie operatora. Rozwi\u0105zanie to wpisuje si\u0119 w koncepcje kontrolowanych zap\u00f3r sieciowych i wymogi zgodno\u015bci, wymaga jednak zrozumienia istniej\u0105cej kolejno\u015bci regu\u0142 i nie stanowi u\u0142atwienia dla pocz\u0105tkuj\u0105cych u\u017cytkownik\u00f3w. <\/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\">Systematyczne sprawdzanie typowych b\u0142\u0119d\u00f3w<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">W przypadku braku blokady bardziej pomocna jest ustalona kolejno\u015b\u0107 sprawdzania ni\u017c pochopna wymiana narz\u0119dzia. Najpierw nale\u017cy ustali\u0107, czy oczekiwane zdarzenie w og\u00f3le pojawia si\u0119 z wiarygodnymi znacznikami czasu. Nast\u0119pnie nale\u017cy sprawdzi\u0107, czy zarejestrowany adres rzeczywi\u015bcie jest adresem IP klienta. Dopiero wtedy mo\u017cna sensownie sprawdzi\u0107, czy filtr lub scenariusz rozpoznaje ten wzorzec i czy na tej podstawie podejmowana jest decyzja o zablokowaniu. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">W przypadku Fail2Ban po wpisie w dzienniku nast\u0119puje kontrola jaila, filtra i liczby trafie\u0144. Jail \u0142\u0105czy filtr z jedn\u0105 lub kilkoma akcjami; w przypadku \u015bcie\u017cek dziennik\u00f3w opartych na plikach podczas uruchamiania brane s\u0105 pod uwag\u0119 wy\u0142\u0105cznie istniej\u0105ce ju\u017c pliki, kt\u00f3re pasuj\u0105 do wzorca glob. W przypadku dziennik\u00f3w systemd nale\u017cy oddzielnie sprawdzi\u0107 backend i uprawnienia dost\u0119pu. Nawet poprawnie skonfigurowana \u201ejail\u201d nie zapewnia ochrony, je\u015bli nie odczytuje rzeczywistego \u017ar\u00f3d\u0142a. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">W\u0142asne wyra\u017cenia regularne wymagaj\u0105 szczeg\u00f3lnej ostro\u017cno\u015bci. Dost\u0119pny przewodnik po filtrach jest oznaczony jako dokumentacja programistyczna dla wersji Fail2Ban 0.9.0.dev i nie nale\u017cy go traktowa\u0107 jako dokumentu odnosz\u0105cego si\u0119 do tej samej wersji Fail2Ban 1.1.1. Niemniej jednak zawarte w nim zalecenia s\u0105 przydatne przy tworzeniu w\u0142asnych filtr\u00f3w: najpierw nale\u017cy przetestowa\u0107 wzorce na anonimowych, reprezentatywnych przyk\u0142adowych wierszach oraz na wierszach celowo niedopasowanych. Pozwala to wykry\u0107 r\u00f3\u017cnice w formatach log\u00f3w i ewentualne b\u0142\u0119dne przypisania przed wprowadzeniem blokady w \u015brodowisku produkcyjnym. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">W systemie CrowdSec po wykryciu dopasowania do scenariusza nale\u017cy dodatkowo sprawdzi\u0107 ca\u0142y \u0142a\u0144cuch egzekwowania: czy w przypadku pojawienia si\u0119 alertu lokalny interfejs API mo\u017ce na jego podstawie wygenerowa\u0107 decyzj\u0119 w oparciu o profil i czy dotrze ona do przewidzianego komponentu naprawczego? Bez prawid\u0142owo pod\u0142\u0105czonego modu\u0142u Bouncer decyzja pozostaje bez aktywnej blokady. Nast\u0119pnie nale\u017cy sprawdzi\u0107 dzia\u0142anie zapory sieciowej lub serwera proxy w odpowiednim punkcie wej\u015bcia, nie blokuj\u0105c sobie przy tym dost\u0119pu administracyjnego.  <\/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\">Sprawd\u017a, czy wszystko dzia\u0142a, zanim zablokujesz dost\u0119p<\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Testuj zmiany przy u\u017cyciu oddzielnego konta administracyjnego i udokumentowanych wyj\u0105tk\u00f3w. Nieprawid\u0142owo przypisany adres IP \u017ar\u00f3d\u0142owy lub zbyt szeroki filtr mog\u0105 zablokowa\u0107 uprawnionych u\u017cytkownik\u00f3w.<\/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\">Trwa\u0142e stosowanie odpowiedniego rozwi\u0105zania<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Fail2Ban cz\u0119sto sprawdza si\u0119 w przypadku pojedynczego serwera o jasnych, lokalnych wzorcach log\u00f3w, takich jak powtarzaj\u0105ce si\u0119 nieudane pr\u00f3by po\u0142\u0105czenia przez SSH. Jego \u201ewi\u0119zienia\u201d, filtry i dzia\u0142ania mo\u017cna odnie\u015b\u0107 bezpo\u015brednio do konkretnej us\u0142ugi. CrowdSec staje si\u0119 bardziej interesuj\u0105cym rozwi\u0105zaniem, gdy konieczne jest skoordynowanie wielu \u017ar\u00f3de\u0142 log\u00f3w, r\u00f3\u017cnych punkt\u00f3w egzekwowania lub ochrony sieciowej za pomoc\u0105 odpowiedniego komponentu. Decyduj\u0105ce znaczenie ma mo\u017cliwa do zweryfikowania \u015bcie\u017cka danych, a nie og\u00f3lna ocena tego, kt\u00f3re narz\u0119dzie jest nowocze\u015bniejsze. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Oba rozwi\u0105zania wymagaj\u0105 usystematyzowanego procesu wprowadzania zmian: nale\u017cy tworzy\u0107 wersje konfiguracji, najpierw sprawdza\u0107 nowe filtry lub scenariusze na znanych przyk\u0142adach log\u00f3w oraz monitorowa\u0107 blokady. Aktualizacje wymagaj\u0105 takiego samego podej\u015bcia. Wersja Fail2Ban 1.1.1 zosta\u0142a wydana 15 sierpnia 2026 r. Przed aktualizacj\u0105 nale\u017cy zweryfikowa\u0107 lokalne dostosowania oraz faktycznie stosowane dzia\u0142ania zapory sieciowej pod k\u0105tem zgodno\u015bci ze \u015brodowiskiem docelowym. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><strong style=\"font-weight:700;color:inherit\">Zapobieganie w\u0142amaniom<\/strong> stanowi uzupe\u0142nienie podstawowych zabezpiecze\u0144, ale ich nie zast\u0119puje: nadal konieczne s\u0105 terminowe aktualizacje, silne i w miar\u0119 mo\u017cliwo\u015bci wielopoziomowe logowanie, restrykcyjne regu\u0142y zapory sieciowej, kopie zapasowe oraz monitorowanie log\u00f3w. Szczeg\u00f3lnie w \u015brodowiskach hostingowych nale\u017cy r\u00f3wnie\u017c dba\u0107 o czas dzia\u0142ania aplikacji. Artyku\u0142 na temat <a href=\"https:\/\/webhosting.de\/pl\/cloudlinux-starsza-wersja-php-kwestie-bezpieczenstwa-i-obszary-zastosowan-safeserver\/\">CloudLinux Alt-PHP i zwi\u0105zane z nim kwestie bezpiecze\u0144stwa<\/a> pokazuje, dlaczego oddzielne i odpowiednio utrzymywane wersje \u015brodowiska uruchomieniowego stanowi\u0105 cz\u0119\u015b\u0107 niezawodnego modelu operacyjnego.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">W przypadku us\u0142ug internetowych dokumentacja operacyjna powinna ponadto obejmowa\u0107 pe\u0142n\u0105 \u015bcie\u017ck\u0119 od klienta, przez CDN lub serwer proxy odwrotny, a\u017c do serwera \u017ar\u00f3d\u0142owego. Zmiany w protoko\u0142ach i \u015bcie\u017ckach dostarczania mog\u0105 wp\u0142ywa\u0107 na to, kt\u00f3ry komponent przyjmuje po\u0142\u0105czenia i jaki adres pojawia si\u0119 w logu. Artyku\u0142 na temat <a href=\"https:\/\/webhosting.de\/pl\/http2-serwer-push-hosting-scenariusze-wdrozenia-cacheboost\/\">Funkcja \u201eServer Push\u201d w protokole HTTP\/2 w ramach us\u0142ug hostingowych<\/a> na przyk\u0142adzie wyja\u015bnia, w jaki spos\u00f3b przegl\u0105darka, sie\u0107 CDN i serwer WWW wsp\u00f3\u0142dzia\u0142aj\u0105 podczas dostarczania tre\u015bci. Niezale\u017cnie od tego, dla logiki blokowania kluczowe znaczenie ma to, aby zaufany adres IP klienta by\u0142 dost\u0119pny w odpowiednim punkcie ochrony.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Trwa\u0142y wyb\u00f3r pozostaje podlegaj\u0105cy weryfikacji: je\u015bli zmieni\u0105 si\u0119 formaty log\u00f3w, \u015bcie\u017cki proxy, us\u0142ugi lub liczba serwer\u00f3w, koncepcja, kt\u00f3ra wcze\u015bniej by\u0142a odpowiednia, mo\u017ce zawiera\u0107 luki. Dlatego nale\u017cy okre\u015bli\u0107, jakie zdarzenia maj\u0105 by\u0107 wykrywane, gdzie maj\u0105 by\u0107 wdra\u017cane decyzje i kto zatwierdza wyj\u0105tki. To <strong style=\"font-weight:700;color:inherit\">Dyscyplina w pracy<\/strong> sprawia, \u017ce blokada adres\u00f3w IP staje si\u0119 kontrolowanym \u015brodkiem ochronnym, a nie niezauwa\u017caln\u0105 zmian\u0105 w zaporze sieciowej.<\/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\">\u0179r\u00f3d\u0142a i aktualny stan wiedzy<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Stan bada\u0144: <time datetime=\"2026-10-28\">2026-10-28<\/time><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Stan bada\u0144 i wersji: 28 pa\u017adziernika 2026 r. Wersja Fail2Ban 1.1.1 zosta\u0142a wydana 15 sierpnia 2026 r. Funkcje CrowdSec s\u0105 oceniane oddzielnie pod k\u0105tem silnika bezpiecze\u0144stwa, scenariuszy oraz zastosowanego komponentu naprawczego.<\/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 i Fail2Ban blokuj\u0105 podejrzane adresy IP, r\u00f3\u017cni\u0105 si\u0119 jednak pod wzgl\u0119dem wykrywania, egzekwowania i nak\u0142adu pracy. Por\u00f3wnanie pokazuje, kt\u00f3re rozwi\u0105zanie najlepiej pasuje do serwer\u00f3w VPS, serwer\u00f3w proxy i konfiguracji rozproszonych.<\/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":"Przezroczysta pami\u0119\u0107 podr\u0119czna stron w systemie Linux: podstawy i r\u00f3\u017cnice w stosunku do klasycznej pami\u0119ci podr\u0119cznej stron","excerpt":"W dw\u00f3ch zdaniach poka\u017c\u0119, w jaki spos\u00f3b system Linux przyspiesza dost\u0119p do plik\u00f3w w pami\u0119ci RAM oraz jak przezroczysta pami\u0119\u0107 podr\u0119czna stron wykorzystuje wi\u0119ksze jednostki stron, aby zmniejszy\u0107 nak\u0142ad administracyjny. Ponadto wyja\u015bni\u0119 r\u00f3\u017cnice w stosunku do klasycznej pami\u0119ci podr\u0119cznej stron o rozmiarze 4 KiB, wp\u0142yw na TLB, fragmentacj\u0119 oraz zachowanie obci\u0105\u017cenia. Kluczowe kwestie: Rozmiar strony \u2013 4 KiB vs. 2 MiB wp\u0142ywa na ziarnisto\u015b\u0107 i wydajno\u015b\u0107. Obci\u0105\u017cenie TLB: Du\u017ce strony zmniejszaj\u0105 liczb\u0119 wpis\u00f3w, ma\u0142e pozostaj\u0105 elastyczne. Fragmentacja: Du\u017ce strony wymagaj\u0105 ci\u0105g\u0142ego obszaru pami\u0119ci RAM. Obci\u0105\u017cenia: Du\u017ce obci\u0105\u017cenia sekwencyjne odnosz\u0105 du\u017ce korzy\u015bci, ma\u0142e obci\u0105\u017cenia losowe \u2013 mniejsze. Kontrola: testuj, mierz, a nast\u0119pnie stopniowo dostosowuj konfiguracj\u0119. Czym jest klasyczna pami\u0119\u0107 podr\u0119czna stron w systemie Linux? Klasyczna pami\u0119\u0107 podr\u0119czna stron przechowuje cz\u0119sto u\u017cywane strony plik\u00f3w w pami\u0119ci operacyjnej, dzi\u0119ki czemu operacje odczytu odbywaj\u0105 si\u0119 bezpo\u015brednio z pami\u0119ci RAM. Zazwyczaj pracuje on ze stronami o rozmiarze 4 KiB i zarz\u0105dza ka\u017cd\u0105 stron\u0105 jako odr\u0119bn\u0105 jednostk\u0105 w pami\u0119ci podr\u0119cznej. Dzi\u0119ki temu wiele ma\u0142ych plik\u00f3w lub cz\u0119sto wyszukiwanych fragment\u00f3w du\u017cych plik\u00f3w pozostaje dost\u0119pnych bez obci\u0105\u017cania dysku SSD lub HDD. J\u0105dro nadaje priorytet aktywnym stronom, odrzuca rzadko u\u017cywane tre\u015bci i w ten spos\u00f3b dynamicznie reaguje na szczyty obci\u0105\u017cenia. Aby uzyska\u0107 bardziej szczeg\u00f3\u0142owe informacje, odsy\u0142am do zwi\u0119z\u0142ego wprowadzenia na temat wydajno\u015bci pami\u0119ci podr\u0119cznej stron, kt\u00f3re w praktyczny spos\u00f3b opisuje podstawow\u0105 zasad\u0119 jej dzia\u0142ania. Dlaczego warto stosowa\u0107 przezroczyst\u0105 pami\u0119\u0107 podr\u0119czn\u0105 stron? Wiele pojedynczych stron o rozmiarze 4 KiB generuje dodatkow\u0105 prac\u0119 administracyjn\u0105 i zwi\u0119ksza obci\u0105\u017cenie TLB. Wi\u0119ksze strony, np. 2 MiB, mog\u0105 pokrywa\u0107 t\u0119 sam\u0105 przestrze\u0144 adresow\u0105 przy mniejszej liczbie wpis\u00f3w, oszcz\u0119dzaj\u0105c w ten spos\u00f3b czas procesora. Przezroczysta pami\u0119\u0107 podr\u0119czna stron automatycznie \u0142\u0105czy strony plik\u00f3w w wi\u0119ksze jednostki, je\u015bli pozwalaj\u0105 na to wzorce dost\u0119pu i rozmieszczenie w pami\u0119ci. Przypomina to ide\u0119 stoj\u0105c\u0105 za Transparent Huge Pages, odnosi si\u0119 jednak w tym przypadku do pami\u0119ci podr\u0119cznej opartej na plikach, a nie do pami\u0119ci anonimowej. Z takich funkcji korzystam dopiero po zrozumieniu wzorc\u00f3w dost\u0119pu, fragmentacji i wymaga\u0144 dotycz\u0105cych op\u00f3\u017anie\u0144, poniewa\u017c wi\u0119ksze strony zwi\u0119kszaj\u0105 poziom szczeg\u00f3\u0142owo\u015bci. Systematyczne por\u00f3wnywanie r\u00f3\u017cnic Aby zapewni\u0107 jasn\u0105 klasyfikacj\u0119, zestawiam obok siebie najwa\u017cniejsze cechy klasycznej pami\u0119ci podr\u0119cznej, przezroczystej pami\u0119ci podr\u0119cznej stron oraz THP, co u\u0142atwia wyb\u00f3r odpowiedniego rozwi\u0105zania dla danego obci\u0105\u017cenia. Skupiam si\u0119 na rozmiarze stron,"},"I2":{"id":"I2","post_id":20994,"url":"https:\/\/webhosting.de\/cloudlinux-alt-php-sicherheitsaspekte-und-einsatzgebiete-safeserver\/","title":"Starsze wersje PHP w systemie CloudLinux: kwestie bezpiecze\u0144stwa i obszary zastosowa\u0144","excerpt":"CloudLinux Alt-PHP pozwala mi bezpiecznie obs\u0142ugiwa\u0107 starsze aplikacje PHP, a jednocze\u015bnie uruchamia\u0107 aktualne projekty bez \u017cadnych kompromis\u00f3w. W tym artykule poka\u017c\u0119 w praktyczny spos\u00f3b, jakie aspekty bezpiecze\u0144stwa maj\u0105 znaczenie, w jakich obszarach Alt-PHP si\u0119 sprawdza oraz jak celowo planuj\u0119 jego wdro\u017cenie. Kluczowe kwestie Zanim przejd\u0119 do szczeg\u00f3\u0142\u00f3w, kr\u00f3tko podsumuj\u0119 najwa\u017cniejsze tezy i przedstawi\u0119 zwi\u0119z\u0142y przegl\u0105d z wyra\u017anymi punktami kluczowymi, kt\u00f3re om\u00f3wi\u0119 bardziej szczeg\u00f3\u0142owo w dalszej cz\u0119\u015bci tekstu. Alt-PHP zapewnia ci\u0105g\u0142o\u015b\u0107 dzia\u0142ania starszych aplikacji i zmniejsza presj\u0119 zwi\u0105zan\u0105 z migracj\u0105. HardenedPHP dostarcza dodatkowe poprawki bezpiecze\u0144stwa dla starszych wersji. CageFS i LVE oddzielaj\u0105 klient\u00f3w i ograniczaj\u0105 zasoby. php selector kontroluje wersje, modu\u0142y i opcje php.ini dla ka\u017cdego konta. Planowanie i monitorowanie zapewniaj\u0105 bezproblemowe dzia\u0142anie a\u017c do momentu migracji. Lista ta s\u0142u\u017cy mi jako w\u0105tek przewodni, dzi\u0119ki czemu mog\u0119 ukierunkowa\u0107 kolejne sekcje i zapewni\u0107 wyra\u017an\u0105 rozpoznawalno\u015b\u0107 ich znaczenia. Czym wyr\u00f3\u017cnia si\u0119 CloudLinux Alt-PHP Korzystam z CloudLinux Alt-PHP, aby uruchamia\u0107 r\u00f3wnolegle kilka wersji PHP, oddzielonych od systemowego PHP. W ten spos\u00f3b zapewniam dost\u0119pno\u015b\u0107 starszych aplikacji, nie przywi\u0105zuj\u0105c ca\u0142ej infrastruktury serwerowej do przestarza\u0142ej wersji. Pakiety Alt-PHP (np. alt-php5.6, alt-php7.4, alt-php8.x) s\u0105 oddzielnie utrzymywanymi kompilacjami, kt\u00f3re przypisuj\u0119 konkretnie do poszczeg\u00f3lnych kont lub domen. W ten spos\u00f3b zapewniam kompatybilno\u015b\u0107, zmniejszam ryzyko zwi\u0105zane z migracj\u0105 i utrzymuj\u0119 nowoczesne projekty na aktualnych wersjach. To rozdzielenie daje mi swobod\u0119, by w kontrolowany spos\u00f3b testowa\u0107 aktualizacje i starannie zaplanowa\u0107 przej\u015bcie na now\u0105 wersj\u0119. Korzystam z tego, \u017ce pakiety Alt-PHP s\u0105 utrzymywane przez CloudLinux i wsp\u00f3\u0142dzia\u0142aj\u0105 z funkcjami hostingu, takimi jak CageFS i LVE. Dzi\u0119ki temu zmiana wersji w codziennej pracy wydaje si\u0119 \u0142atwa, mimo \u017ce technicznie korzystam z oddzielnego \u015brodowiska uruchomieniowego. Stare i nowe projekty dzia\u0142aj\u0105 r\u00f3wnolegle, nie wp\u0142ywaj\u0105c na siebie nawzajem. Minimalizuje to zak\u0142\u00f3cenia podczas wdra\u017cania i aktualizacji. Jednocze\u015bnie \u015brodowisko serwerowe pozostaje przejrzyste, poniewa\u017c dla ka\u017cdego konta mog\u0119 dedykowa\u0107 dok\u0142adnie to, co jest faktycznie potrzebne. php selector w codziennej pracy Za pomoc\u0105 php selector ustalam odpowiedni\u0105 wersj\u0119 dla ka\u017cdego u\u017cytkownika lub domeny, ak"},"I3":{"id":"I3","post_id":18985,"url":"https:\/\/webhosting.de\/http2-server-push-hosting-einsatzszenarien-cacheboost\/","title":"HTTP\/2 Server Push: Scenariusze aplikacji w hostingu dla maksymalnej wydajno\u015bci","excerpt":"Funkcja \u201eServer Push\u201d w protokole HTTP\/2 przyspiesza pierwsze wywo\u0142ania, poniewa\u017c serwer natychmiast wysy\u0142a kluczowe zasoby, takie jak CSS i JavaScript, co pozwala ograniczy\u0107 liczb\u0119 cykli wymiany danych. W konfiguracjach hostingowych o du\u017cym nat\u0119\u017ceniu ruchu celowo wykorzystuj\u0119 HTTP\/2, aby zauwa\u017calnie skr\u00f3ci\u0107 czas pierwszego renderowania (Start-Render), wska\u017anik LCP oraz czas do interakcji (Time to Interactive). Kluczowe r\u00f3\u017cnice mi\u0119dzy funkcj\u0105 \u201ePush\u201d a \u201ePreload\u201d: funkcja \u201ePush\u201d dostarcza zasoby z wyprzedzeniem, natomiast \u201ePreload\u201d zg\u0142asza je z wyprzedzeniem. Sensowne scenariusze zastosowania: strony docelowe, WordPress, aplikacje PWA, sklepy internetowe i witryny o du\u017cym nat\u0119\u017ceniu ruchu. Mo\u017cliwo\u015bci hostingu: HTTP\/2, TLS, odpowiednie modu\u0142y i buforowanie. Pomiar: DevTools, LCP\/FID\/INP oraz analizy kaskadowe. Pu\u0142apki: nadmierne stosowanie funkcji \u201epush\u201d, podw\u00f3jny transfer i brak priorytetyzacji. Jak dzia\u0142a HTTP\/2 Server Push w hostingu Przy pierwszym \u017c\u0105daniu strony HTML serwer wysy\u0142a Push-Promise i natychmiast dostarcza pliki, takie jak arkusze styl\u00f3w i skrypty, zanim przegl\u0105darka aktywnie o nie poprosi; w ten spos\u00f3b oszcz\u0119dzam op\u00f3\u017anienie i unikam dodatkowych rund \u017c\u0105da\u0144. HTTP\/2 pozwala na r\u00f3wnoleg\u0142e strumienie w ramach jednego po\u0142\u0105czenia, dzi\u0119ki czemu \u017cadny zas\u00f3b nie blokuje innego, a \u0142adowanie przebiega znacznie p\u0142ynniej, zw\u0142aszcza przy TLS. Nowoczesne przegl\u0105darki mog\u0105 odrzuca\u0107 operacje push, je\u015bli pami\u0119\u0107 podr\u0119czna zawiera ju\u017c aktualn\u0105 kopi\u0119, co oszcz\u0119dza przepustowo\u015b\u0107 i respektuje priorytety. W \u015brodowiskach hostingowych z HTTP\/2, TLS i prawid\u0142ow\u0105 konfiguracj\u0105 podnosz\u0119 w ten spos\u00f3b widoczn\u0105 szybko\u015b\u0107, zw\u0142aszcza w obszarze \u201eabove-the-fold\u201d, na wy\u017cszy poziom. Dla mnie funkcja \u201epush\u201d jest mechanizmem dostarczania, kt\u00f3ry elegancko rozwi\u0105zuje problem wykrywania zasob\u00f3w krytycznych. Kompatybilno\u015b\u0107, rozwi\u0105zania awaryjne i aktualny stan Wa\u017cne jest, aby zawsze planowa\u0107 funkcj\u0119 push z mo\u017cliwo\u015bci\u0105 jej wy\u0142\u0105czenia: niekt\u00f3re przegl\u0105darki i sieci CDN z czasem ograniczy\u0142y lub wy\u0142\u0105czy\u0142y funkcj\u0119 server push, podczas gdy preload i 103 Early Hints zyskuj\u0105 na popularno\u015bci. Moje podej\u015bcie: precyzyjnie definiuj\u0119 nag\u0142\u00f3wki preload, tak aby nawet przy braku funkcji push wczesne powiadomienie dzia\u0142a\u0142o. Tam, gdzie funkcja push jest aktywna, korzy\u015bci odnosz\u0105 u\u017cytkownicy odwiedzaj\u0105cy stron\u0119 po raz pierwszy; tam, gdzie nie dzia\u0142a, odkrywanie zasob\u00f3w zapewnia preload. W ten spos\u00f3b nie powstaj\u0105 \u017cadne zale\u017cno\u015bci funkcjonalne. \u0141agodna degradacja: preload jest obowi\u0105zkowy, a push opcjonalnym przyspieszeniem. Cache-first: skuteczne trafienia w pami\u0119ci podr\u0119cznej zapobiegaj\u0105 podw\u00f3jnym transferom, nawet je\u015bli uruchomiono push. Prze\u0142\u0105czniki funkcji: aktywuj\u0119 push selektywnie dla poszczeg\u00f3lnych host\u00f3w\/\u015bcie\u017cek i stopniowo go wycofuj\u0119."}},"_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 a Fail2Ban: r\u00f3\u017cnice w praktycznym zastosowaniu","slug":"crowdsec-kontra-fail2ban-praktyczne-zastosowanie","excerpt":"CrowdSec i Fail2Ban blokuj\u0105 podejrzane adresy IP, r\u00f3\u017cni\u0105 si\u0119 jednak pod wzgl\u0119dem wykrywania, egzekwowania i nak\u0142adu pracy. Por\u00f3wnanie pokazuje, kt\u00f3re rozwi\u0105zanie najlepiej pasuje do serwer\u00f3w VPS, serwer\u00f3w proxy i konfiguracji rozproszonych.","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 Strony man Debiana"},"S2":{"id":"S2","url":"https:\/\/fail2ban.readthedocs.io\/en\/latest\/filters.html?utm_source=openai","title":"Tworzenie filtr\u00f3w \u2014 dokumentacja Fail2Ban 0.9.0.dev"},"S3":{"id":"S3","url":"https:\/\/github.com\/fail2ban\/fail2ban\/releases?utm_source=openai","title":"Wydania \u00b7 fail2ban\/fail2ban \u00b7 GitHub"},"S4":{"id":"S4","url":"https:\/\/docs.crowdsec.net\/docs\/bouncers\/intro\/?utm_source=openai","title":"Elementy naprawcze CrowdSec (zwane r\u00f3wnie\u017c \u201eBouncers\u201d) | 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 Strony podr\u0119cznika Debiana"},"S6":{"id":"S6","url":"https:\/\/docs.crowdsec.net\/u\/getting_started\/intro\/?utm_source=openai","title":"Wprowadzenie | CrowdSec"},"S7":{"id":"S7","url":"https:\/\/docs.crowdsec.net\/docs\/concepts\/?utm_source=openai","title":"Koncepcje | CrowdSec"},"S8":{"id":"S8","url":"https:\/\/docs.crowdsec.net\/docs\/intro\/?utm_source=openai","title":"Wprowadzenie | CrowdSec"},"S9":{"id":"S9","url":"https:\/\/docs.crowdsec.net\/docs\/bouncers\/firewall\/?utm_source=openai","title":"Blokowanie adres\u00f3w IP w zaporze sieciowej systemu Linux za pomoc\u0105 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 a Fail2Ban: r\u00f3\u017cnice w praktycznym zastosowaniu","slug":"crowdsec-kontra-fail2ban-praktyczne-zastosowanie","excerpt":"CrowdSec i Fail2Ban blokuj\u0105 podejrzane adresy IP, r\u00f3\u017cni\u0105 si\u0119 jednak pod wzgl\u0119dem wykrywania, egzekwowania i nak\u0142adu pracy. Por\u00f3wnanie pokazuje, kt\u00f3re rozwi\u0105zanie najlepiej pasuje do serwer\u00f3w VPS, serwer\u00f3w proxy i konfiguracji rozproszonych.","status":"draft","featured_media":0},"expected":{"content_md5":"c389944268c778d6f2a72af43dbe4c50","title":"CrowdSec a Fail2Ban: r\u00f3\u017cnice w praktycznym zastosowaniu","slug":"crowdsec-kontra-fail2ban-praktyczne-zastosowanie","excerpt":"CrowdSec i Fail2Ban blokuj\u0105 podejrzane adresy IP, r\u00f3\u017cni\u0105 si\u0119 jednak pod wzgl\u0119dem wykrywania, egzekwowania i nak\u0142adu pracy. Por\u00f3wnanie pokazuje, kt\u00f3re rozwi\u0105zanie najlepiej pasuje do serwer\u00f3w VPS, serwer\u00f3w proxy i konfiguracji rozproszonych.","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 a Fail2Ban: r\u00f3\u017cnice w praktycznym zastosowaniu","slug":"crowdsec-kontra-fail2ban-praktyczne-zastosowanie","excerpt":"CrowdSec i Fail2Ban blokuj\u0105 podejrzane adresy IP, r\u00f3\u017cni\u0105 si\u0119 jednak pod wzgl\u0119dem wykrywania, egzekwowania i nak\u0142adu pracy. Por\u00f3wnanie pokazuje, kt\u00f3re rozwi\u0105zanie najlepiej pasuje do serwer\u00f3w VPS, serwer\u00f3w proxy i konfiguracji rozproszonych.","seo":{"title":"Por\u00f3wnanie praktyczne: CrowdSec kontra Fail2Ban","description":"CrowdSec czy Fail2Ban? Dowiedz si\u0119, czym r\u00f3\u017cni\u0105 si\u0119 mi\u0119dzy sob\u0105 jail, scenariusze, Bouncer, ochrona sieciowa oraz nak\u0142ady operacyjne w codziennej eksploatacji serwer\u00f3w.","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":"94","_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\/pl\/wp-json\/wp\/v2\/posts\/22010","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/comments?post=22010"}],"version-history":[{"count":5,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/posts\/22010\/revisions"}],"predecessor-version":[{"id":22015,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/posts\/22010\/revisions\/22015"}],"wp:attachment":[{"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/media?parent=22010"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/categories?post=22010"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/tags?post=22010"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}