Autentizace ke sdíleným složkám využívajících protokol SMB

Autentizace ke sdíleným složkám využívajícím SMB protokol

Využití autentizačních mechanismů pro přístup ke sdíleným složkám závisí na podporované verzi SMB protokolu a podporovaných mechanismech operačního systému. Jedná se o pokračování článku na téma Sdílení souborů v sítích Windows.

Přehled autentizačních metod pro přístup k úložištím využívajícím SMB protokol

Volba možných technologií sdílení dat v prostředí sítí Windows je velice úzce spojena s přihlašováním a použitými přihlašovacími mechanismy. Pokud se volí technologie sdílení, přesněji použitá verze sdílení, je nutné zvážit i jaké technologie přihlašování budou použité. Některé z těchto technologií již dnes nejsou dostatečně bezpečné, některé z nich jsou přímo kriticky slabé. Zde uvedená tabulka ukazuje, které systémy podporovaly jaké metody přihlášení. Aby se poukázalo na slabiny těchto mechanismů, je uveden celý vývoj včetně dávné historie. Je potřeba si uvědomit, že mechanismy staré již téměř půl století v dnešní době nemohou obstát a jsou pro útočníky spolehlivou cestou do systému.

Operační systém Preferovaný Nedoporučený Zakázaný
MS-DOS 3.0 + Microsoft Network Client (1985) LANMAN - -
OS/2 1.2 (1988) LANMAN - -
Windows for Workgroups 3.1 (1992) LANMAN - -
Samba 1.x (1992) LANMAN - -
Windows 3.11 for Workgroups (1993) LANMAN - -
Windows NT 3.1 (1993) LANMAN
NTLMv1
- -
Windows NT 3.5 (1994) LANMAN
NTLMv1
- -
Windows NT 3.51 (1995) LANMAN
NTLMv1
- -
Windows 95 (1995) LANMAN - -
Windows NT 4.0 (1996) NTLMv1
NTLMv2 (SP4)
LANMAN -
Samba 2.0 (1996) NTLMv1 LANMAN -
Windows 98 (1998) NTLMv1 LANMAN -
Windows ME (2000) NTLMv1 LANMAN -
Windows 2000 (2000) NTLMv1
NTLMv2
Kerberos
LANMAN -
Windows XP (2001) NTLMv1
NTLMv2
Kerberos
LANMAN -
Windows Server 2003 (2003) NTLMv2
Kerberos
SAML
NTLMv1 LANMAN
Samba 3.0 2003 (2003) NTLMv2
Kerberos
NTLMv1
LANMAN
-
Windows Vista (2006) NTLMv2
Kerberos
SAML
NTLMv1 LANMAN
Windows Server 2008 (2008) NTLMv2
Kerberos
SAML
NTLMv1 LANMAN
Windows 7 (2009) NTLMv2
Kerberos
SAML
NTLMv1 LANMAN
Windows Server 2008 R2 (2009) NTLMv2
Kerberos
SAML
NTLMv1 LANMAN
Windows 8 (2012) NTLMv2
Kerberos
MS Account
SAML
NTLMv1 LANMAN
Windows Server 2012 (2012) NTLMv2
Kerberos
MS Account
SAML
NTLMv1 LANMAN
Samba 4.0 (2003) NTLMv2
Kerberos
- NTLMv1
LANMAN
Windows 8.1 (2013) NTLMv2
Kerberos
MS Account
SAML
NTLMv1 LANMAN
Windows Server 2012 R2 (2013) NTLMv2
Kerberos
MS Account
SAML
Hello
NTLMv1 LANMAN
Windows 10 (2015) NTLMv2
Kerberos
MS Account
SAML
Hello
- LANMAN
NTLMv1
Windows Server 2016 (2016) NTLMv2
Kerberos
MS Account
SAML
Hello
- LANMAN
NTLMv1
Windows Server 2019 (2018) NTLMv2
Kerberos
MS Account
SAML
Hello
- LANMAN
NTLMv1
Windows 11 (2021) NTLMv2
Kerberos
MS Account
SAML
Hello
- LANMAN
NTLMv1
Windows Server 2021 (2022) NTLMv2
Kerberos
MS Account
SAML
Hello
- LANMAN
NTLMv1

Zhodnocení podpodovaných metod vůči jednotlivým verzím protokolů

Jak je vidět, že některé metody jsou relativně staré a začalo se od nich naštěstí odcházet. Zpravidla byly příčinou bezpečnostní problémy a vývoj v oblasti kryptografie. Dále budou popisovány jednotlivé algoritmy, jejich vlastní vývoj a vlastnosti. Algoritmy jako je SAML, Microsoft Account, Microsoft Hello budou v tomto článku cíleně opomíjeny, protože je nelze přímo použít pro přístup ke sdíleným složkám. Zpravidla se používají pro další služby a řízení přístupu je řešeno zprostředkovaně pomocí mechanismů NTLMv2 nebo Kerberos. Obecně tedy lze na základě dostupných informací tvrdit o podpoře autentizačních mechanismů přibližně následující.


Verze protokolu Podporované mechanismy
SMB1 LANMAN
NTLMv1
CIFS LANMAN
NTLMv1
SMB2 NTLMv1
NTLMv2 (pokud není možné použít Kerberos)
Kerberos
SMB3 NTLMv1 (nedoporučeno)
NTLMv2 (pokud není možné použít Kerberos)
Kerberos

Mechanismus LANMAN

Jednou z nejstarších metod pro autentizaci uživatelů v síti je LANMAN. Tato metoda použila šifrovací algoritmus DES, který v té době patřil mezi nejlepší algoritmy. Bohužel zároveň se tím vytvořila jedna z velkých slabin, kterou algoritmus má. Na příkladu tohoto algoritmu je nutné rozlišovat mezi kryptografickým mechanismem LMHash a autentizační metodou LANMAN. Vlastní autentizační metoda prošla dlouhým vývojem a od Windows NT 4.0 již není doporučovaná. Jednotlivé verze byly:


Verze Rok Operační systém
MS LAN Manager 1.0 Basic/Enhanced 1987 MS-DOS 3.0
MS LAN Manager 1.1 1989 OS/2
MS LAN Manager 2.0 1991 MS-DOS 5.0
MS LAN Manager 2.1 1991 Windows for Workgroup 3.1
MS LAN Manager 2.1a 1992 Windows for Workgroup 3.11
MS LAN Manager 2.2 1993 Windows NT 3.1
MS LAN Manager 2.2a 1994 Windows NT 3.5

Autentizace:
Negotiate (Client –> Server): Send U=Username
Challenge (Server –> Client): Send C=Challenge
Authenticate (Client –> Server): Send Encrypted DES(Key=LMhash, C)

Mezi největší slabiny autentizačního schématu:

  • Příliš krátká challenge.
  • Chybí sůl (např. uživatelská challenge), zajišťující odlišení hesel mezi jednotlivými uživateli.
  • Nemá ochranu proti relay útoku.
  • Nemá ochranu proti replay útoku, částečnou ochranu vytváří pouze challenge poskytnutá serverem.
  • Chybí obousměrná autentizace (mutual authentication).
  • Nemá ochranu proti MITM útoku.
  • Nepodporuje MFA.

LMhash=DESeach7B(DOSCHARSET(UPPERCASE(password)),"KGS!@#$%")

Vlastní funkce LMhash, která je v autentizační metodě použitá, má následující problémy:

  • Uživatelské heslo je klíčem pro DES algoritmus. Protože DES má 56b nikoliv 64b heslo, je uživatelský vstup vždy 7B/56b namísto 8B nebo 14B/112b namísto 16B. Osmý byte hesla pro DES je vždy prázdný (0x00).
  • Heslo delší než 14 znaků není možné, algoritmus ho nepodporuje.
  • Heslo může obsahovat některé speciální znaky, čísla, mezeru a velká písmena. Malá písmena se převádí na velká. To znamená 26 znaků (A-Z), 10 číslic (0-9) a 10 speciálních znaků. Celkem je tedy možné dosáhnout maximálně 78b entropie vstupu pro 14 znakové heslo. To odpovídá přibližně 10 znakovému heslu bez uvedených omezení rozsahu vstupu.
  • Na heslo kratší než 8 znaků je možné zaútočit a spočítat původní vstup, nebo je hesla rozdělit na dvojice 8B výstupů a hodnoty hesla spočítat.
  • Pro hesla o délce 8 a více znaků je možné použít duhové tabulky (Rainbow table). Je možné je použít i pro kratší hesla.
  • Algoritmus není jednosměrný a dovoluje tak spočítat i původní heslo uživatele.

Mechanismus NTLMv1

Algoritmus NTLMv1 (původně pouze NTLM) byl určen jako náhrada původního a slabého algoritmu LANMAN pro autentizaci. Ten měl mnoho chyb a snahou bylo nahradit algoritmus DES spolu s reverzibilním šifrováním jednosměrnou hash funkcí a odstranit největší neduhy tohoto způsobu přihlašování. Z tohoto důvodu byl vyvinut algoritmus NTLM, který bohužel přebíral většinu neduhů z původního mechanismu. Výrazným kladem bylo rozšíření hesla, bohužel stále nebyla ochrana proti některým typům útoků. Výsledek hash funkce je 128b výstup, který se prodloužením o 5 nulových Bajtů stává 168b blokem. Ten je možné rozdělit na 3x56b, tedy velikost odpovídající klíčovému materiálu pro DES. Vlastní autentizační algoritmus se chová téměř stejně a má stejné chyby jako algoritmus LANMAN.


Negotiate (Client –> Server): Send U=Username
Challenge (Server –> Client): Send CS=Challenge (8B Server challenge)
K1 || 0x00 || K2 || 0x00 || K3 || 0x00, 0x00, 0x00 = NTLM-Hash
RC = DES(K1,SC) || DES(K2,SC) || DES(K3,SC)
Authenticate (Client –> Server): Send RC

Vlastní jádro autentizačního mechanismu NTLMhash má zápis:
NTLMhash=MD4(UTF-16-LE(password))

Mezi největší slabiny autentizačního schématu:

  • Příliš krátká challenge.
  • Chybí sůl (např. uživatelská challenge), zajišťující odlišení hesel mezi jednotlivými uživateli.
  • Nemá ochranu proti relay útoku.
  • Nemá ochranu proti replay útoku, částečnou ochranu vytváří pouze challenge poskytnutá serverem (PtH - pass the hash).
  • Chybí obousměrná autentizace (mutual authentication).
  • Nemá ochranu proti MITM útoku.
  • Nepodporuje MFA.

Mechanismus NTLMv2

Až teprve NTLMv2 vyřešil část problémů s původními mechanismy. Bohužel se objevil v době, kdy přišly na scénu útoky na MD5. Zatím sice nedošlo k prolomení HMAC funkce založené na MD5, na druhou stranu bylo jasné, že tento postup je jenom jakási znouzecnost. Přesto je dodnes uvedený mechanismus jedním ze základních autentizačních schémat a pokud není k dispozici jiná metoda autentizace, tak i postup jediný.


Mezi největší slabiny autentizačního schématu:

  • Příliš krátká challenge.
  • Nemá ochranu proti relay útoku.
  • Nemá ochranu proti replay útoku, částečnou ochranu vytváří pouze challenge poskytnutá serverem (PtH - pass the hash)
  • Chybí obousměrná autentizace (mutual authentication).
  • Nemá ochranu proti MITM útoku.
  • Nedostatečná podpora MFA

Negotiate (Client –> Server): Send U=Username
Challenge (Server –> Client): Send CS=Challenge (8B Server challenge)
CC = 8-byte client challenge, random
CT = (version, time, CC, domain name)
NTLMv2hash = HMAC-MD5(NTLMhash, User Name||Domain Name)
LMv2 = HMAC-MD5(NTLMv2hash, SC, CC)
NTv2 = HMAC-MD5(NTLMv2hash, SC, CT)
RC = LMv2 || CC || NTv2 || CT
Authenticate (Client –> Server): Send RC


Vlastní jádro autentizačního mechanismu se opět opírá o původní algoritmus NTLMhash, který je upraven pomocí další vrstvy ochrany. Ta je řešená díky HMAC-MD5 a pro zajištění vztahu mezi heslem a uživatelským účtem dochází k navázání na uvedené informace. Objevuje se tu i jednoduchá forma ochrany před replay attack za pomoci časové značky.
NTLMv2hash=HMAC-MD5(NTLMhash, user name||domain name)
Rozepsaný zápis potom jako:
NTLMv2hash=MD5(MD4(UTF-16-LE(password)) 0x5c5c..5c,
                  MD5(MD4(UTF-16-LE(password))
0x3636..36,username||domain name))

Příchod Active Directory a mechanismus Kerberos

Historie protokolu Kerberos se začala psát v roce 1983 jako interní projekt pro ověřování v rámci MIT. První tři verze byly použity pouze interně. Následně v rámci projektu Athena [7] vznikla verze 4. Tu napsali Steve Miller a Clifford Neuman, uvolnili ji 24.ledna 1989. Kvůli exportním omezením nebylo možné použít algoritmus DES a proto byly v zahraničí vytvořeny další verze. U jedné z nich byl autorem Eric Young a byla vytvořena v Austrálii, druhá byla vytvořena ve Švédsku (KTH-KRB). V roce 2006 byl oznámen konec podpory algoritmu DES a tím došlo k ukončení podpory Kerberos v4. V roce 1993 vyšel Kerberos v5, jehož autoři byl opět Clifford Neman a spolu s ním John Kohl. Jeho rozšíření v roce 2005 odstranilo podporu algoritmu DES, RC4-HMAC-EXP a dalších zranitelných algoritmů, na druhou stranu přidalo podporu pro algoritmus AES. V současnosti vývoj zastřešuje konsorcium Kerberos [8] a MIT Kerberos konsorcium [9].
Kerberos byl zcela nový přístup k problému autentizace do systému, který byl použit poprvé v Active Directory systému Windows 2000. Přesněji, Microsoft ho zde poprvé použil. Jedná se prakticky o implementaci Kerberos 5 s některými omezeními, které jsou dané podporovanými kryptografickými algoritmy. Mimo vysvětlení jak tento protokol pracuje je důležité i upřesnění, jak přesně protokol Kerberos v prostředí Microsoft Windows využívá určitá nastavení a specifické sady kryptografických protokolů. Základní popis je vcelku jednoduchý. V rámci ověření se uživatel identifikuje autentizační službě (AS – Authentication Server). Protože uživatel i autentizační služba znají přihlašovací údaje, server vytvoří klíč služby (token) pro (TGS – Ticket Granting Server), šifrovaný za pomocí tajného klíče klienta (heslo nebo údaj odvozený od hesla). Na základě tohoto klíče uživatel může dešifrovat důležité údaje, které mu umožní komunikovat s TGS. Ten následně přidělí tiket pro autentizaci mezi klientem a serverem a poskytuje informace důležité pro spolupráci. Pro představu jak tento protokol pracuje je vhodné si projít jednotlivé kroky komunikace, zdrojové soubory síťové komunikace je možné stáhnout na webu Wireshark, sekce Kerberos [10].

Komunikace mezi jednotlivými účastníky probíhá po portu UDP/88 a TCP/88. Mezi největší slabiny autentizačního schématu patří:

  • Slabé, dnes nedoporučované algoritmy pro zajištění integrity zprávy - CRC32, MD5, SHA1.
  • Slabé, dnes nedoporučované algoritmy pro zajištění důvěrnosti zprávy - DES, 3DES, RC2, RC4.
  • Exportni verze algoritmů s cíleně oslabenými mechanismy (40b heslo, oříznuté výstupy hash funkcí).
  • Možnost zneužití hashí hesel:
    • PtH - pass the hash
    • Oth - Overpass the hash
    • PtT - Pass the Ticket
    • PtC - Pass the Cache)
  • Chybí obousměrná autentizace (mutual authentication).
  • Nemá ochranu proti MITM útoku.
  • Nedostatečná podpora MFA.

Kerberos Protokol

Důležité informace:

  • AS - Authentication Service je služba, která je součástí KDC. V případě Active Directory se zpravidla jedná o DC (Domain Controller). Jedná se o první hlavu Kerbera.
  • TGS - Ticket Granting Service je služba, používaná pro přidělování tiketu. Prakticky druhá hlavu Kerbera.
  • AP - Application Server nebo jenom server, nabízí službu požadovanou uživatelem. Jde o třetí Kerberovu hlavu.
  • KDC - Key Distribution Center, obsahuje AS a TGS.
  • PAC - Privilege Attribute Certificate ke struktura používané v téměř každém tiketu a je podepsaná pomocí KDC klíče.
  • TGT - Ticket Granting Ticket je tiket, kterým se prokazuje na KDC pro získání informací od TGS. TGT je šifrováno pomocí KDC klíče.
Klíčový materiál:
  • Uživatelský klíč (KC, KeyClient) - je v případě Active Directory odvozen od NTLM hashe nebo se jedná přímo o NTLM hash.
  • TGS klíč (KTGS, KeyTicket Grantig Service) - také KDC nebo krbtgt key (účet krbtgt), v případě Active Directory je odvozen od NTLM hashe účtu (uživatele nebo služby).
  • AP klíč (KAP, KeyAPplication server) - klíč služby, účtu služby nebo stroje, je odvozen od NTLM hashe nebo se jedná přímo o NTLM hash.
  • KTS klíč / klíč relace (KTS, KeyTicket Session) - je náhodně generován TGS a označuje se jako Session Key.
  • KSS klíč / klíč relace služby (KSS, KeyService Session) - je generována na základě časové značky. Ve většině dokumentů se označuje jako KCS nebo Service Session Key

Rozpis vyměňovaných zpráv:

  • S1: AS REQUEST, součást dotazu klienta na AS.
           IDClient||TimestampClient||NonceClient
  • R2: AS REPLY, součást odpovědi AS.
           KKTS=Enc(KClient,KKTS)
  • R3: AS REPLY, součást odpovědi AS.
           TGT=Enc(KTGS,IDClient||KClient||Lifetime||..)
  • S4: TGS REQUEST, součást zprávy na TGS.
           Enc(KTGS, TGT) - kopie šifrovaného TGT ticketu z předchozího kroku
  • S5: TGS REQUEST, součást zprávy na TGS.
           Enc(KTS, IDClient||Timestamp||..)||IDServer||NonceClient
  • R6: TGS REPLY, součást odpovědi TGS.
           Enc(KAP, KSS)
  • R7: TGS REPLY, součást odpovědi TGS.
           Enc(KTS, IDClient||KSS||Lifetime||..)
  • S8: AP REQUEST, součást zprávy na aplikační server.
           Enc(KAP, KSS) - kopie Session klíče z předchozího kroku
  • S9: AP REQUEST, součást zprávy na aplikační server.
           Enc(KSS, IDClient||Timestamp)
  • R10: AP REPLY, součást odpovědi aplikačního serveru. K této odpovědi dochází pouze v případě oboustranné autentizace (mutual authentication)
           Enc(KSS, TimestapmServer)
  • S10: PAC VALIDATION REQUEST, součást volitelného ověření klienta aplikačním serverem na TGS. Zpravidla se nepoužívá.
           Enc(KAP, PAC Signature||PAC Info||TGT||Timestamp)
  • R11: PAC VALIDATION RESPONSE, součást volitelné odpovědi TGS na aplikačním server. Zpravidla se nepoužívá.
           Enc(KAP, Validated PAC Signature||Validated PAC Attributes||Timestamp)
  • V případě, pokud je použito defaultní nastavení, tj. není nastavena politika šifrování komunikace, používá se algoritmus RC4-HMAC, jinak také RC4-HMAC-MD5. Ono to není zcela pravda, na začátku se používaly algoritmy DES. U Kerberos komunikace to lze poznat například v programu Wireshark při analýze komunikace dle hodnoty etype 23, v případě exportu do textového tvaru zpravidla dle úvodního řetězce „23/0x17h“. Poznámka na okraj, DES používal hodnoty etype "1/0x01h" a "3/0x03h". Za této podmínky dochází k použití NTLMhash uživatelského hesla jako klíče pro šifrování. To zároveň znamená problém, a to hlavně díky útokům na RC4, kterou je dnes možné zlomit v intervalu okolo 12sec. Dále, protože se zde nepoužívá se žádný generátor hesel, solí nebo nonce, proces ověření díky tomu probíhá extrémně nešťastným způsobem s možností získat uživatelská hesla.

    Pokud je nastavena politika šifrování, ale nejsou splněny další podmínky (tedy není functional Forest Level alespoň na úrovni Active Directory version 2012 a uživatelé nejsou v odpovídající user security group „Protected Users“), dochází sice k šifrování pomocí algoritmu AES, ale stále se používá jako heslo NTLMhash. V těchto případech je použit identifikátor ticketu „17/0x11h“ nebo „18/0x12h“, ale není možné bez další analýzy odlišit kvalitu a nepředvídatelnost klíčového materiálu.

    Pokud je nastavena politika šifrování a jsou splněny podmínky (functional Forest Level alespoň na úrovni Active Directory version 2012 a uživatelé jsou v security group „Protected Users“), dochází k šifrování pomocí algoritmu AES a klíčový materiál se odvozuje od NTLMhash a dalších informací. Pro generování se používá funkce KDF (PBKDF2 dle RFC 3962, section 4), která dovoluje vytvořit pseudonáhodný a nepředvídatelný klíčový materiál pro šifrování tokenu. Tím je zajištěna vyšší bezpečnost ochrany. Tyto tokeny mohou mít hodnoty „17/0x11h“, „18/0x12h“, „19/0x13h“ nebo „20/0x14h“. V rámci derivace klíčového materiálu se jako passphrase používá stále NTLMhash, který dovoluje pomocí PBKDF2 odvodit dočasný klíč. Jako hash funkce se na starších systémech používá zpravidla HMAC-SHA1, na novějších pak HMAC-SHA2. Počet iterací algoritmu je nastaven na 32768 iterací, tuto hodnotu je naštěstí možné změnit (zvětšit). Hodnota keylenght se liší dle použití AES-128 (128b) a AES-256 (256b).

    tkey = random2key(PBKDF2(passphrase, salt, iter_count, keylength))
    key = DK(tkey, "kerberos")

    Poslední možností, která je v současnosti k dispozici je nastavení politiky šifrování a splnění rozšířených podmínek (functional Forest Level alespoň na úrovni Active Directory version 2019, uživatelé jsou v security group „Protected Users“ a je zvolena KDF2 funkce pro generování náhodného klíčového materiálu). V tomto případě dochází k šifrování pomocí algoritmu AES a klíčový materiál se odvozuje od NTLMhash a dalších informací, kdy se pro generování používá funkce KDF2 [6]. Ta dovoluje vytvořit pseudonáhodný a nepředvídatelný klíčový materiál pro šifrování tokenu novějším přístupem, založeným na standardech IEEE Std 1363-2000, ANSI X9.42 (KDF1) a ISO 18033-2 (KDF2). Tyto tokeny mohou mít hodnoty pro šifrovací sady „17/0x11h“, „18/0x12h“, „19/0x13h“ nebo „20/0x14h“. Derivace klíčového materiálu stále využívá hodnotu NTLMhash, který dovoluje pomocí KDF2 odvodit dočasný klíč. Jako hash funkce se používá HMAC-SHA2. Počet iterací algoritmu je nastaven na 32768 iterací, tuto hodnotu je stejně jako v předchozím případě možné změnit. Hodnota keylenght se liší dle použití AES-128 (128b) a AES-256 (256b).

    Povolení KDF2:
    Set-AdfsProperties -KdfV2Support enable

    Popis funkce KDF2:
    KDF2=hash(input||I2OSP(1,4))||.….||hash(input||I2OSP(k,4))
    kde
    k=[l/délka výstupu hash funkce]

    Popis funkce I2OSP
    I2OSP je Integer to Octet String Conversion Primitive (Victor Shoup, I2OSP[6]). V tomto případě dochází k výběru 4B hodnoty ze vstupního textu (l=4), které se považují za číslo a následně je s nimi nakládáno jako s číslem. KDF2 vytváří sérii hodnot rozšiřující vstup.

    Přehled existujících a podporovaných kryptografických algoritmů v Active Directory, protokol Kerberos. Podpora označená AnoV (s výhradou) znamená označení algoritmu za zastaralý a nevyhovující, zpravidla je nutné ho zapnout manuálně. Dostupnost takového protokolu je pouze pro účely kompatibility. Postup změny nastavení je velice dobře popsán např. na webu Samuraj [11].

    Kód Algoritmus 2000 2003 2008 2012 2016 2019 2022
    0x01hdes-cbc-crc (slabé) Ano Ano AnoV AnoV AnoV AnoV AnoV
    0x02hdes-cbc-md4 (slabé) - - - - - - -
    0x03hdes-cbc-md5 (slabé) Ano Ano AnoV AnoV AnoV AnoV AnoV
    0x04hreserved (slabé) - - - - - - -
    0x05hdes3-cbc-md5 (slabé) - - - - - - -
    0x06hreserved (slabé) - - - - - - -
    0x07hdes3-cbc-sha1 (slabé) - - - - - - -
    0x09hDSAWithSHA1-CmsOID - - - - - - -
    0x0ahMD5WithRSAEncryption-CmsOID - - - - - - -
    0x0bhSHA1WithRSAEncryption-CmsOID - - - - - - -
    0x0chrc2-cbc-sha1 (slabé) - - - - - - -
    0x0dhRSAEncryption-EnvOID - - - - - - -
    0x0ehRSAES-OAEP-EnvOID - - - - - - -
    0x0fhdes-ede3-cbc (slabé) - - - - - - -
    0x10hdes3-cbc-sha1-kd (slabé) - - - - - - -
    0x11haes128-cts-hmac-sha1-96 (zastaralé) - - Ano Ano Ano Ano Ano
    0x12haes256-cts-hmac-sha1-96 (zastaralé) - - Ano Ano Ano Ano Ano
    0x13haes128-cts-hmac-sha256-128 - - - - Ano Ano Ano
    0x14haes256-cts-hmac-sha384-192 - - - - Ano Ano Ano
    0x17harcfour-hmac / rc4-hmac (slabé) - Ano Ano Ano AnoV AnoV AnoV
    0x18harcfour-hmac-ext / rc4-hmac-exp (40b key, slabé) - - - - - - -
    0x19hcamellia128-cts-chmac - - - - - - -
    0x20hcamellia256-cts-cmac - - - - - - -
    0x41hsubkey-keymaterial - - - - - - -

    Poznámka: AnoV (s výhradou) znamená označení mechanismu jako výběhového a může být nutné ho samostatně povolit.

    Konfigurace krb5.conf v prostředí Linux

    V případě kerberos klienta v sítích, kde je AD kontroler ještě není na Windows 2019, ale je odpovídajícím způsobem nastaven, je možné použít konfiguraci podporující alespoň oslabenou implementaci využívající AES. Soubor krb5.conf pak může obsahovat:

    [libdefaults]
    default_tkt_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96
    default_tgs_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96
    permitted_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96
    allow_weak_crypto = false


    Pokud je AD kontroler na Windows 2019+ a je odpovídajícím způsobem nastaven, je možné použít konfiguraci využívající AES ve všech podobách. Soubor krb5.conf pak může obsahovat:

    [libdefaults]
    default_tkt_enctypes = aes256-cts-hmac-sha384-192 aes128-cts-hmac-sha256-128 aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96
    default_tgs_enctypes = aes256-cts-hmac-sha384-192 aes128-cts-hmac-sha256-128 aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96
    permitted_enctypes = aes256-cts-hmac-sha384-192 aes128-cts-hmac-sha256-128 aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96
    allow_weak_crypto = false


    A konečně, pokud v síti neexistují starší systémy než Windows 11 a Windows 2019, systém má odpovídajícím způsobem nastavené politiky bezpečnosti, je patrně nejrozumějším řešením nastavit systém pro použití dostatečně odolných implementací šifrovacích sad založených nad AES. Soubor krb5.conf pak může obsahovat:

    [libdefaults]
    default_tkt_enctypes = aes256-cts-hmac-sha384-192 aes128-cts-hmac-sha256-128
    default_tgs_enctypes = aes256-cts-hmac-sha384-192 aes128-cts-hmac-sha256-128
    permitted_enctypes = aes256-cts-hmac-sha384-192 aes128-cts-hmac-sha256-128
    allow_weak_crypto = false


    Soubor krb5.conf obsahuje defaultně šifrovací sady:
    permitted_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 des3-cbc-sha1 arcfour-hmac-md5 camellia256-cts-cmac camellia128-cts-cmac des-cbc-crc des-cbc-md5 des-cbc-md4

    Závěr

    V současnosti nemá smysl používat staré autentizační mechanismy jako je LANMAN a NTLMv1. Tyto mechanismy nejsou schopné zaručit ochranu a zároveň představují výraznou komplikaci pro snahy o zabezpečení systémů. V případě využití uvedených mechanismů pro přístup ke sdíleným složkám pak uvedené mechanismy jsou schopné zajistit ověření uživatelů pouze na desítky let starých protokolech.
    Aktuální mechanismy jako je Kerberos a NTLMv2 (v případech kdy není možné použít Kerberos) je možné v případě správného nastavení využívat pro přístup k souborům. Přestože systémy dnes nabízí další formy ověřování jako je Hello, SAML nebo Microsoft Account, ty není možné použít pro lokální ověření na síti. Vždy zprostředkovaně využívají již uvedené mechanismy.

    Reference:

    1. Kerberos and Windows Security: History.
      Zdroj: https://medium.com/
    2. Kerberos v5 Related Specs and RFCs.
      Zdroj: https://medium.com/
    3. Kerberos and Windows Security: Kerberos v5 Protocol.
      Zdroj: https://medium.com/
    4. Kerberos Wireshark Captures: A Windows Login Example.
      Zdroj: https://medium.com/
    5. Kerberos cheatsheet.
      Zdroj: https://github.com/
    6. Victor Shoup - FCD 18033-2.
      Zdroj: https://www.shoup.net/
    7. Project Athena
      Zdroj: https://news.mit.edu/
    8. Konsorcium Kerberos
      Zdroj: https://kerberos.org
    9. Konsorcium MIT Kerberos
      Zdroj: https://kit.mit.edu/
    10. Wireshark packet capture
      Zdroj: https://wiki.wireshark.org/
    11. Samuraj: Deaktivace RC4
      Zdroj: https://www.samuraj-cz.com/
    12. Microsoft Windows Authentication Services System Overview
      Zdroj: https://www.microsoft.com/
    13. Kerberoasting
      Zdroj: https://github.com/

    Autor článku:

    Jan Dušátko
    Jan Dušátko

    Jan Dušátko se počítačům a počítačové bezpečnosti věnuje již skoro čtvrt století. V oblasti kryptografie spolupracoval s předními odborníky např. s Vlastimilem Klímou, či Tomášem Rosou. V tuto chvíli pracuje jako bezpečnostní konzultant, jeho hlavní náplní jsou témata související s kryptografií, bezpečností, e-mailovou komunikací a linuxovými systémy.

    1. Úvodní ustanovení

    1.1. Tyto všeobecné obchodní podmínky jsou, není-li ve smlouvě písemně dohodnuto jinak, nedílnou součástí všech smluv týkajících školení, pořádaných nebo poskytovaných školitelem, Jan Dušátko, IČ 434 797 66, DIČ 7208253041, se sídlem Pod Harfou 938/58, Praha 9, zapsané u Úřadu městské části Praha 9 (dále jen „školitel“).
    1.2. Smluvními stranami ve všeobecných obchodních podmínkách jsou míněni školitel a objednatel, kdy objednatel může být zároveň zprostředkovatelem smluvního vztahu.
    1.3. Záležitosti, které nejsou upravené těmito obchodními podmínkami, se řeší podle Občanského zákoníků, tj. zákon č. 89/2012 Sb.

    2. Vznik smlouvy přihlášením ke kurzu

    2.1. Přihláškou se rozumí jednostranný úkon objednatele adresovaný školiteli prostřednictvím datové schránky s identifikací euxesuf, e-mailu na adresu register@cryptosession.cz nebo register@cryptosession.info, internetových stránek cryptosession.cz, cryptosession.info nebo kontaktním telefonem +420 602 427 840.
    2.2. Odesláním přihlášky objednatel souhlasí s těmito všeobecnými podmínkami a prohlašuje, že se s nimi seznámil.
    2.3. Přihláška se považuje za přijatou momentem potvrzení (stadnardně do 2 pracovních dní) školitelem nebo zprostředkovatelem. Toto potvrzení je zasláno do datové schránky nebo na kontaktní e-mail.
    2.4. Standardní doba pro přihlášení je nejpozději 14 pracovních dní před konáním vzdělávací akce, pokud není uvedeno jinak. V případě fyzické nepodnikající osoby musí být objednávka alespoň 28 pracovních dní před konáním vzdělávací akce.
    2.5. Na jednu přihláškou lze přihlásit i více než jednoho účastníka.
    2.6. Pokud je více než 10 účastníků od jednoho objednatele, je možné se domluvit na školení v místě sídla zprostředkovatele nebo objednatele.
    2.7. Přihlášky jsou přijímány a zpracovávány v pořadí, v jakém došly poskytovateli. Poskytovatel neprodleně informuje objednatele o všech skutečnostech. Těmi se míní naplnění kapacity, příliš nízký počet účastníků, nebo jiný závažný důvod, jako je nemoc lektora nebo zásah vyšší moci. Objednateli bude v tomto případě nabídnut nový termín, případně účast na jiné vzdělávací akci. V případě, že objednatel nebude s přesunutím či účastí na jiné nabídnuté vzdělávací akci souhlasit, poskytovatel mu vrátí účastnický poplatek. Nedostatečný účastníků je oznámen objednateli alespoň 14 dní před začátkem plánovaného termínu.
    2.8. Smlouva mezi poskytovatelem a objednatelem vzniká odesláním potvrzení poskytovatelem objednateli.
    2.9. Smlouvu lze změnit nebo zrušit pouze za splnění zákonných předpokladů a pouze písemně.

    3. Zánik smlouvy zrušením přihlášky

    3.1. Přihláška může být objednatelem zrušena pomocí e-mailu, nebo pomocí datové schránky.
    3.2. Zákazník má právo stornovat svoji přihlášku na kurz 14 dní před konáním kurzu bez jakýchkoliv poplatků. Pokud se jedná o kratší dobu, dochází k následné změně. V intervalu 7-13 dní je účtován administrativní poplatek 10%, storno účasti v kratším intervalu než 7 dní pak poplatek 25%. V případě storna přihlášky nebo objednávky ze strany zákazníka je nabízena možnost účasti zákazníka v náhradním termínu bez dalšího poplatku. Právo na zrušení přihlášky zaniká realizací objednaného školení.
    3.3. Při zrušení přihlášky školitelem náleží objednateli plná náhrada za neuskutečněnou akci.
    3.4. Objednatel má právo žádat náhradní termín nebo náhradní školení. V takovém případě bude objednatel informován o všech otevřených kurzech. Náhradní termín si nelze vymáhat ani vynucovat, závisí na aktuální dostupnosti kurzu. Pokud má náhradní školení nižší cenu, objednatel doplatí rozdíl. Pokud má náhradní školení nižší cenu, školitel vrátí rozdíl cen školení objednateli.

    4. Cena a platební podmínky

    4.1. Odesláním přihlášky objednatel akceptuje smluvní cenu (dále jen účastnický poplatek) uvedenou u daného kurzu.
    4.2. V případě více účastníků přihlášených jednou přihláškou je možná sleva.
    4.3. Účastnický poplatek musí být uhrazen na bankovní účet společnosti vedený u Komerční banky č. 78-7768770207/0100. Při platbě je nutné uvést variabilní symbol, který je uveden na faktuře, odeslané objednateli školitelem.
    4.4. Účastnický poplatek zahrnuje náklady poskytovatele včetně školicích materiálů. Poskytovatel je plátce DPH.
    4.5. Účastnický poplatek je objednatel povinen uhradit do 14 pracovních dní od přijetí faktury, pokud nebylo samostatnou smlouvou uvedeno jinak.
    4.6. Pokud se přihlášená osoba neúčastní školení a nedošlo k jiné domluvě, je její neúčast považována za storno příhlášku v intervalu kratším než 7 dní, tj. školiteli náleží odměna ve výši 25% z ceny kurzu. Přeplatek je vrácen do 14 dní na platební účet odesílatele, ze kterého byly prostředky odeslány. Platba na jiné číslo účtu není možná.
    4.7. Nejdéle do 5 pracovních dní od začátku školení bude školitelem vystavena faktura, která bude dle dohody odeslána e-mailem nebo datovou schránkou.

    5. Podmínky školení

    5.1. Školitel je povinnen informovat objednatele 14 dní dopředu o místě a času školení, včetně termínu zahájení a ukončení denního programu.
    5.2. Pokud objednatel není studentem kurzu, je povinnen zajistit distribuci těchto informací koncovým účastníkům. Za nesplnění těchto podmínek školitel nenese odpovědnost.
    5.2. Standardně školení probíhá v čase od 9:00 do 17:00 na předem určeném místě.
    5.3. Školitel může být dle aktuálních podmínek k dispozici od 8:00 do 9:00 a následně od 17:00 do 18:00 pro dotazy účastníků.
    5.4. Na konci školení je koncovým uživatelům předán certifikát o absolovování.
    5.5. Na konci školení koncoví uživatelé vyhodnocují přístup lektora a mají se vyjádřit k ohodnocení jeho prezentace, způsobu přednesení a ohodnotit významn poskytnutých informací.

    6. Reklamace

    6.1. Pokud je účastník hrubě nespokojen s průběhem kurzu, je školitel o této informaci vyrozuměn.
    6.2. Důvody nespokojenosti jsou ten samý den zapsány do protokolu ve dvou kopiích. Jedna je předána objednateli a jednu má školitel.
    6.3. Vyjádření k reklamaci bude podáno e-mailem do dvou týdnů. Následně do jednoho týdne bude domluven způsob řešení.
    6.4. Nespokojenost zákazníka může být důvodem k rozvázání další spolupráce, nebo finanční kompenzaci až do výše ceny školení po odečtení nákladů.

    7. Autorská práva k poskytnutým materiálům

    7.1. Školicí materiály poskytnuté školitelem v rámci konání školení splňují znaky autorského díla dle zákona č. 121/2000 Sb.
    7.2. Žádný ze školicích materiálů ani jeho část nesmí být bez předchozího písemného souhlasu školitele jakýmkoli způsobem dále zpracovávána, rozmnožována, rozšiřována nebo využívána k dalším prezentacím nebo školením.

    8. Zodpovědnost

    8.1. Školitel nepřebírá odpovědnost za nedostatky ve službách kterékoliv třetí strany, kterou využívá při školeních.
    8.2. Školitel nepřebírá odpovědnost za zranění, škody a ztráty, vzniklé účastníkům vzdělávacích akcí, nebo které byly účastníky způsobeny. Takové náklady, způsobené uvedenými okolnostmi, ponese výhradně účastník vzdělávací akce.

    9. Platnost podmínek

    9.1 Tyto všeobecné obchodní podmínky jsou platné a účinné od 1. října 2024.

    Informace o sběru a zpravování osobních údajů

    Zpracovatel Jan Dušátko (dále jen „Správce“), dle nařízení Evropského parlamentu a Rady (EU) č. 2016/679 o ochraně fyzických osob v souvislosti se zpracováním osobních údajů a o volném pohybu těchto údajů a o zrušení směrnice 95/46/ES (obecné nařízení o ochraně osobních údajů, dále jen „Nařízení“) zpracovává osobní údaje. Dále jsou rozepsané jednotlivé osobní údaje, které jsou součástí zpracování při konkrétních aktivitách u této webové prezentace a v rámci obchodního styku.
    Přestože je sběr dat všudypřítomný, provoz tohoto webu si zakládá na právu na soukromí každého uživatele. Z uvedeného důvodu sběr informací o uživatelích probíhá v naprosto nezbytné míře a to jen v případě, kdy se uživatel rozhodne kontaktovat provozovatele. Jakýkoliv další sběr a zpracování dat považujeme za neetický.

    Informace o záznamech přístupu na webovou prezentaci

    Tento web nesbírá žádné cookies. Stránka nepoužívá ani žádné analytické scripty třetích stran (sociální sítě, cloud provideři). Z těchto důvodů je také nabízena volba pro zobrazení mapy formou odkazu, kde primárním zdrojem je OpenStreet a alternativy pak často používané Mapy společnosti Seznam, a.s., případně Google Maps společnosti Google LLC Inc. Využití jakéhokoliv z těchto zdrojů je zcela na libovůli uživatelů těchto stránek. Správce nenese odpovědnost za sběr dat realizovaný těmito společnostmi, neposkytuje jim data o uživatelích a na sběru dat nespolupracuje.
    Logování přístupů probíhá pouze na úrovni systému, důvodem je identifikace případných technických nebo bezpečnostních problémů. Dalšími důvody jsou přehledové statistiky přístupů. V této oblasti se nesbírají ani nesledují žádné konkrétní údaje a všechny záznamy o přístupech jsou po třech měsících mazány.

    Informace o kontaktování provozovatele stránek

    Formulář pro kontaktování provozovatele stránek (správce) obsahuje následující osobní údaje: jméno, příjmení, e-mail. Tyto údaje jsou určeny jen a pouze pro tuto komunikaci, odpovídající oslovení uživatele a jsou udržovány po dobu nezbytnou k naplnění účelu, maximálně pak po dobu jednoho roku, pokud si uživatel neurčí jinak.

    Informace o objednávkovém formuláři

    Pro případ zájmu o objednávku formulář obsahuje více údajů, tj. jméno, příjmení, e-mail a kontaktní údaje na organizaci. Tyto údaje jsou určeny jen a pouze pro tuto komunikaci, odpovídající oslovení uživatele a jsou udržovány po dobu jednoho roku, pokud si uživatel neurčí jinak. V případě, kdy na základě této objednávky dojde k uzavření obchodního vztahu, budou nadále správcem udržovány pouze informace vyžadované českými zákony na základě obchodních vztahů (název a adresa společnosti, číslo bankovního účtu, typ kurzu a jeho cena).

    Informace o dokumentu o absolovování kurzu

    V rámci kurzu je vydán zpracovatelem dokument o absolovování kurzu. Tento dokument obsahuje následující údaje: jméno a příjmení studenta, název a datum absolovování kurzu a jméno zaměstnavatele. Uvedené informace se následně používají pro tvorbu lineárního stromu hashí (nemodifikovatelný záznam). Tato databáze obsahuje pouze informace o poskytnutých jménech a názvech společností, které mohou a a nemusí odpovídat realitě a je udržován zpracovatelem pro případné opětovné vystavení nebo ověření vydání dokumentu.

    Práva subjektu osobních údajů

    Zákazník nebo návštěvník tohoto webu má možnost požádat o informace o zpracování osobních údajů, právo požadovat přístup k osobním údajům, případně právo požádat o opravu nebo výmaz veškerých dat, které by o něm byly vedeny. V případě výmazu tento požadavek není možné splnit pouze pokud se nejedná o data nezbytně nutná v rámci obchodního styku. Zákazník nebo návštěvník webu má dále právo na vysvětlení týkající se zpracování jeho osobních údajů, pokud tento zjistí nebo se domnívá, že zpracování je prováděno v rozporu s ochranou jeho soukromého a osobního života nebo v rozporu s platnými právními předpisy a právo požadovat odstranění takto vzniklého stavu a zajištění nápravy.
    Zákazník/návštěvník tohoto webu dále může požadovat omezení zpracování nebo vznést námitku proti zpracování údajů a má právo kdykoliv písemně svůj souhlas se zpracováním osobních údajů odvolat, aniž by tím byla dotčena zákonnost jejich zpracování předcházející takovému odvolání. Pro tyto účel slouží kontaktní e-mail adresa support@cryptosession.cz
    Zákazník/návštěvník má právo podat stížnost proti zpracování osobních údajů u dozorového úřadu, kterým je Úřad pro ochranu osobních údajů.