abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 14:33 | IT novinky

    Meta představila prototyp náramku, který snímá elektrickou aktivity svalů (povrchová elektromyografie, EMG) a umožňuje jemnými gesty ruky a prstů ovládat počítač nebo různá zařízení. Získané datové sady emg2qwerty a emg2pose jsou open source.

    Ladislav Hagara | Komentářů: 0
    včera 14:22 | Nová verze

    Byla vydána (𝕏) nová verze 25.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 25.7 je Visionary Viper. Přehled novinek v příspěvku na fóru.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | IT novinky

    Před 40 lety, 23. července 1985, společnost Commodore představila první počítač Amiga. Jednalo se o počítač "Amiga od Commodore", jenž byl později pojmenován Amiga 1000. Mělo se jednat o přímou konkurenci počítače Apple Macintosh uvedeného na trh v lednu 1984.

    Ladislav Hagara | Komentářů: 2
    včera 06:00 | IT novinky

    T‑Mobile USA ve spolupráci se Starlinkem spustil službu T-Satellite. Uživatelé služby mohou v odlehlých oblastech bez mobilního signálu aktuálně využívat satelitní síť s více než 650 satelity pro posílání a příjem zpráv, sdílení polohy, posílání zpráv na 911 a příjem upozornění, posílání obrázků a krátkých hlasových zpráv pomocí aplikace Zprávy Google. V plánu jsou také satelitní data.

    Ladislav Hagara | Komentářů: 5
    23.7. 21:55 | Komunita

    Společnost Proxmox Server Solutions stojící za virtualizační platformou Proxmox Virtual Environment věnovala 10 000 eur nadaci The Perl and Raku Foundation (TPRF).

    Ladislav Hagara | Komentářů: 2
    23.7. 21:22 | Bezpečnostní upozornění

    Byla vydána nová verze 2.4.65 svobodného multiplatformního webového serveru Apache (httpd). Řešena je bezpečnostní chyba CVE-2025-54090.

    Ladislav Hagara | Komentářů: 0
    23.7. 14:22 | IT novinky

    Společnost Proton AG stojící za Proton Mailem a dalšími službami přidala do svého portfolia AI asistenta Lumo.

    Ladislav Hagara | Komentářů: 7
    23.7. 12:22 | IT novinky

    Amazon koupil společnost Bee zaměřenou na nositelnou osobní AI aktuálně nabízející náramek Pioneer (YouTube) s mikrofony zaznamenávající vše kolem [𝕏, LinkedIn].

    Ladislav Hagara | Komentářů: 6
    23.7. 04:33 | IT novinky

    Společnost Teufel nedávno představila svůj první open source Bluetooth reproduktor MYND.

    Ladislav Hagara | Komentářů: 13
    22.7. 20:00 | Nová verze

    Byla vydána verze 4.2 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Využíván je Free Pascal Compiler (FPC) 3.2.2.

    Ladislav Hagara | Komentářů: 0
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (28%)
     (25%)
     (6%)
     (5%)
     (5%)
     (2%)
     (3%)
     (28%)
    Celkem 120 hlasů
     Komentářů: 15, poslední včera 15:10
    Rozcestník

    Ochrana proti SSH útoku: pam_abl

    6.6.2005 18:11 | Přečteno: 3262× | poslední úprava: 6.6.2005 20:07

    sshd, démonečku,
    otevři nám svou světničku,
    jen dva prstíčky tam strčíme,
    jen co se ohřejeme,
    local exploit hned průbneme.

    Polořešení a jiné obezličky

    Taky po vás jdou? Už jste vyzkoušeli všechny zaručené recepty:

    Limit na počet TCP spojení
    Jelen muže domů jen na oběd a na večeři
    Nestandardní port
    Jelen poleze domů komínem
    Port knocking
    Jelen se stane zručným bubeníkem, aby zvládl ťukací sekvenci
    pam_tally
    Pokud se bude jeskyňka vydávat za jelena, jelen dnes spát doma nebude
    Pársování logů
    Rozumné řešení, ale to bych nemusel psát tenhle článek a opěvovat modularitu PAM systému

    pam_abl

    Jedná se o PAM modul, jehož autorem je Andy Armstrong a domovskou stránku má na http://hexten.net/sw/pam_abl/index.mhtml. Název je zkratkou z PAM Active Blocking List.

    Modul si udržuje seznam chybných pokusů o přihlášení v Berkeley DB, a to zvlášť pro uživatele a zvlášť pro IP adresy (resp. PAM_RHOST). Pokud počet pokusů přesáhne stanovenou mez, je po určitou dobu útočníkovi vždy vrácena chyba autentizace. Útočník tak nezjistí, že byl odhalen a bezúčelně plýtvá svými prostředky.

    Konfigurace

    Do /etc/pam.d/sshd si přidejte do sekce auth modul pam_abl:

    auth    required    /lib/security/pam_abl.so config=/etc/security/pam_abl.conf
    auth    sufficient  /lib/security/pam_unix.so likeauth nullok
    auth    required    /lib/security/pam_deny.so
    

    a do souboru /etc/security/pam_abl.conf zapište vlastní nastavení pam_abl modulu:

    host_db=/var/lib/abl/hosts.db
    host_purge=2d
    host_rule=*:10/1h,30/1d
    
    user_db=/var/lib/abl/users.db
    user_purge=2d
    user_rule=!root:10/1h,30/1d
    

    host_db definuje soubor obsahující databázi chybných pokusů podle IP (user_db obdobně pro uživatele), {host|user}_purge je doba, po kterou se uchovávají informace v databázi (je nutné, aby byla větší nebo rovna maximu ze všech _rule pravidel).

    {host|user}_rule pravidlo specifikuje samotné limity, podle kterých se určuje, kdy, komu a na jak dlouho bude zablokován přístup. Výše uvedený příklad znamená, že přístup bude zablokován z IP adresy, která má na svědomí více jak 10 pokusů v 1 hodině nebo více jak 30 pokusů v 1 dni a to pro všechny účty po dobu 1 hodiny, resp. 1 dne. Nebo bude zablokován konkrétní účet kromě roota pro libovolnou IP, pokud na něj bylo provedeno (odkudkoliv) vice jak 10 pokusů v 1 hodině nebo 30 pokusů v 1 dni, a to po dobu 1 hodiny, resp. 1 dne.

    Podrobnou gramatiku, včetně sémantiky lze nalézt v dokumentaci.

    V akci

    Účinnost si můžete zkontrolovat stejnojmennou utilitkou pam_abl, která umožňuje vypsat chybné pokusy včetně aktuálního stavu v agregované formě:

    Failed users:
        abinitioforum (2)
            Not blocking
        absurdir_deadphp (2)
            Not blocking
        admin (8)
            Not blocking
        aecpro (2)
            Not blocking
        akcesbenefit (2)
    …
    
    Failed hosts:
        147.251.53.122 (70)
            Blocking users [*]
        202.125.142.110 (821)
            Not blocking
        69.229.202.54 (18)
            Not blocking
    

    nebo i podrobné:

     147.251.53.122 (70)
            Mon Jun  6 16:26:01 2005
            Mon Jun  6 16:25:58 2005
            Mon Jun  6 16:25:53 2005
            Mon Jun  6 16:25:50 2005
    …
    

    V logu SSH démona, pak přibudou tyto řádky:

    Jun  6 11:21:07 (none) sshd[31111]: Invalid user test from 69.229.202.54
    Jun  6 11:21:07 (none) sshd[31112]: Invalid user test from 69.229.202.54
    Jun  6 11:21:08 (none) sshd[31112]: Failed password for invalid user test from 69.229.202.54 port 41178 ssh2
    Jun  6 11:21:08 (none) sshd[31111]: Failed password for invalid user test from 69.229.202.54 port 57800 ssh2
    Jun  6 11:21:10 (none) sshd[31115]: Invalid user guest from 69.229.202.54
    Jun  6 11:21:10 (none) sshd[31116]: Invalid user guest from 69.229.202.54
    Jun  6 11:21:10 (none) sshd[31115]: Failed password for invalid user guest from 69.229.202.54 port 41236 ssh2
    Jun  6 11:21:10 (none) sshd[31116]: Failed password for invalid user guest from 69.229.202.54 port 57861 ssh2
    Jun  6 11:21:12 (none) sshd[31119]: Invalid user admin from 69.229.202.54
    Jun  6 11:21:12 (none) sshd[31120]: Invalid user admin from 69.229.202.54
    Jun  6 11:21:12 (none) sshd[31119]: Failed password for invalid user admin from 69.229.202.54 port 41303 ssh2
    Jun  6 11:21:12 (none) sshd[31120]: Failed password for invalid user admin from 69.229.202.54 port 57928 ssh2
    Jun  6 11:21:14 (none) sshd[31123]: Invalid user admin from 69.229.202.54
    Jun  6 11:21:14 (none) pam_abl[31123]: Blocking access from 69.229.202.54 to service sshd, user admin
    Jun  6 11:21:14 (none) sshd[31123]: Failed password for invalid user admin from 69.229.202.54 port 41345 ssh2
    Jun  6 11:21:16 (none) sshd[31124]: Invalid user admin from 69.229.202.54
    Jun  6 11:21:16 (none) pam_abl[31124]: Blocking access from 69.229.202.54 to service sshd, user admin
    Jun  6 11:21:16 (none) sshd[31124]: Failed password for invalid user admin from 69.229.202.54 port 57970 ssh2
    Jun  6 11:21:19 (none) sshd[31127]: Invalid user user from 69.229.202.54
    Jun  6 11:21:19 (none) pam_abl[31127]: Blocking access from 69.229.202.54 to service sshd, user user
    Jun  6 11:21:19 (none) sshd[31127]: Failed password for invalid user user from 69.229.202.54 port 58074 ssh2
    

    Utilitka pam_abl je také určena k vyčistění databáze od starých záznamů podle _purge pravidel (pam modul to nedělá). Spouštět ji můžete např. každý den z cronu. Zrovna tak umí ruční odblokování dané IP nebo účtu.

    Nevýhody a chyby

    Jedná se o poměrně mladý projekt, takže nějaké ty chybky či chytáky, o kterých se dokumentace nezmiňuje, obsahuje:

           

    Hodnocení: -

    zatím nehodnoceno
            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    6.6.2005 19:44 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Dík
    Dík za info :-)
    6.6.2005 21:01 Radek Hladik | skóre: 20
    Rozbalit Rozbalit vše Jak pam_abl rozezná špatný a dobrý pokus o přihlášení?
    Koukám, že pam_abl je uvedené před pam_unix. Jak tedy pozná, zda šlo o správný nebo špatný pokus o přihlášení? Nemělo by být pořadí obrácené? Nebo mi uniká nějaká vlastnost PAMu, která to umožňuje?

    Radek
    6.6.2005 21:46 petr_p
    Rozbalit Rozbalit vše Re: Jak pam_abl rozezná špatný a dobrý pokus o přihlášení?
    PAM system poskytuje system hacku, na ktere se mohou jednotlive moduly navesit, a tak byt informovany o urcitych udalostech v budoucich modulech (napr. selhani autentizace).

    Navic, pokud mate u pam_unix (nebo jineho modulu, ktery provadi skutecnou autentizaci) priznak sufficient (a u systemu s vice autentizacnimi systemy, napr. kerberos + unix2, se tomu nevyhnete), modul pam_abl by v pripade uspesne autentizace vubec nebyl natazen a inicalizovan.

    Proto musi byt pam_abl zavolan pred pam_unix (ci jinym modulem, ktery provadi skutecnou autentizaci).
    7.6.2005 00:52 Radek Hladik | skóre: 20
    Rozbalit Rozbalit vše Re: Jak pam_abl rozezná špatný a dobrý pokus o přihlášení?
    Prave kvuli tomu sufficient jsem myslel, ze je to tak, ze kdyz se modul spusti, tak autentifikace nebyla uspesna, pokud uspesna byla, tak se vubec nespusti... Aspon tak funguje to pam_deny nakonci ne?

    Jinak diky za novou informaci, ohledne tech hacku, to jsem nevedel.

    Radek
    7.6.2005 03:28 Radek Hladik | skóre: 20
    Rozbalit Rozbalit vše Pársování logů
    A protoze se mi pam_abl nechtelo na mem RH9 prelozit (asi nejaka zavi(s)lost kvuli verzi DB), napsal jsem si onen kontrolovaci skriptik... Neni to nic uzasneho, ale snad to funguje :)
    #!/bin/bash
    iptables -N sshblock 2>/dev/null
    iptables -F sshblock 2>/dev/null
    for addr in `
    (
    cat /var/log/secure
    gzip -d -c /var/log/secure.1.gz
    gzip -d -c /var/log/secure.2.gz
    ) | grep 'Failed password for illegal user' |\
    sed 's/.*from \([^ ]*\).*/\1/' |\ sort | uniq -c |\
    sort -n -r | grep -v '^[^0-9]*[0-9][^0-9]' |\
    sed 's/^[^0-9]*[0-9]*[^0-9]\(.*\)/\1/'` ; do
    if ! [ "$addr" == "12.34.56.78" ] ; then
      iptables -A sshblock -s $addr -j MIRROR
    fi;
    done;
    
    A pak uz staci jen na prihodnem miste zaradit ten chain nekam do firewallu...

    Radek
    7.6.2005 10:25 petr_p
    Rozbalit Rozbalit vše Re: Pársování logů
    Ad DB: Mate nainstalovany db-devel? Verze, proti kterym to autor zkousel, jsou popsany na domovske strance (ja jedu na 4.2).

    Obecne k parsovani: Prave ze nefunguje. Lepe receno, zablokuje jakoukoliv IP, z ktere se alespon jednou nepodarilo prihlasit.

    Pokud byste chtel (a asi chtel) robusnejsi reseni, musel byste pocitat pocet selhani (napr. pouzit uniq -c) za jednotku casu (to uz zavani datumovou aritmetikou). A taky musel vyresit opetovne odblokovani po urcite dobe (v primitvni podobne by stacil jednou dene flush ipt chainu). Dal pokud pouzivate vice IP protokolu, musel byste rozlisovat IPv4 a IPv6 (iptables a ip6tables jsou oddeleny).

    A vymyslet kolo nema smysl. Proto existuje PAM modul, ktery muzete nasadil na libovolnou sluzbu.
    7.6.2005 14:12 Radek Hladik | skóre: 20
    Rozbalit Rozbalit vše Re: Pársování logů
    AD DB) Pro muj RH9 je pouze db4-devel. Zkousel jsem nainstalovat i compat-db-cosi.rpm, ale ten nainstaloval jenom knihovny, nikoliv hlavicky nebo zdrojaky. A instalovat BerkeleyDB ze zdrojaku se mi moc nechcelo, nerad bych neco zkonil... :)

    AD parsovani)

    sort | uniq -c | sort -n -r | grep -v '^[^0-9]*[0-9][^0-9]' |

    Ac to nevypada pekne, tak je to presne to, ze to nalezene IP vezme, seradi, spocita vyskyty (uniq -c) a vyhazi vsechny, ktere maji pocet chybnych pokusu 0-9. Takze k zablokovani dochazi az po 10 spatnych pokusech.

    Co se casoveho meritka tyce, tak to je vyreseno tim, ze se zdrojove logy rotuji, takze casem (typicky po 7 dnech) IP adresa ze seznamu odstrani (pri kazdem zavolani na zacatku ten chain Flushnu a znova cely vytvorim). Pripadne by se to dalo vyresit tim, ze bych tam dal nejaky tail -n 2000 a bral treba jen poslednich 2000 radku z logu (pak bych asi jeste musel upravit jejich poradi). Uznavam, ze jsou to fuj-fuj berlicky, ale lepsi nez dratem do oka, ne? Ipv6 zatim nepouzivam a pokud vubec nekdy budu, tak toho budu muset resit vyrazne vic :)

    Samozrejme, ze bych radsi pouzil uz udelany kolo, ale kdyz mi nejde nasadit na moje auto. A nez do nej busit kladivem, aby sedlo a pak mi nekde upadlo.... :)
    Mikos avatar 7.6.2005 05:01 Mikos | skóre: 34 | blog: Jaderný blog | Praha
    Rozbalit Rozbalit vše Děkuji!
    Moooc vám děkuji za tuhle informaci! Přesně něco takového jsem asi před půl rokem hledal, ale nic sem nenašel a v různých fórech se mi jen dostalo odpovědí jako že to co chci je špatné řešení, protože by toho útočník mohl využít k cílenému zablokování IP adres, atp. To mě ale vubec nepálí, prostě sem to přesně tak chtěl! ;-) Nicméně tenkrát sem se prostě spokojil s tím že nic takového pro linux není a dál po tom nepátral.

    Takže ještě jednou moc děkuji! Tohle je skvělá věc...
    CETERUM CENSEO DRM ESSE DELENDAM Ostatně soudím, že DRM musí být zničeno!
    7.6.2005 08:00 digri | skóre: 12 | blog: digri
    Rozbalit Rozbalit vše blog vs clanek
    tohle by si zaslouzilo tez vyjit jako clanek, at to tu nezapadne :-)
    14.6.2005 19:50 arTee
    Rozbalit Rozbalit vše pam_abl a debian
    Ahoj, nejak nemuzu rozchodit pam_abl v debianu. Vlozil jsem nasledujici radek do /etc/pam.d/ssh (/etc/pam.d/sshd v debianu neni):

    auth required /lib/security/pam_abl.so \ config=/etc/security/pam_abl.conf

    a nevypada to, ze by se to chytalo... Ani se nevytvori databaze v /var/lib/abl :( Logy toho taky moc nenapovi... Kompiloval jsem to oproti db4.3... Nevite jak na to?

    Dik moc Roman
    23.6.2005 16:20 petr_p
    Rozbalit Rozbalit vše Re: pam_abl a debian
    Mate openssh kompilovane s podporou PAM? Mate povoleno pouziti PAMu v sshd_config? Mate v /etc/securit/pam_abl.conf uvedene cesty k databazovym souborum?

    Pripadne si puste sshd v ladicim rezimu bez odpojeni od terminalu. Pripadne jej stracnete. Tam se urcite dozvite, co to dela. A kdyz si domyslite, co by to delat melo, tak budete vedet, co to nedela.
    26.9.2005 15:00 Kamil | skóre: 18 | blog: bejkarny
    Rozbalit Rozbalit vše Re: pam_abl a debian
    Máte povoleno ChallengeResponseAuthentication v sshd_config? PasswordAuthentication zakažte. Mně to tak funguje v pohodě na sarge s db 4.3
    26.9.2005 15:57 Kamil | skóre: 18 | blog: bejkarny
    Rozbalit Rozbalit vše Re: pam_abl a debian
    ehm, omlouvám se, samozřejmě že to tak funguje, ale zmínka o ChallengeResponseAuthentication v článku dává najevo za jakých podmínek.
    2.2.2009 19:35 snog
    Rozbalit Rozbalit vše Nebo nepatri oblubencom :D

    Doporucujem nechat otvorenu aspon jednu sesnu. :D

    ...Vypadalo to tak jednoducho, :) bohuzial neviem cim to je ale nefunguje...

    No nic aspom mam dovod sa poprechadzat na opacnu stranu Prahy. :D

    PS: Bezpecnost ssh zabespecena. :D

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.