Skip Ribbon Commands
Skip to main content

Ondrej Sevecek's Blog

:

Engineering and troubleshooting by Directory Master!
Ondrej Sevecek's Blog > Posts > Chyby SSTP připojení a ověřování s EAP-PEAP a klientským certifikátem
duben 30
Chyby SSTP připojení a ověřování s EAP-PEAP a klientským certifikátem

Dneska se podíváme na problémy s připojováním SSTP VPN pomocí uživatelských certifikátů. Tedy ověřování pomocí EAP a PEAP. Tzn. to nejbezpečnější, co jde. Je to jenom seznam postřehů, co nefunguje. Měl jsem s tím už několikrát trable, tak to tu chci zdokumentovat.

Uživatelský certifikát

Windows 7 - na Windows 7 je s certifikátem jen jeden problém. Nesmí být uložen v CNG (Cryptography Next Generation). Ale jeho privátní klíč musí být umístěn v CSP (Cryptographic Services Provider). Jinak dostanete error:

Error 789
Cannot load dialog
A certificate could not be found that can be used
with this Extensible Authentication Protocol.

Jak to poznáte, kde je ten uživatelský certifikát? Jednoduše. Spustíte v příkazové řádce:

CERTUTIL -user -repairstore my *

a v jeho výpisu si najdete blok s vaším certifikátem. Na řádku Provider = hledáte jméno poskytovatele, buď CSP, nebo CNG. Jmen tam může být různých více. Toho špatného CNG poskytovatele poznáte tak, že se jmenuje Key Storage Provider. Ti správní CSP se tak nikdy nejmenují :-)

Windows 8 - tady to funguje s oběma, i s CSP i s CNG. No zázrak! Ale narazil jsem na jiný problém. V uživatelském certifikátu nesmí být nic jiného, než Client Authentication. Tedy přesněji takto. Uživatelské certifikáty mají pole Enhanced Key Usage (EKU), které musí obsahovat Client Authentication (OID 1.3.6.1.5.5.7.3.2). Ale když mám v certifikátu ještě Smart Card Logon (OID 1.3.6.1.4.1.311.20.2.2) tak to nefunguje. Hláška:

Error connecting to
Error 0x80420100. There was an unknown error.

Řešení? Zkoušel jsem poladit takovou tu novou tabulku Configure Certificate Selection. Ale nepomohlo. Prostě v certifikátu nesmí být nic jiného než Client Authentication.

Certifikát SSTP serveru

Nejhlavnější problém s certifikátem SSTP web serveru je jeho CRL cesta. Nejjednodušší je koupit si na něho certifikát od nějaké veřejné certifikační autority, kde CRL cesty máte zajištěny a nemusíte to řešit. Klient SSTP na stanicích totiž zkoumá CRL cestu a ověřu, jestli nebyl certifikát serveru zneplatněn.

Pokud použijete svůj vlastní, vydaný vnitřní certifikační autoritou (CA), tak musíte zařídit z venku, anonymně, dostupné CRL. Jinak dostanete error:

Error 0x80092013
The revocation function was unable to check revocation
because the revocation server was offline

Co z toho plyne? Musíte mít v tom certifikátu HTTP cestu. Vnitřní autority tam dávají hlavně LDAP cestu. Takže tam musíte přidat i nějakou HTTP cestu, která navíc nevyžaduje ověření. Musí to jít stáhnout z internetu.

Ověřit dostupnost CRL z klienta můžete prověřit tak, že si stáhnete certifikát toho serveru a potom pomocí příkazu certutil:

CERTUTIL -URL sstp-server-cert.cer

Jak ale stáhnete ten certifikát SSTP serveru z internetu? Jednoduše. Vždyť je to normální HTTPS server. Stačí tedy do prohlížeče na klientovi vložit toto SSTP URL:

https://vas-vpn-server/sra_{BA195980-CD49-458b-9E23-C84EE0ADCD75}

a certifikát serveru najdete nahoře u adresy. Měl by samozřejmě být platný a prohlížeč by neměl hlásit žádné problémy.

Windows 7 - jo a s Windows 7 jsem měl následující problém. I když byly v certifikátu serveru i HTTP cesty, stejně to někdy neběželo. V situaci, kdy nebyly na prvním místě. Když byl první LDAP, tak to neověřovalo. Stačilo, aby ta LDAP cesta byla až druhá a fičí. Na Windows 8 jsem to nepozoroval, tam to funguje spolehlivě, i když je ta HTTP cesta až druhá. 

Comments

Re: Chyby SSTP připojení a ověřování s EAP-PEAP a klientským certifikátem

... co se týče ověření CRL, to je také možné na straně klienta vypnout úplně. Ale je to samozřejmě snížení bezpečnostních požadavků, tak já osobně raději to CRL vyřeším, než bych ho vypínal:

HKLM\System\CurrentControlSet\Services\SSTPSvc\Parameters
NoCertRevocationCheck = DWORD = 1
ondass on 30.4.2013 9:07

Add Comment

Sorry comments are disable due to the constant load of spam *


Omlouvám se, ale příval spamu nelze kontrolovat, takže mi prosím pošlete email, pokud máte nějaký dotaz, nebo připomínku.

Title


Pole Title nemusíte vyplňovat, doplní se to samo na stejnou hodnotu jako je nadpis článku.

Author *


Pole Author nesmí být stejné jako pole Title! Mám to tu jako ochranu proti spamu. Roboti to nevyplní dobře :-)

Body *


Email


Emailová adresa, pokud na ni chcete ode mě dostat odpověď. Nikdo jiný než já vaši emailovou adresu neuvidí.

Attachments