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 22:33 | Nová verze

    Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.

    Ladislav Hagara | Komentářů: 0
    včera 17:44 | Zajímavý článek

    Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.

    karkar | Komentářů: 0
    včera 12:11 | Humor

    Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).

    Ladislav Hagara | Komentářů: 2
    včera 10:44 | IT novinky

    Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.

    Ladislav Hagara | Komentářů: 22
    včera 09:55 | IT novinky

    Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.

    Ladislav Hagara | Komentářů: 2
    včera 09:33 | IT novinky

    Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.

    Ladislav Hagara | Komentářů: 0
    včera 08:11 | Nová verze

    Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    29.4. 20:55 | Nová verze

    Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.

    Ladislav Hagara | Komentářů: 0
    29.4. 16:22 | Nová verze

    Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    29.4. 15:55 | Pozvánky

    Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových

    … více »
    Zdenek H. | Komentářů: 2
    Jaký filesystém primárně používáte?
     (58%)
     (1%)
     (9%)
     (21%)
     (4%)
     (1%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 494 hlasů
     Komentářů: 19, poslední včera 11:32
    Rozcestník

    Ochrana proti SSH útoku: pam_abl

    6.6.2005 18:11 | Přečteno: 3256× | 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.