Skip Ribbon Commands
Skip to main content

Ondrej Sevecek's Blog

:

Engineering and troubleshooting by Directory Master!
Ondrej Sevecek's Blog > Posts > Optimální nastavení klientů SharePoint pro SSO bez přihlašování a testování WebDAV
říjen 01
Optimální nastavení klientů SharePoint pro SSO bez přihlašování a testování WebDAV

Pořád mi tu bloumá jeden článeček a ne a ne se k němu dostat. Tak konečně.

Dneska si řekneme o optimálním nastavení SharePoint klientského prostředí tak, aby se nejen Internet Explorer, ale i všechny možné GUI Office aplikace v pohodě připojovaly na dokumenty, stejně jako třeba když si otevřete soubory přes průzkumníka Windows (Windows Explorer). Nebo chcete používat přímý souborový přístup přes WebDAV. Chceme zamezit co nejvíce přihlašovacím dialogům a zařídit tak single-sign-on (SSO).

SSO po nás například požaduje norma ISO/IEC 27002, ale i bez normy se dá pochopit, že SSO je bezpečnější. Uživatelé méně často zadávají přihlašovací údaje, takže je hůře je odpozorovat nebo jinak zachytit. Současně je to nenutí, aby si přihlašovací údaje nechávali uložit na svých počítačích, odkud se dají samozřejmě vykrást.

Co tedy potřebujeme, aby to jelo hladce na intranetu? Dneska myslím intranet, externím přístupem přes forms-based authentication (FBA) jsem se zabýval nedávno.

  • Kerberos autentizaci. Výchozí je obvykle NTLM, ale protože NTLM neposkytuje vzájemné ověření (mutual authentication), některé programy mu nevěří tak, jako Kerberosu a tím pádem raději zobrazí přihlašovací dialog. Rozjet Kerberos není až tak těžké, a to ani, pokud tu stránku provozujete na veřejném jméně - tzn. něco jako intranet.gopas.cz i když vaše vnitřní doména se jmenuje gopas.virtual. Co bych doporučoval obecně pro Kerberos, nedělejte v DNS ten záznam jako CNAME, ale udělejte ho jako A. Předejdete tím chaosu, kdy si někteří klienti pri CNAME hledají SPN pro to zadané jméno, zatímco jiní si to CNAME sami přeloží až "na doraz" na koncový A záznam a o ten si požádají.
  • Local intranet zónu v Internet Exploreru. Lidé hodně často dávají sajty do zóny Trusted sites, ale to není dobře. Od cca IE 8 tam sice už funguje i Kerberos, ale dříve Kerberos fungoval jenom v Local intranet. Možná je to dnes už jedno IEčku, ale některé API knihovny to tak stále chápou. Takže pokud chcete maximální důvěryhodnost, musí te to dát do Local intranet a nikoliv do Trusted sites. Zóna Trusted sites je filosoficky pro veřejné internetové servery, které jsou trošku důvěryhodnější, než ostatní, ale nejsou ještě tak moc důvěryhodné, jako Local intranet. Pokud to chcete nastavit přes Group Policy, použijte Group Policy Preferences, jak jsem popisoval zde.
  • AuthForwardServerList musí obsahovat vaši sajtu také. Office GUI klienti, jako je Word, Excel, PowerPoint, ale i Outlook přistupují do SharePointu pomocí dvou protokolů. Jedním je FPSE (front-page server extensions) a druhým je WebDAV (web distributed authoring and versioning). Oboje chodí přes HTTP i HTTPS. Jenže WebDAV redirector má vlastní seznam důvěryhodných webů. On prostě nepoužívá zónu local intranet z IEčka. Ano FPSE naopak tuto zónu používá. Takže musíte do registrů přidat vaši sajtu do následujícího klíče a restartovat celý operační systém (opět použijte GPO preferences, jak jsem psal třeba tady, tady, nebo i tady):
HKLM\System\CurrentControlSet\Service\WebClient\Parameters
AuthForwardServerList = MULTI_SZ = https://intranet.gopas.cz, https://*.gopas.cz, nebo jen *.gopas.cz apod.
  • Musí vám běžet WebDAV redirector. To je klient WebDAV souborového systému v jádře OS (tedy FS driver mrxdav.sys), který má také službu nazvanou Web Client (WebClient). Ta pro něho dělá HTTP a HTTPS komunikaci. Službu musíte mít nainstalovanou (na stanicích je to by default, ale na serverech potřebujete mít přidanou fíčuru Desktop Experience). A ověřte, že běží. Ona je nastavená na manual, ale ovladač si ji sám nastartuje. Už jsem ale párkrát viděl, že byla někde zakázána, nebo nestartovala dost rychle a při prvním přístupu to padalo. Pokud jste před chvilkou změnili hodnotu AuthForwardServerList, musíte restartovat. Doporučuju restartovat celý operační systém, už jsem viděl, že restart služby nepomohl.
  • Pokud spojení testujete, vězte, že WebDAV redirector má například svoji vlastní negativní cache serverů, které byly v nějakém okamžiku nedostupné. To znamená, že pokud se tam jednou nedostane, následující minutu to ani nezkouší - můžete to změnit pomocí jeho registrové hodnoty ServerNotFoundCacheLifeTimeInSec.
  • WebDAV redirector má také svů vlastní limit na maximální velikost souboru, který je ochoten do SharePointu nahrát. Tahle hodnota nemá nic společného s limitem v SharePointu. Jde to změnit opět pomocí jeho registrové hodnoty FileSizeLimitInBytes.

Jak vyzkoušíte WebDAV?

Jak už jsem psal, nejen přímý souborový přístup používá WebDAV. Office ho používá také. Popravdě nechápu přesně logiku, protože Word čas odčasu leze do SharePoint přes FPSE a někdy přes WebDAV. Chaoticky. Ale rozhodně ho používá a tím pádem jeho hladký běh vyhladí i Word a Excel.

WebDAV je souborový systém, v podstatě se to na klientovi jeví stejně jako SMB. Prostě si tam můžete namapovat disk, nebo rovnou na soubory přistupovat přímo z aplikací.

Tři cesty přístupu do SharePoint přes WebDAV

  1. Dokumentovou knihovnu (document library) si můžete přímo namapovat jako písmeno disku. V průzkumníkovi prostě dáte Map network drive a zadáte tam HTTP URI, nebo HTTPS. Bacha. Pokud máte v URI mezeru, musíte ji nahradit %20. Jinak to mapování nefunguje. Nejlépe je okopírovat si to přímo z adresního řádku v Internet Explorer (jenže tam je dneska to URL pokažené tím novým minimal download strategy).
  2. Některé programy umí přímo přistupovat do http:// a https:// cest. Například notepad. U jiných programů bych to neočekával, byť je tam ten WebDAV redirector od Windows XP, vývojáři si toho prozatím nedokázali všimnout.
  3. Vzhledem k téhle nekompatibilitě http URL cesty s běžnými programy, má WebDAV redirector ještě jednu příjemnou možnost. Použijete normálně UNC cestu se speciálním share davWWWroot, který klientovi naznačuje, že se použije rovnou HTTP namísto SMB. Viz příklady:
\\intranet.gopas.cz\davWWWroot\Shared Documents
\\intranet.gopas.cz@ssl\davWWWroot\Faktury
\\intranet.gopas.cz@ssl@44443\davWWWroot\TajneDokumenty

V předchozích příkladech vidíte v prvním případě přistup přes HTTP do http://intranet.gopas.cz/Shared%20Documents za pomoci kompatibilnější UNC cesty. Druhý příklad jde přes zašifrované spojení do https:// a třetí dokonce leze do podivného TCP portu 44443.

Tohle musí fungovat i z příkazové řádky, například pomocí DIR příkazu a to bez zadávání jakýchkoliv hesel. Pokud to jede, máte to dobře. Pokud to nejede, nejspíš se zaměřte na AuthForwardServerList a restart celého počítače.

Poznámka k zápisu dokumentů přes WebDAV a povinným sloupečkům v SharePoint

Jen pro jistotu. Pokud jste přímý souborový přístup přes WebDAV ještě nezkoušeli, dejte pozor na toto. Co když má dokumentová knihovna v SharePoint nějaké povinné (required, mandatory) sloupečky (column)? Hodnoty těchto sloupečký přes WebDAV nevyplníte. Dokumenty tak v dokumentové knihovně nebudou normálně vidět (správci - Design, Full Control, a potvrzovači - Approve, je samozřejmě uvidí), dokud jim tyto hodnoty přes webové rozhraní nedoplníte. Nepříjemná věc je, že webové rozhraní nemá multiselect pro edit properties.

S tím možná ještě souvisí poznámečka - ano, sloupeček title pro Word dokumenty se nastaví sám podle obsahu souboru, tak jako vždycky.

Comments

There are no comments for this post.

Add Comment

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 *


Type number two as digit *


Semhle vyplňte číslici dvě. Předchozí antispemové pole nefunguje úplně dokonale, zdá se, že jsou i spamery, které pochopily, že je občas potřeba vyplnit autora :-)

Email


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

Attachments