{
"meta": {
"title": "Fail2Ban | Dokumentácia ProxMenux",
"description": "Nainštalujte Fail2Ban s tromi jails vyladenými pre Proxmox (SSH agresívny, Proxmox UI 8006, ProxMenux Monitor 8008). Zahŕňa opravu journald MaxLevelStore, vlastné protokolové služby pre spoľahlivosť, automaticky detekovaný backend nftables/iptables a zosilnenie SSH MaxAuthTries.",
"ogTitle": "Fail2Ban | Dokumentácia ProxMenux",
"ogDescription": "Ochrana pred hrubou silou pre SSH a webové rozhrania Proxmox s opravami journald a backendu špecifickými pre Proxmox."
},
"header": {
"title": "Fail2Ban",
"description": "Nainštaluje Fail2Ban pre Proxmox: tri jaily (agresívny SSH, rozhranie Proxmox na 8006, ProxMenux Monitor na 8008 a reverzný proxy), opravu úrovne journald na ukladanie udalostí SSH, dve služby kopírujúce denník do súborov na obídenie známeho problému backendu systemd, detekciu backendu firewallu a posilnenie SSH pomocou MaxAuthTries.",
"section": "Zabezpečenie"
},
"intro": {
"title": "Čo to robí?",
"body": "Inštaluje Fail2Ban z repozitárov Debian a vytvorí konfiguráciu Proxmox, ktorá ihneď chráni SSH, rozhranie Proxmox a ProxMenux Monitor. Ak rozpozná existujúcu inštaláciu, ponúkne menu správy na preinštalovanie alebo odstránenie."
},
"firstLaunch": {
"heading": "Dialóg prvého spustenia",
"body": "Ak Fail2Ban nie je nainštalovaný, skript zobrazí potvrdenie so súhrnom plánovanej inštalácie a konfigurácie. Zrušenie ukončí postup bez zmien; potvrdenie spustí inštaláciu.",
"imageAlt": "Potvrdenie inštalácie Fail2Ban s tromi jailmi, opravou journald a posilnením SSH"
},
"jails": {
"heading": "Tri jails",
"headerJail": "Jail",
"headerProtects": "Chráni",
"headerRetries": "Pokusy / Časové okno",
"headerBan": "Trvanie blokovania",
"rows": [
{
"jail": "[sshd]",
"protects": "SSH (agresívny režim — zahŕňa ddos, mode, normal)",
"retries": "2 / 60 min",
"ban": "9 hodín"
},
{
"jail": "[proxmox]",
"protects": "Webové rozhranie Proxmox (port 8006)",
"retries": "3 / 10 min",
"ban": "1 hodina"
},
{
"jail": "[proxmenux]",
"protects": "ProxMenux Monitor (port 8008 + http/https reverzný proxy)",
"retries": "3 / 10 min",
"ban": "1 hodina"
}
],
"outro": "Globálne predvolené hodnoty od jail.local: ignoreip = 127.0.0.1/8 ::1, ignoreself = true, bantime = 86400 (24-hodinová rezerva pre jails ktoré to neprepíšu), maxretry = 2, findtime = 1800."
},
"journald": {
"heading": "Prečo je oprava journald dôležitá",
"intro": "Proxmox dodáva /etc/systemd/journald.conf s MaxLevelStore=warning. journald pred uložením zahodí správy s úrovňou nižšou než warning. SSH a PAM hlásia chyby overovania na úrovniach info / notice, preto:",
"diagram": {
"sshLabel": "SSH / PAM",
"sshDetail": "chyba overovania\n(úroveň info / notice)",
"journaldLabel": "journald",
"journaldDetail": "MaxLevelStore=warning\n→ udalosť sa bez upozornenia zahodí",
"fail2banLabel": "Fail2Ban",
"fail2banDetail": "nevidí nič\n→ nikdy nič nezakazuje",
"arrowLabel": "predvolený Proxmox"
},
"afterDiagram": "Inštalátor to rozpozná a vytvorí doplnkový súbor /etc/systemd/journald.conf.d/proxmenux-loglevel.conf, ktorý nastaví MaxLevelStore aj MaxLevelSyslog na info:",
"code": "[Journal]\nMaxLevelStore=info\nMaxLevelSyslog=info",
"outro": "Potom reštartuje systemd-journald. Pri odinštalovaní sa doplnkový súbor odstráni a obnoví sa pôvodné nastavenie Proxmox."
},
"loggers": {
"heading": "Prečo dve vlastné logger služby",
"intro1": "Fail2Ban môže čítať priamo denník systemd (backend = systemd), ale tento backend má na Proxmoxe známe problémy s pracovnými procesmi pvedaemon: udalosti overovania sa objavia v denníku, ale nie vždy sa zachytia. Problém sa občas týka aj sshd.",
"intro2": "ProxMenux vytvorí dve malé služby systemd, ktoré sledujú príslušné jednotky pomocou journalctl -f a pridávajú každý riadok do súboru. Fail2Ban číta tieto súbory spoľahlivým backend = auto (súborový režim):",
"headerService": "Služba",
"headerSource": "Zdrojová jednotka",
"headerOutput": "Výstupný súbor",
"rows": [
{
"service": "proxmox-auth-logger.service",
"source": "pvedaemon.service",
"output": "/var/log/proxmox-auth.log"
},
{
"service": "ssh-auth-logger.service",
"source": "ssh.service",
"output": "/var/log/ssh-auth.log"
}
],
"outro": "Obe služby sú deklarované ako PartOf=fail2ban.service, takže sa reštartujú s Fail2Ban a zastavia sa s ním. Režim 640, ktorý vlastní root:adm v súboroch denníka. Tretí protokol používaný [proxmenux] jail (/var/log/proxmenux-auth.log) je zapísaný priamo aplikáciou ProxMenux Monitor Flask – nie je potrebná žiadna služba zapisovača."
},
"backend": {
"heading": "Automatická detekcia backendu firewallu",
"intro": "Inštalátor sonduje hostiteľa: ak nft list ruleset funguje, vyberie nftables ako akciu zákazu. Inak sa vráti do iptables-multiport / iptables-allports. Voľba je napísaná do jail.local:",
"code": "# nftables host\nbanaction = nftables\nbanaction_allports = nftables[type=allports]\n\n# iptables host (fallback)\nbanaction = iptables-multiport\nbanaction_allports = iptables-allports"
},
"hardening": {
"heading": "Posilnenie SSH: MaxAuthTries",
"intro": "Kontrola Lynis SSH-7408 odporúča MaxAuthTries 3 v sshd_config. SSH jail používa maxretry = 2 na blokovanie po opakovaných zlyhaniach; MaxAuthTries obmedzuje pokusy v rámci jedného spojenia. Toto nastavenie SSH pridáva ďalšiu vrstvu ochrany aj pri zastavení Fail2Ban počas údržby.",
"installerIntro": "Inštalátor:",
"items": [
"Číta aktuálnu hodnotu MaxAuthTries (alebo predvolené hodnoty 6 v prípade neprítomnosti).",
"Ukladá to na /usr/local/share/proxmenux/sshd_maxauthtries_backup.",
"Upraví sshd_config priamo: nahradí existujúci riadok, odkomentuje zakomentovaný alebo pridá nový.",
"Znova načíta sshd bez reštartu, aby existujúce relácie zostali aktívne."
],
"outro": "Na odinštalovanie je uložená pôvodná hodnota obnovená a sshd je znovu načítaná."
},
"manage": {
"heading": "Spravovať existujúcu inštaláciu",
"intro": "Ak je Fail2Ban nainštalovaný už pri otvorení ponuky, skript ho detekuje a zobrazí riadiace menu namiesto opätovného spustenia inštalátora:",
"headerAction": "Akcia",
"headerWhat": "Čo to robí?",
"rows": [
{
"action": "Preinštalovať",
"what": "Znova spustí celý inštalátor a prepíše všetky jaily aktuálnymi predvolenými hodnotami ProxMenux. Použite to, keď aktualizácia zmení odporúčané hodnoty."
},
{
"action": "Odstrániť",
"what": "Zastaví fail2ban a dve loggerové služby, vyčistí balík apt, odstráni všetky jail / súbory filtrov, odstráni drop-in journald (obnoví predvolené nastavenie Proxmox) a obnoví pôvodný SSH MaxAuthTries."
}
]
},
"verify": {
"heading": "Overte, či funguje.",
"intro": "Po inštalácii užitočné príkazy od hostiteľa:",
"code": "# Service status and version\nsystemctl status fail2ban\nfail2ban-client --version\n\n# All active jails\nfail2ban-client status\n\n# Detail on one jail\nfail2ban-client status sshd\nfail2ban-client status proxmox\nfail2ban-client status proxmenux\n\n# Currently banned IPs in a jail\nfail2ban-client status sshd | grep \"Banned IP\"\n\n# Manually unban an IP (use this if you ban yourself)\nfail2ban-client unban 192.0.2.10\n\n# Tail the auth logs Fail2Ban watches\ntail -f /var/log/ssh-auth.log\ntail -f /var/log/proxmox-auth.log\ntail -f /var/log/fail2ban.log"
},
"troubleshoot": {
"heading": "Riešenie problémov",
"neverBansTitle": "Fail2Ban beží, ale nikdy nič nezakazuje",
"neverBansBody": "Overte, či tail -f /var/log/ssh-auth.log dostane záznam po pokuse o SSH prihlásenie s nesprávnym heslom z iného počítača. Ak zostane prázdny, skontrolujte systemctl status ssh-auth-logger.service. Ak služba beží, prezrite udalosti príkazom journalctl -u ssh.service -n 50 --no-pager -p info a overte, či doplnková konfigurácia journald povoľuje úroveň info.",
"monitorEmptyTitle": "ProxMenux Monitor jail nemá žiadne položky ani po neúspešnom prihlásení",
"monitorEmptyBody": "[proxmenux] jail číta /var/log/proxmenux-auth.log, ktorý je napísaný aplikáciou ProxMenux Monitor Flask – nie zapisovačom journald. Ak nespustíte Monitor, súbor zostane prázdny a jail sa nikdy nespustí. To sa očakáva; konfigurácia jail je neškodná. Ak spustíte Monitor a protokol je prázdny, skontrolujte konfiguráciu protokolovania Flask.",
"selfBanTitle": "Zakázal som sám seba.",
"selfBanIntro": "Z konzoly / IPMI / iKVM (alebo inej povolenej IP adresy):",
"selfBanCode": "fail2ban-client unban \n\n# To prevent it next time, edit /etc/fail2ban/jail.local and add your IP:\nignoreip = 127.0.0.1/8 ::1 192.168.1.0/24 203.0.113.42\n\n# Then reload\nfail2ban-client reload",
"aptFailTitle": "apt-get zlyhá: ''Unable to locate package fail2ban''",
"aptFailBody": "Hostiteľovi chýbajú repozitáre Debian (bežné pri minimálnej inštalácii Proxmox). Inštalátor to rozpozná a pred opakovaním vytvorí /etc/apt/sources.list.d/debian.sources so správnym kódovým označením (bookworm / trixie). Ak chyba pretrváva, skontrolujte VERSION_CODENAME v /etc/os-release a dostupnosť URL repozitára.",
"lockoutTitle": "SSH ma po inštalácii zamkne",
"lockoutBody": "Inštalatér nastaví MaxAuthTries=3. Ak váš správca hesla / agent získa viac kľúčov, môžete to prekročiť pri jednom pokuse o pripojenie. Obmedzte ponúkané kľúče: ssh -o IdentitiesOnly=yes -i ~/.ssh/specific_key user@host. Alebo dočasne zvýšiť MaxAuthTries v sshd_config, zatiaľ čo vy ladíte."
},
"files": {
"heading": "Súbory napísané",
"code": "/etc/fail2ban/jail.local # global defaults + [sshd]\n/etc/fail2ban/jail.d/proxmox.conf # [proxmox]\n/etc/fail2ban/jail.d/proxmenux.conf # [proxmenux]\n/etc/fail2ban/filter.d/proxmox.conf # auth-failure regex for pvedaemon\n/etc/fail2ban/filter.d/proxmenux.conf # auth-failure regex for Monitor\n/etc/systemd/system/proxmox-auth-logger.service # journal → file (pvedaemon)\n/etc/systemd/system/ssh-auth-logger.service # journal → file (sshd)\n/etc/systemd/journald.conf.d/proxmenux-loglevel.conf # MaxLevelStore=info\n/etc/ssh/sshd_config # MaxAuthTries=3 (in-place edit)\n/var/log/proxmox-auth.log # written by logger service\n/var/log/ssh-auth.log # written by logger service\n/var/log/proxmenux-auth.log # written by Monitor Flask app\n/usr/local/share/proxmenux/sshd_maxauthtries_backup # for restore on uninstall"
},
"related": {
"heading": "Súvisiace",
"monitorLabel": "ProxMenux Monitor → Bezpečnostná karta",
"monitorTail": " — inštalácia z ovládacieho panela, aktuálny stav jailov, blokované IP adresy a nastavenie počtu pokusov a trvania blokovania pre každý jail v prehliadači.",
"lynisLabel": "Lynis",
"lynisTail": " — spustite bezpečnostný audit pred zmenou a po nej a overte splnenie kontroly SSH-7408.",
"securityLabel": "Prehľad bezpečnosti",
"securityTail": " — Späť na prehľad sekcie."
}
}