none
Konfigurace WinRM pro HTTPS komunikaci

    Dotaz

  • Ahoj,

    podarilo se mi nakonfigurovat sluzbu WinRM pro HTTP komunikaci, ale nedari se mi ji nastavit pro HTTPS (OS je W7 SP1). Problem je s certifikaty. Po nasledujicim prikazu

    winrm quickconfig -transport:https

    se objevi chybova hlaska:

    WSManFault
        Message
            ProviderFault
                WSManFault
                    Message = Nelze vytvořit modul pro naslouchání služby WinRM v protokolu HTTPS, protože tento počítač nem
    á příslušný certifikát. Aby bylo možné certifikát použít u protokolu SSL, musí mít název CN odpovídající názvu hostitele
    , být vhodný pro ověřování na serveru a nesmí být prošlý, odvolaný nebo opatřený automatickým podpisem.

    Číslo chyby:  -2144108267 0x80338115
    Nelze vytvořit modul pro naslouchání služby WinRM v protokolu HTTPS, protože tento počítač nemá příslušný certifikát. Ab
    y bylo možné certifikát použít u protokolu SSL, musí mít název CN odpovídající názvu hostitele, být vhodný pro ověřování
     na serveru a nesmí být prošlý, odvolaný nebo opatřený automatickým podpisem.

    Importoval jsem cert. CA(nas firemni) do uloziste korenovych cert. a muj osobni cert. do cert. pro duveryhodne osoby. Je mozne nejak obejit omezeni jez jsou uvedena v chybove hlasce(...musí mít název CN odpovídající názvu hostitele...)?

    Dale bych se chtel zeptat jaky typ sifrovani je pouzit kdyz je v konfiguraci WinRM zakazano "AllowUnencrypted". Mel jsem za to ze pri "Basic" autentizaci jde heslo a jmeno siti nesifrovane.

    Predem diky za nasmerovani.

     

     

    12. dubna 2011 20:40

Odpovědi

  • Okej, tak to skusme este raz, kompletne a do ( snad ) funkcnej podoby :)

     

    Pises, ze sa chces pripajat z Windows 7 ( nazvem tento pocitac W7 ) na Windows XP so SP3 ( nazvem ho WXP ). Takze v tomto scenari je Windows XP SERVER a Windows 7 je KLIENT. A preto SERVER ( Windows XP ) MUSI mat SSL certifikat, ktory KLIENT ( Windows 7 ) vyhodnoti ako doveryhodny. Pocitace nemaju k dispozicii certifikacnu autoritu, preto bude nutne vytvorit tzv. self-signed certifikaty.

     

    Konfiguraciu zacnem na Windows XP ( SERVER ).

    Ak Windows XP nie je v domene, je potrebne pre konfiguraciu WinRM nastavit v lokalnej politike polozku ( Start - Run... - SecPol.msc ) :

    Security Settings \ Local Policies \ Security Options \ Network access: Sharing and security model for local accounts

    na hodnotu Classic - Local users authenticate ...

     

    Z IIS 6 Resource Kit balika nainstalujem SelfSSL.exe, nasledne ho spustim : SelfSSL.exe /N:CN=WXP /V:365 /T

     

    Nie je potrebne uvadzat prepinac /P - SelfSSL nielen ze vygeneruje certifikat, ale zaroven by nakonfiguroval IIS Metabase ( keby na WXP bol nainstalovany IIS Server ). CN=WXP - toto je meno, na ktore sa bude pripajat klient ( ktore musi byt prelozitelne na platnu IP ... ).

    Prepinac /T nakopiruje tento certifikat zaroven do zoznamu doveryhodnych certifikacnych autorit pocitaca WXP. Pokial je certifikat takto generovany na WXP, potom staci otvorit MMC konzolu na WXP, nacitat Snap-In Certificates pre Computer account, a z Personal uloziska vyexporotvat vygenerovany certifikat ( bez privatneho kluca ). Tento certifikat je potrebne nainstalovat na klienta ( W7 ) do zoznamu doveryhodnych certifikacnych autorit pre Computer account. Ziadna dalsia praca s certifikatmi nie je potrebna.

    Uvedeny postup je potrebne zopakovat pre kazde jedno WXP, ktore bude spravovane z W7 ( nevyhoda pouzivania self-signed certifikatov ).

     

    Ak je certifikat generovany na klientovi, teda na Windows 7 :

    SelfSSL.exe /N:CN=WXP /V:365 /T

    Opat, nie je potrebne uvadzat prepinac /P. Prepinac /T zabezpecil instalaciu certifikatu do zoznamu doveryhodnych CA na klientovi ( W7 ), takze staci vyexportovat vygenerovany certifikat z klienta ( spustit MMC konzolu s navysenymi pravami ) z Personal uloziska aj s privatnym klucom a preniest ho na server ( WXP ), kde je potrebne ho nainstalovat do Personal uloziska pre Computer account ( mozete ho nasledne nainstalovat aj do zoznamu doveryhodnych CA na serveri - WXP ).

     

    Certifikaty su tymto vyriesene.

     

    Na WXP ( SERVER ) pokracuje konfiguracia ( staci spustit CMD.EXE, nie je potrebne pustat PowerShell ) :

    • WinRM QuickConfig konfiguruje ovladanie cez HTTP ( WinRM 2.0 otvara pre tento ucel port 5985 )

     konfiguraciu mozno preverit prikazom WinRM Enumerate winrm/config/listener

     

    • pre konfiguraciu HTTPS sluzi prikaz WinRM QuickConfig -transport:https

    Tento prikaz nie je mozne pouzit, pretoze je nainstalovany self-signed certifikat, ktory nie je tymto prikazom akceptovany.

     

    • Pre konfiguraciu HTTPS pristupu je nutne pouzit prikaz winrm create winrm/config/listener?Address=*+Transport=HTTPS @{Hostname="wxp";CertificateThumbprint="XXX"}

    kde Hostname je to same, co v SelfSSL CN .. a CertificateThumbrint sa nachadza v certifikate WXP ( SERVER ), na zalozke Details, hodnota Thumbrint ( skopirovat, odmazat vsetky medzery ) ( postup popisuje aj tato stranka : http://itproctology.blogspot.com/2008/09/securing-hyper-v-winrm-with-self-signed_29.html ). Kontrola prikazom WinRM Enumerate winrm/config/listener.

     

    WinRM 2.0 pre HTTPS pristup nastavi port 5986. Kedze nebol pouzity prikaz WinRM QuickConfig, nedoslo ku konfiguracii Windows Firewallu na WXP ( SERVER ), je potrebne tento port dodatocne manualne otvorit !

     

     

    Z pohladu konfiguracie WXP ( SERVER ) je vsetko hotove a pripravene.

     

     

    Na Windows 7 ( KLIENT ) je potrebne spustit PowerShell ( s navysenymi pravami ) a zadat prikaz :

     

    Enter-PSSession -ComputerName wxp -Port 5986 -Credential Admin -UseSSL

     

     

    A to je vsetko ...

    Boris.

     

     

    4. května 2011 20:42

Všechny reakce

  • Ahoj, musíš mít certifikát pro počítač, ve kterém bude jeho jméno.

    Tudíž:

    otevři prázdnou konzolu MMC, importuj do ní snap-in Certifikáty pod účtem počítače. Importuj CA certifikát do Důvěryhodných kořenových certifikačních autorit.

    Vytvoř si žádost o certifikát (podívej se na MSTV na video o certifikátech obsahujích SAN - http://technet.microsoft.com/cs-cz/edge/vytvoreni-certifikatu-san) a vystav si ho. Musí se samozřejmě naimportovat do Osobního úložiště ale POČÍTAČE.

    Pak by ti to mělo začít fungovat...

    12. dubna 2011 21:23
  • Ahoj,

    popravde moc mi ten navod nefunguje. Ja mam k dipozici jen 1x Win7 a 1x WinXP, mezi kterymi chci zprovoznit Remote Powershell. Ani jeden system neni v domene, nemam cert. autoritu ani Active Directory.

    Certifikat, ktery mam v sobe nenese jmeno PC, na kterem WinRM potrebuju zprovoznit. Nemam ani moznost jej vygenerovat, protoze jak uz jsme psal nejsem CA. Musim vychazet z toho co mam.

    Chapu to tedy spravne, ze musim zprovoznit server s CA a pak teprve moho laborovat dale?

    Predstavovuji si to nasledovne (obecne receno). "Nejak" vytvorim par klicu. Verejny importuju na vzdaleny stroj, soukromy zustane u me na klientske stanici. Komunikace bude dale probihat tak jako u SSH. Tady je ovsem jeste problem s tim, ze verejny musi byt podepsany CA coz situaci dost komplikuje... Je tedy nejaka moznost jak to obejit?
    13. dubna 2011 20:25
  • No právě že jsi psal, že jsi psal, že jsi importoval certifikát vaší CA. Tak jsem myslel, že to máš vyřešeno. No asi nemáš... 

    Utilita, která ti umožní tvořit certifikáty s vlastním CN se jmenuje selfssl.exe (je součástí IIS 6 resource kitu). Pomocí ní si vygeneruješ certifikát a ten si pak naimportuješ na tom druhém PC do důběryhodných kořenových certifikačních autorit.. Pod účtem počítače.

    13. dubna 2011 20:56
  • Cau,

    to uz jsem prave taky  zkousel. Ve Win7 jsem v poweshellu spustenym jako administrator po spusteni selfssl.exe podle navodu z http://www.powershellcommunity.org/Forums/tabid/54/aft/3916/Default.aspx obdrzel chybovou hlasku:

    PS C:\Program Files\IIS Resources\SelfSSL> .\selfssl.exe /N:CN=w7 /V:3600 /T /Q
    Microsoft (R) SelfSSL Version 1.0
    Copyright (C) 2003 Microsoft Corporation. All rights reserved.

    Error opening metabase: 0x80040154PS C:\Program Files\IIS Resources\SelfSSL>

     

    V cmd.exe to za zase pri zadani stejneho prikazu pise:

    Failed to generate the cryptographic key: 0x5

    Pokud mas jeste nejake napady kudy z toho ven budu rad.

    14. dubna 2011 11:04
  • ... Error opening metabase: 0x80040154 ...

    Ak na danej masine nemate nainstalovany IIS server, tak je to OK. Spustite MMC konzolu (s pravami admina), nacitajte Certificates snap-in, otvorte Computer store / Personal / Certificates, mali by ste tam ten vygenerovany certifikat vidiet. Teraz je potrebne ho vyeexportovat a nasledne nainstalovat medzi doveryhodne certifikacne autority na druhom PC. Tam rovnako spustite SelfSSL.exe, z Computer Store vyexportujete vygenerovany certifikat a naimportujete ho medzi doveryhodne certifikacne autority na prvom stroji ( MMC konzola spustana zakazdym s pravami admina, pracujeme len s Computer Store !! ).

     

    Boris

    14. dubna 2011 11:22
  • Ahoj,

    na stroji W7 jsem spustil .\selfssl.exe /N:CN=w7 /V:3600 /T /Q /P:5986. Potom jsem spustil snapin pro spravu cert. pod uctem administartora pro pocitac a overil ze cert w7 je jak v osobnich tak v CA. Pak jsem ho vyexportoval a importoval do cert. pro pocitac na stroji WinXP... jak do osobnich tak do CA.

    Na stroji W7 se mi ale stale nedari nakonfigurovat sluzbu WinRM pro HTTPS komunikaci.

    PS C:\Windows\system32> winrm quickconfig -transport:https
    Služba WinRM je již v tomto počítači nastavena pro příjem požadavků.
    WSManFault
        Message
            ProviderFault
                WSManFault
                    Message = Nelze vytvořit modul pro naslouchání služby WinRM v protokolu HTTPS, protože tento počítač nem
    á příslušný certifikát. Aby bylo možné certifikát použít u protokolu SSL, musí mít název CN odpovídající názvu hostitele
    , být vhodný pro ověřování na serveru a nesmí být prošlý, odvolaný nebo opatřený automatickým podpisem.

    Číslo chyby:  -2144108267 0x80338115
    Nelze vytvořit modul pro naslouchání služby WinRM v protokolu HTTPS, protože tento počítač nemá příslušný certifikát. Ab
    y bylo možné certifikát použít u protokolu SSL, musí mít název CN odpovídající názvu hostitele, být vhodný pro ověřování
     na serveru a nesmí být prošlý, odvolaný nebo opatřený automatickým podpisem.

    Na stroji WinXP se mi cert. nepodarilo vygenerovat. Konci to s chyb. hlaskou:

    Failed to acquire the cryptographic context: 0x8009000f.

    To by mohlo byt zpusobene mozna tim ze IIS 6.0 je jen pro systemy win2003 a vys. Navic mi bude stacit kdyz remote powershell zprovoznim jen jednim smerem. Tzn. Z W7 se chci pres HTTPS prihlasit na WinXP. Tzn melo by stacit vygenerovat cert. na W7 a na stroj s WinXP ho importovat.

    14. dubna 2011 18:33
  • Ak chcete pristupovat z W7 na Windows XP, certifikat MUSI mat Windows XP a certifikat NEMUSI existovat na Windows 7.

     

    Na Windows XP skuste vygenerovat certifikat pomocou SelfSSL.exe

    pise vam to chybu, prejdite najprv toto :

    http://social.msdn.microsoft.com/forums/en-US/netfxnetcom/thread/15d22105-f432-4d8f-a57a-40941e0879e7

    potom skuste postup zopakovat, mozno pomoze tento clanok :

    http://huntjason.wordpress.com/2007/03/27/generating-self-signed-certificates-to-enable-ssl-https-on-iis-5-1-windows-xp-professional/

     

    Pri pripajani sa na klienta, ktory predklada self-signed certifikat, je potrebne pouzit prepinac -skipCAcheck ( http://technet.microsoft.com/en-us/library/cc781778(WS.10).aspx, cast "Using self-signed certificates" ).

     

    Dobrym navodom moze byt aj tento clanok :

    http://itproctology.blogspot.com/2008/09/securing-hyper-v-winrm-with-self-signed_29.html

     

    Pripadne podrobne prejdite jednotlive kroky clanku http://support.microsoft.com/kb/2019527.

     

    Pri generovani certifikatu pomocou selfssl.exe si hlavne dajte pozor na CommonName ( uviedli ste ... "selfssl.exe /N:CN=w7" ... ). Je nutne, aby CN sa rovnalo presne tomu menu stroja, ktore volate z PC, z ktoreho sa chcete pripojit ( cize ak z sa pripajate na pc a ako -machine zadavate W7, tak potom je vsetko v poriadku, v opacnom pripade sa spojenie nevytvori ).

     

    Este jedna otazka : preco WinRM / HTTPS ? Nebola zaujimava ( mozno zaujimavejsia ) alternativa PowerShell v2 ?

     

    Boris.

     

    15. dubna 2011 14:47

  • Ahoj,

    pomalu se to cim dal vic komplikuje. Zkusme to tedy zjednodusit a zprehlednit. Nejprve o co mi jde. Chtel bych si nasimulovat vzdalenou spravu pomoci Powershellu v2.

    1) Stanice, ze ktere budu pristupovat na vzdalene PC bude Win7 s Powershellem v2.

    2) Vzdalene systemy budou od WinXP SP3 a vyse. Vsechny budou mit instalovany Powershell v2.

    3) Komunikace mezi clientem s servery musi byt sifrovana, to je duvod proc chci pouzivat HTTPS.

    4) Podle toho co jsem se behem reseni problemu dozvedel by na HTTPS komunikaci melo stacit: Na clientskem stroji s Win7 vygenerovat cert. pro spravovane vzdalene stroje. Na vzdalene stroje ho importovat (jak jsme si uz rekli pod uctem admina, do cert pro pocitac...), Priklad generovani cert. pro vzdaleny stroj jmenem WinXP. Na Win7 spustim .\selfssl.exe /N:CN=WinXP /V:3600 /T /Q /P:5986. Exportuji cert a importuji ho na stroji WinXP.

    5) Na Win7 zadavam prikaz "New-WSManSessionOption -SkipCACheck" a nasledne se pokousim pripojit pomoci:

    Enter-PSSession WinXP -Credential polo -UseSSL -Port 5986

    nebo

    Enter-PSSession WinXP -Credential polo -UseSSL

    Pokazde me to vyzve k zadani hesla uzivatele polo, to zadam a nasledne se mi ale objevi chybova hlaska:

    Enter-PSSession : Connecting to remote server failed with the following error message : Klient služby WinRM nemůže doko
    nčit operaci v zadaném časovém limitu. Zkontrolujte správnost názvu počítače a jeho dosažitelnost v síti, a zda je povo
    lena výjimka brány firewall pro službu Vzdálená správa systému Windows. For more information, see the about_Remote_Trou
    bleshooting Help topic.
    At line:1 char:16
    + Enter-PSSession <<<<  WinXP -Credential polo -UseSSL -Port 5986
        + CategoryInfo          : InvalidArgument: (WinXP:String) [Enter-PSSession], PSRemotingTransportException
        + FullyQualifiedErrorId : CreateRemoteRunspaceFailed

    Pokud se pokousim pripojit pomoci:

    Enter-PSSession WinXP -Credential polo

    tak se uspesne pripojim...

    Nejsem si jisty zda musi byt winrm nakonfigurovana pro HTTPS. Pri pokusu o nastaveni transportu na https to konci s chybovou hlaskou.
    PS C:\> winrm quickconfig -transport:https
    DEBUG:    1+  <<<< winrm quickconfig -transport:https
    Služba WinRM je již v tomto počítači nastavena pro příjem požadavků.
    WSManFault
        Message
            ProviderFault
                WSManFault
                    Message = Nelze vytvořit modul pro naslouchání služby WinRM v protokolu HTTPS, protože tento počítač nem
    á příslušný certifikát. Aby bylo možné certifikát použít u protokolu SSL, musí mít název CN odpovídající názvu hostitele
    , být vhodný pro ověřování na serveru a nesmí být prošlý, odvolaný nebo opatřený automatickým podpisem.

    Číslo chyby:  -2144108267 0x80338115
    Nelze vytvořit modul pro naslouchání služby WinRM v protokolu HTTPS, protože tento počítač nemá příslušný certifikát. Ab
    y bylo možné certifikát použít u protokolu SSL, musí mít název CN odpovídající názvu hostitele, být vhodný pro ověřování
     na serveru a nesmí být prošlý, odvolaný nebo opatřený automatickým podpisem.
    DEBUG:    2+         $foundSuggestion = <<<<  $false


    Zaverem jeste dodam:

    Chci se soustredit na reseni vyse uvedeneho problemu - tzn. nechci ztracet cas zprovoznovanim generovani selfcert na WinXP kdyz to v budoucnu nepouziju.

    Dale ohledne Vasi otazky proc WinRM / HTTPS a ne Powershell v2... No ja mam vsude instalovany Powershell v2, ale mam za to, ze na vzdalenou administraci je NUTNE pouzit sluzbu WinRM - jina moznost neexistuje (alespon ja o zadne nevim...jinou variantu jsem nevygooglil.) Pokud Vy o necem vite tak sem s tim budu jedine rad. Jen dodam ze komunikace musi byt sifrovana...

    Predem dekuji za pomoc a nebo pripadne nasmerovani.






    16. dubna 2011 12:33
  • Ahoj,

    jde o to, že na té stanici s XP MUSÍ být certifikát, který je vygenerovaný pomocí SelfSSL na té stanici. Pak ta služba WinRM uvidí, že tam je certifikát a máš vyhráno.

    16. dubna 2011 15:00
  • Ahoj,tak na WinXP se mi podarilo rozjet selfssl.exe. Vygeneroval jsme cert. pro WinXP a ulozil ho na te stanici v uctu pocitace do CA a do osobnich cert. Pak jsem ho prenesl na PC s Win7 a importoval jsme ho tam pod ucet pocitace jak do CA tak do osobnich. Pak jsme vygeneroval na stanici Win7 cert pro Win7 a provedl stejny postup jako vyse zmineny...Porad to ale nejede. Podle me tohle neni cesta k reseni. Problem, ktery je NUTNE vyresit je nasledujici:

     

    PS C:\Windows\system32> winrm quickconfig -transport:https
    Služba WinRM je již v tomto počítači nastavena pro příjem požadavků.
    WSManFault
        Message
            ProviderFault
                WSManFault
                    Message = Nelze vytvořit modul pro naslouchání služby WinRM v protokolu HTTPS, protože tento počítač nem
    á příslušný certifikát. Aby bylo možné certifikát použít u protokolu SSL, musí mít název CN odpovídající názvu hostitele
    , být vhodný pro ověřování na serveru a nesmí být prošlý, odvolaný nebo opatřený automatickým podpisem.

    Číslo chyby:  -2144108267 0x80338115
    Nelze vytvořit modul pro naslouchání služby WinRM v protokolu HTTPS, protože tento počítač nemá příslušný certifikát. Ab
    y bylo možné certifikát použít u protokolu SSL, musí mít název CN odpovídající názvu hostitele, být vhodný pro ověřování
     na serveru a nesmí být prošlý, odvolaný nebo opatřený automatickým podpisem.

     

    PS WSMan:\localhost\Listener\Listener_1184937132> ls


       WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Listener\Listener_1184937132

    Name                      Value                                                             Type
    ----                      -----                                                             ----
    Address                   *                                                                 System.String
    Transport                 HTTP                                                              System.String
    Port                      5985                                                              System.String
    Hostname                                                                                    System.String
    Enabled                   true                                                              System.String
    URLPrefix                 wsman                                                             System.String
    CertificateThumbprint                                                                       System.String
    ListeningOn_1201550598    127.0.0.1                                                         System.String
    ListeningOn_319144046     169.254.82.165                                                    System.String
    ListeningOn_875707062     192.168.1.248                                                     System.String
    ListeningOn_1508953035    ::1                                                               System.String
    ListeningOn_183876505     2001:0:5ef5:73b8:44d:24ae:3f57:fe07                               System.String
    ListeningOn_1373363958    fe80::5efe:192.168.1.248%13                                       System.String
    ListeningOn_1350990506    fe80::1e5:4585:4158:52a5%15                                       System.String
    ListeningOn_117223460     fe80::44d:24ae:3f57:fe07%12                                       System.String
    ListeningOn_1810340022    fe80::4496:8e0f:917b:2ce4%10                                      System.String

     

    PS WSMan:\localhost\Listener\Listener_1184937132> Set-Item .\Transport -Value https

    Set-Item : Položka již byla přidána. Klíč ve slovníku: Transport, přidávaný klíč: Transport
    At line:1 char:9
    + Set-Item <<<<  .\Transport -Value https
        + CategoryInfo          : NotSpecified: (:) [Set-Item], ArgumentException
        + FullyQualifiedErrorId : System.ArgumentException,Microsoft.PowerShell.Commands.SetItemCommand

     

    Prikazem netstat jsme zjistil ze na portu 5986 nic neposloucha ani na jedne stanici.... Tzn. pomoci toho HTTPS se ani nemuzu pripojit... neni kam.

     

     

    16. dubna 2011 18:39
  • No tak v tom případě musíš rozjet nějakou CA, protože tam píšou, že není možné mít certifikát podepsaný sám sebou.
    18. dubna 2011 17:14
  • Ahoj,

    tak jsem si vytvoril vlastni CA a nasledne vygeneroval certifikat, ale ani to nepomohlo...

    Ohledne vytvoreni CA a pak certifikatu jsme postupoval podle navodu http://www.debiantutorials.com/create-your-private-certificate-authority-ca/

    1] vytvoreni CA

    openssl genrsa -des3 -out ca.key 1024

    openssl req -new -x509 -days 3650 -key ca.key -out ca.crt

    ...jako common name jsme dal poloCA

     

    2] vytvoreni zadosti o certifikat

    openssl genrsa -des3 -out w7.key 1024

    openssl req -new -key w7.key -out w7.csr

     

    3] podepdani certifikatu certifikacni autoritou

    openssl x509 -req -days 365 -in w7.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out w7.crt

     

    4] vytvoreni .pfx souboru (certifikat se soukromym klicem)

    openssl pkcs12 -export -out w7.pfx -inkey w7.key -in w7.crt -certfile ca.crt

     

    Jeste dodam, ze stroj, z ktereho se chci hlasit na ostatni stroje se jmenuje w7 a v cert. je uvedeno CN=w7. Cert pro CA jsem importoval do duveryhodne korenove certifikacni urady v computer store a w7 do osobni certifikaty taktez v computer store.

    Pokud byste  se chteli podivat na vysledne soubory tak jsou k nahlednuti zde: http://www.ulozto.cz/8705763/cert-zip

    Chybova hlaska zustava porad stejna...

     

    winrm quickconfig -transport:https
    Služba WinRM je již v tomto počítači nastavena pro příjem požadavků.
    WSManFault
    Message
    ProviderFault
    WSManFault
    Message = Nelze vytvořit modul pro naslouchání služby WinRM v protokolu HTTPS, protože tento počítač nem
    á příslušný certifikát. Aby bylo možné certifikát použít u protokolu SSL, musí mít název CN odpovídající názvu hostitele
    , být vhodný pro ověřování na serveru a nesmí být prošlý, odvolaný nebo opatřený automatickým podpisem.

    Číslo chyby: -2144108267 0x80338115
    Nelze vytvořit modul pro naslouchání služby WinRM v protokolu HTTPS, protože tento počítač nemá příslušný certifikát. Ab
    y bylo možné certifikát použít u protokolu SSL, musí mít název CN odpovídající názvu hostitele, být vhodný pro ověřování
    na serveru a nesmí být prošlý, odvolaný nebo opatřený automatickým podpisem.

     

    Pokud byste meli dalsi napady tak je uvitam...

     

    19. dubna 2011 8:49
  • No podle mě to nezvládá kvůli tomu, že je to OpenSSL... Resp podle mě pak není ten certifikát naimportovaný v tom PC.
    20. dubna 2011 12:10
  • Ahoj,

    po tom co jsem certifikaty importoval, jsem si overil, ze jsou v systemy videt jako certifikaty. Tzn po rozkliknuti cert. se mi ukazaly jejich vlastnosti. Taky si myslim, ze je jedno kterym nastrojem jsou generovany. Prece neni mozn, aby MS produkty pracovali jen s cert. ktere jsou geneovany MS generatorem... Nemyslim si ze vsechny CA jako Verisign, Ceska posta atd pouzivaji ke generovani cert. prave nejaky MS produkt.

    Jeste bych se chtel zeptat... Jedna z polozek pri nastavovani WSman jej allowunencrypted. Kdyz je nastavena na false tak to znamena ze i pri HTTP spojeni a basic autentizaci jsou data sifrovana?

     

    21. dubna 2011 7:07
  • Ahoj,

    system je vidi...muzu si je zobrazit v ulozisti certifikatu. Ten SelfSSL jsem uz zkousel a nefungovalo mi to s nim... O par prispevku vyse jsi mi psal, ze cert. nesmi byt selfsigned s cimz souhlasi i chybova hlaska, kterou jsem zde nekolikrat uvedl - uvadi se v ni, ze cert. nesmi byt selfsigned. Takze tady uz jsem v koncich:(

    Chci se zeptat - dokazal nekdo z vas vzdalene pripojeni pres HTTPS skutecne zprovoznit?

     

    Ohledne sifrovani:

    Je mi jasne, ze HTTPS potrebuje cert, aby mohlo sifrovat a taky to ze HTTP sifrovane neni. Jen me zmatla jedna z voleb pri nastavovani WSMan a to "AllowUnencrypted", ktera byla nastavena na false a to pri HTTP spojeni. Jeste bych mohl pouzit nejaky sitovy analyzator abych si overil, ze heslo pres HTTP chodi skutecne v plaintextu, ale v tuto chvili uz na to nemam silu:((

    Jedna vec, kvuli ktere nemam uplne ciste svedomi je, ze kdyz jsem si jen tak na zkousku importoval cert. vygenerovany pro jedno z PC importoval do Firefoxu a zobrazil si ho tak mi to ukazuje ze je to: 1)certifikat autora emailu 2)certifikat adresata emailu. U ostatnich cert. co mam importovane se mi, ale jeste zobrazuje, ze jsou to krom jineho take "certifikaty SSL serveru". Tak jestli nemuze byt problem v tom...

    Posledni vec - jde nejakym zpusobem prepnout PowerShell tak, aby chybove hlasky vypisoval v anglictine?

    24. dubna 2011 18:42
  • Jeste jsem nasel neco ohledne zabezpeceni spojeni Powershell remote. Tady se vyslovne pise ze i pres HTTP je spojeni sifrovane.

    Get-Help about_Remote_FAQ

    IS WINDOWS POWERSHELL REMOTING SECURE?

       When you connect to a remote computer, the system uses the user
       name and password credentials on the local computer or the credentials
       that you supply in the command to log you in to the remote computer.
       The credentials and the rest of the transmission are encrypted.

       To add additional protection, you can configure the remote computer
       to use Secure Sockets Layer (SSL) instead of HTTP to listen for
       Windows Remote Management (WinRM) requests. Then, users can use
       the UseSSL parameters of the Invoke-Command, New-PSSession, and
       Enter-PSSession cmdlets when establishing a connection. This option
       uses the more secure HTTPS channel instead of HTTP.

    27. dubna 2011 7:52
  • Dohledal jsme si ze ta komunikace sifrovana neni... sifrovane jsou jen hesla mozna i jmena.

    Jinak co se tyce meho problemu s propojenim stroju pomoci powershell remote po protokolu https tak uz radu nemate?

    1. května 2011 19:13
  • zkusím si to rozjet mezi virtuálkami a dám vědět...
    3. května 2011 6:35
  • Okej, tak to skusme este raz, kompletne a do ( snad ) funkcnej podoby :)

     

    Pises, ze sa chces pripajat z Windows 7 ( nazvem tento pocitac W7 ) na Windows XP so SP3 ( nazvem ho WXP ). Takze v tomto scenari je Windows XP SERVER a Windows 7 je KLIENT. A preto SERVER ( Windows XP ) MUSI mat SSL certifikat, ktory KLIENT ( Windows 7 ) vyhodnoti ako doveryhodny. Pocitace nemaju k dispozicii certifikacnu autoritu, preto bude nutne vytvorit tzv. self-signed certifikaty.

     

    Konfiguraciu zacnem na Windows XP ( SERVER ).

    Ak Windows XP nie je v domene, je potrebne pre konfiguraciu WinRM nastavit v lokalnej politike polozku ( Start - Run... - SecPol.msc ) :

    Security Settings \ Local Policies \ Security Options \ Network access: Sharing and security model for local accounts

    na hodnotu Classic - Local users authenticate ...

     

    Z IIS 6 Resource Kit balika nainstalujem SelfSSL.exe, nasledne ho spustim : SelfSSL.exe /N:CN=WXP /V:365 /T

     

    Nie je potrebne uvadzat prepinac /P - SelfSSL nielen ze vygeneruje certifikat, ale zaroven by nakonfiguroval IIS Metabase ( keby na WXP bol nainstalovany IIS Server ). CN=WXP - toto je meno, na ktore sa bude pripajat klient ( ktore musi byt prelozitelne na platnu IP ... ).

    Prepinac /T nakopiruje tento certifikat zaroven do zoznamu doveryhodnych certifikacnych autorit pocitaca WXP. Pokial je certifikat takto generovany na WXP, potom staci otvorit MMC konzolu na WXP, nacitat Snap-In Certificates pre Computer account, a z Personal uloziska vyexporotvat vygenerovany certifikat ( bez privatneho kluca ). Tento certifikat je potrebne nainstalovat na klienta ( W7 ) do zoznamu doveryhodnych certifikacnych autorit pre Computer account. Ziadna dalsia praca s certifikatmi nie je potrebna.

    Uvedeny postup je potrebne zopakovat pre kazde jedno WXP, ktore bude spravovane z W7 ( nevyhoda pouzivania self-signed certifikatov ).

     

    Ak je certifikat generovany na klientovi, teda na Windows 7 :

    SelfSSL.exe /N:CN=WXP /V:365 /T

    Opat, nie je potrebne uvadzat prepinac /P. Prepinac /T zabezpecil instalaciu certifikatu do zoznamu doveryhodnych CA na klientovi ( W7 ), takze staci vyexportovat vygenerovany certifikat z klienta ( spustit MMC konzolu s navysenymi pravami ) z Personal uloziska aj s privatnym klucom a preniest ho na server ( WXP ), kde je potrebne ho nainstalovat do Personal uloziska pre Computer account ( mozete ho nasledne nainstalovat aj do zoznamu doveryhodnych CA na serveri - WXP ).

     

    Certifikaty su tymto vyriesene.

     

    Na WXP ( SERVER ) pokracuje konfiguracia ( staci spustit CMD.EXE, nie je potrebne pustat PowerShell ) :

    • WinRM QuickConfig konfiguruje ovladanie cez HTTP ( WinRM 2.0 otvara pre tento ucel port 5985 )

     konfiguraciu mozno preverit prikazom WinRM Enumerate winrm/config/listener

     

    • pre konfiguraciu HTTPS sluzi prikaz WinRM QuickConfig -transport:https

    Tento prikaz nie je mozne pouzit, pretoze je nainstalovany self-signed certifikat, ktory nie je tymto prikazom akceptovany.

     

    • Pre konfiguraciu HTTPS pristupu je nutne pouzit prikaz winrm create winrm/config/listener?Address=*+Transport=HTTPS @{Hostname="wxp";CertificateThumbprint="XXX"}

    kde Hostname je to same, co v SelfSSL CN .. a CertificateThumbrint sa nachadza v certifikate WXP ( SERVER ), na zalozke Details, hodnota Thumbrint ( skopirovat, odmazat vsetky medzery ) ( postup popisuje aj tato stranka : http://itproctology.blogspot.com/2008/09/securing-hyper-v-winrm-with-self-signed_29.html ). Kontrola prikazom WinRM Enumerate winrm/config/listener.

     

    WinRM 2.0 pre HTTPS pristup nastavi port 5986. Kedze nebol pouzity prikaz WinRM QuickConfig, nedoslo ku konfiguracii Windows Firewallu na WXP ( SERVER ), je potrebne tento port dodatocne manualne otvorit !

     

     

    Z pohladu konfiguracie WXP ( SERVER ) je vsetko hotove a pripravene.

     

     

    Na Windows 7 ( KLIENT ) je potrebne spustit PowerShell ( s navysenymi pravami ) a zadat prikaz :

     

    Enter-PSSession -ComputerName wxp -Port 5986 -Credential Admin -UseSSL

     

     

    A to je vsetko ...

    Boris.

     

     

    4. května 2011 20:42
  • Ahoj,

    k reseni tohoto problemu jsme se dostal az ted...

    Nemas nahodou chybu ve jmene PC kdyz pises...

     

    "Ak je certifikat generovany na klientovi, teda na Windows 7 :

    SelfSSL.exe /N:CN=WXP /V:365 /T"

    Nemelo tam byt jako CN=W7?

    A dalsi vec... pises ze na stroji W7 mam exportovat cert. i s privatnim klicem a nakopirovat na druhy stroj - mne se to nejak nezda. Priv. klic se nikdy neprenasi...

     

    Diky za upresneni.

    22. května 2011 20:18
  • Ahoj,

    nie, ja som v tomto pripade predpokladal, ze certifikat pre windows xp sa bude generovat na Windows 7. Preto na Windows 7 spustim selfssl a prepinace /N:CN=wxp a /T - prepinac /T preto, aby sa tento self-signed certifikat umiestnil do zoznamu doveryhodnych CA na Windows 7. KEby som certifikat generoval na WXP, musel by som ho exportovat a importovat na W7 a tu ho dodatocne nainstalovat.

     

    Suhlasim s tym, ze privatny kluc sa ZVYCAJNE neprenasa - v tomto pripade mi to pride celkom jedno, lebo ho prenasa doveryhodna osoba z konkretneho stroja na konkretny stroj, takze narusenie zabezpecenia tu principialne nevidim ...

     

     

    Boris.

     

    22. května 2011 21:18
  • Ahoj,

    omlouvam se ze jsem se delsi dobu neozval, ale ke konfiguraci WinRM pres HTTPS jsem se dostal znovu az ted. Podle navodu Borise Ulika se mi podarilo zprovoznit WinRM sluzbu pres HTTPS, takze problem muzeme povazovat za vyreseny.

    Snad tento navod pomuze i dalsim, kteri budou stejny problem resit nekdy v budoucnu. Zaroven chci vsem podekovat za ochotu a trpelivost pri reseni meho problemu.

     

    19. června 2011 13:07