Martin Pavlis - KPCS CZ, s.r.o., www.kpcs.cz

konzultace a projekty v oblasti Microsoft technologií
posts - 763, comments - 222, trackbacks - 0

My Links

News

KONZULTANT.NET

KPCS CZ, s.r.o.

Subscribe with Bloglines

Article Categories

Archives

Odkazy

Remote Desktop

Windows Server 2003 SP1 - SSL Host Headers (IIS 6.0)

Pokud jste se někdy setkali s potřebou zabezpečit přístup k web serveru pomocí SSL, je velice pravděpodobné, že jste narazili na omezení v IIS, a to, že na jedné IP adrese nelze provozovat více SSL web serverů (http://support.microsoft.com/?id=187504). Na rozdíl od klasického HTTP, kde můžete na jednu IP adresu pomocí host headers "pověsit" kolik web serverů chcete. Znamenalo to tedy nakupovat další IP adresy a to je samozřejmě při provozu několika desítek webů na jednom stroji věc nepříjemná a někdy vlastně i neřešitelná. Nicméně nyní, s příchodem Service Pack 1 na Windows Server 2003 dochází konečně ke změně. Pojďme se tedy podívat, jak na to.

Několik základních upozornění na začátek:

  1. SSL Host Headers nelze konfigurovat pomocí IIS snap-in konzole
  2. Pro každý web server, na kterém chcete provozovat SSL host header musíte nejprve získat "wildcart" certifikát a do každé web site jej naimportovat
  3. Zajistit "secure bindings" pro každou web site, která bude používat "wildcart" certifikát, aby nedošlo k jeho bezpečnostnímu zneužití

Získání a instalace wilcart server certifikátu (IIS 6.0)
Poznámka:
a) ne všechny certifikační autority (CA) podporují vydávání tohoto typu certifikátu!
b) pro všechny následující kroky musíte být členem skupiny Administrators

Procedura

  1. V IIS snap-in konzoli rozbalte lokální počítač a následně i složku "Web Sites"
  2. Klepněte pravým tlačítkem na web site, pro kterou chcete získat certifikát, a vyberte "Properties"
  3. Na záložce "Directory Security", v části "Secure communication", klepněte na "Server Certificate"
  4. V průvodci, který se předchozími kroky spustí, vyberte volbu "Create a new certificate"
  5. Vyplňte hodnoty dle uvážení, pouze v části "Common Name" použijte následující formát:
    *.<sitename> (tedy například pro moji doménu by to bylo *.pavlis.net)
  6. Dokončete průvodce a výsledný soubor doručte na certifikační autoritu (CA)
  7. Po získání certifikátu z certifikační autority (CA) dokončete instalaci certifikátu opětovným spuštěním průvodce a spárováním certifikátu s privátním klíčem
  8. Tento certifikát případně naimportujte do všech dalších web site, které by také využívaly SSL host header

Konfigurace Server Bindings pro SSL Host Headers (IIS 6.0)
Poznámka:
a) SSL bindings je potřeba nakonfigurovat pro všechny SSL-zapnuté web site, pro zabezpečení a ochraně proti neautorizovanému použití certifikátu

Procedura

  1. Ve startovním menu vyberte položku "Run", zde napište příkaz CMD a potvrďte OK
  2. V příkazové řádce použijte následující syntaxi:
    cscript.exe adsutil.vbs set /w3svc/<site identifier>/SecureBindings ":443:<host header>"
    - kde host header je host header dané web site, např.
    www.pavlis.net

Zajištění, že obsah bude poskytován pouze skrze HTTPS (IIS 6.0)

Procedura

  1. V příkazové řádce použijte následující syntaxi:
    cscript.exe adsutil.vbs set /w3svc/<site identifier>/AccessSSL TRUE
    - kde <site identifier> je číslo identifikující web site (možné zjistit přes IIS snap-in)

Přesměrování HTTP požadavků na HTTPS (IIS 6.0)

Procedura

  1. vytvořte novou ASP web stránku, pojmenujte ji např. RedirectToSSL.asp a uložte ji do kořenového adresáře vaší web site
  2. obsah tohoto souboru vložte do právě vytvořeného souboru:

<%@Language=VBScript %>
<%
strQueryString = Request.QueryString
strAddress = Right(strQueryString, Len(strQueryString) - Instr(1,strQueryString, ";"))
strSecure = Replace(strAddress, "http:", "https:", 1, 1)
Response.Redirect strSecure
%>

  1. V IIS snap-inu klepněte pravým tlačítkem na vámi vybranou web site a zvolte properties
  2. Na záložce "Directory Security" v sekci "Secure communications" vyberte "Edit"
  3. Vyberte "Require secure channel (SSL)" a klepněte na OK
  4. Na záložce "Custom Errors" vyberte error zprávu 403;4 a klepněte na "Edit"
  5. Vyberte volbu URL a pomocí tlačítka "Browse" najděte soubor RedirectToSSL.asp a klepněte dvakrát na "OK" pro návrat do základního zobrazení IIS manageru
  6. Nalezněte soubor RedirectToSSL.asp a přes vlastnosti na něm vypněte SSL

Nyní tedy všichni, kdo přistoupí k těmto stránkám budou automaticky přesměrováni na SSL komunikaci.

Závěr
Novinka v podobě SSL Host Headers je vítanou změnou v IIS hlavně pro ty, kteří potřebují na jedné IP adrese provozovat větší množství web serverů, které poskytují obsah přes SSL.

Print | posted on Thursday, July 14, 2005 2:25 PM |

Comments have been closed on this topic.

Powered by: