Installer VMware tools i Windows Server 2016 Core

Ved installation af Windows Server 2016 Core i VMware vil man gerne have det mest optimale ud af serveren. For at kunne køre med den optimerede VMware VMXNET3 netværks driver, så skal der installeres VMware tools. Ved installation af Windows 2016 Core skal man huske at vælge VMXNET3 istedet for default netværks adapteren, ellers skal man til at slette netværks adapteren og tilføje den rigtige efter oprettelsen serveren i VMware.

Følgende vejledning viser hvordan man installerer VMware Tools i Windows 2016 Core.

Start med at logge på med en konto der har Administrator rettigheder. Og start Powershell.

Start VMware Tools installation via VMware vSphere klienten.

Tjek derefter om d:\ er mounted. Dette kan gøres ved at køre Get-PSDrive som viser alle de drev der er mounted på serveren.

Vælg D: drevet og start setup.exe.

Herefter starter installationen som ved den almindelige Desktop udgave af Windows 2016. Det er også muligt at køre installation i silent mode, hvor der ikke er nogen grafisk brugerflade for installationen.

Vælg Typical og tryk Next.

Gå igennem wizarden og installer VMware tools.

Tryk Finish.

Til sidst bliver man bedt om at genstarte, vælg “Yes” og serveren genstartes.

Herefter er VMware tools installeret, man kan nu få adgang til netværket med NetFX3 driveren. Man kan nu starte server konfigurationen ved at køre sconfig.

Sikkerhed

Let’s Encrypt

Let’s Encrypt, er en organisation der tilbyder gratis og automatiseret udstedelse af certifikater til webservere m.m. Organisationen der driver servicen er Internet Security Resesarch Group (ISRG) hvor EFF, Mozilla, Cisco, Akamai med flere støtter op omkring projektet. Deres budskab er at skabe et mere sikkert Internet og bryde tabuet, med at det er for dyrt at få sikkerhed på sit website.

De certifikater der udstedes via Let’s Encrypt er baseret på Domain Validering. Ved oprettelse af certifikatet, skal man kunne identificere sig med at man er ejer af domænet, som certifikatet udstedes til. Dette gør det nemmere at kunne få udstedt certifikatet, da det ikke indebærer validering via personlig henvendelse samt kommunikation via email.

Certifikatets levetid er ikke som normalt, mellem 1 og 5 år, men kun på 90 dage. Læs her på følgende link, hvorfor man har valgt 90 dage. Det gør det noget mere besværligt og kræver noget mere administration af de udstedte certifikater i forhold til normal udstedte certifikater. Dette ved organisationen omkring Let’s Encrypt godt og har derfor sat sig for at kunne automatisere udstedelse af certifikaterne.

Let’s Encrypt har udviklet et API hvor der er udviklet en række klienter som man kan automatisere udstedelse af certifikater. Organisationen er selv kommet med en række klienter til forskellige platforme og med tiden er flere 3 parts leverandører kommet med integrationer til deres API, for at gøre det nemmere at udstede certifikater.

På Windows platformen, er der lavet en klient til PowerShell. Klienten kan installeres via PowerShell Gallery, eller via Chocolatey. Husk at installere PowerShell Gallery eller Chocolatey før man kan installere PowerShell modulet. En anden klient som kan anbefales er letsencrypt-win-simple, denne køres via en kommando prompt.

Jeg har her nævnt lidt plusser og minusser ved denne løsning.

Minusser

  • Begrænset levetid, levetiden er 90 dage kontra 1 – 5 år ved andre certifikater.
  • Man kan ikke udstede wildcard certifkater endnu. Dog kan man udstede SAN hvor man kan have op til 100 FQDN i samme certifikat.

Plusser

  • Det er gratis at få udstedt certifikater til sit website.
  • Da man ikke kan benytte Wildcard, har man muligheden for at benytte SAN, Subject Alternative Names.  domæner. Her kan man tilføje flere Fully Qualified Domain Names til certifikatet, sådan at et certifikat kan håndtere flere websites. op til 100.

Let’s Encrypts hjemmeside.

PowerShell

Overvågning med PowerShell

Overvågning med PowerShell

PowerShell er Microsofts integrerede scripting værktøj som giver mulighed for automatisering af processer og administration af windows servere og windows klienter. Det giver adgang til en kommando shell hvor man kan udføre enkelt kommandoer eller scripts. PowerShell er en erstatning af VB Script.

PowerShell 2.0 indgik i ServicePacks til Windows XP, Vista og server 2003/2008. PowerShell version 3.0 er integreret i Windows Server 2012 samt 2012R2. PowerShell kan opgraderes på Windows 8.0 og 8.1. samt Windows 7 via en ServicePack. Det samme er gældende for Windows Server 2008 og 2008R2.

Microsoft udvikler løbende tools bestående af en række cmdlets, kommandoer til at konfigurere og administrere Windows funktioner med PowerShell.

I Neosec Security Server, giver vi mulighed for at kunne køre PowerShell cmdlets og scripts på de overvågede servere. Neosec Security Server benytter også PowerShell for Windows server monitorering. Neosec Security server understøtter ver. 3.0 og nyere.

Følgende monitore benytter PowerShell

  • windows DHCP Server 2012, 2012R2

Klargøring af Neosec Security Server og PowerShell

Før man kan benytte PowerShell via Neosec Security server, skal de rigtige versioner installeres.

På windows Server 2008 er version 2.0 installeret. Denne skal opgraderes til version 3.0 for at udnytte de nye features.

Følgende skal installeres før version 3.0 kan installeres.

  • WinRm 2.0  : Windows Management Framework Core for Windows server 2008
  • BITS 4.0 : Windows Management Framework BITS for Windows server 2008

Download Windows Management Framework 3.0

Server 2008 SP2

  • Windows6.0-KB2506146-x86.msu
  • Windows6.0-KB2506146-x64.msu

Windows 7 Service Pack 1

  • Windows6.0-KB2506143-x86.msu
  • Windows6.0-KB2506143-x64.msu

Windows 2008R2 SP1

  • Windows6.0-KB2506143-x64.msu

Windows 2012 og 2012R2

  • Her er version 3.0 allerede installeret

Powershell kommunikation

Lokalt

Kørsel af PowerShell scripts lokalt benyttes den konto man er logget ind med. Man kan også angive brugernavn og password for lokal kørsel af script via -Credential parameter.

Kørsel af PowerShell scripts lokalt er normalt tilladt og kan kører uden ekstra konfiguration.

Remote

Når man vil udføre et Powershell script på en remote maskine, kan man benytte parameteren -ComputerName. Her kan man angive den server man vil udføre scriptet på som NETBIOS navn eller FQDN. Den cmdlet eller script der skal udføres er placeret på den maskine hvor man kører Powershell scriptet fra. Det vil sige hvis man vil udføre opgaver på en server fra en Windows 8.x maskine, så skal cmdlets og script være installeret på Windows 8.x maskinen.

PowerShell benytter HTTP og SOAP for remote kommunikation. Portene tcp/5985 og tcp/5986 benyttes ved kommunikationen.

Hvis man ikke har cmdlets samt Scrips lokalt, så kan man udføre scriptet remote ved at oprette en Powershell session til den server man vil udføre scriptet på.

En af udfordringerne med remote management med Powershell er at WinRM kræver at man benytter server navnet på serveren når man forbinder sig med den. Man kan ikke benytte IP adresse eller DNS Alias. Hvis man vil benytte sig af IP adresse og DNS alias, så skal man tilføje den server man vil kommunikere med i TrustedHosts.

Følgende kommando skal køres i en PowerShell kommando prompt med Administrator rettigheder.

Set-Item WSMan:\localhost\Client\TrustedHosts -value *

For at slette informationen i TrustedHosts skal følgende kommando udføres.

Clear-Item WSMan:\localhost\Client\TrustedHosts

For at verificere at man har konfigureret TrustedHosts skal følgende kommando udføres.

Get-Item WSMan:\localhost\Client\TrustedHosts

Hvis man skal forbinde sig til en Windows Server 2008 eller 2008R2, så skal man først aktivere WinRM, dette er ikke automatisk startet. På Windows Server 2012 og 2012R2 er WINrm automatisk startet.

Via Windows PowerShell skrives følgende kommando

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -force

Via Windows PowerShell skrives herefter følgende kommando som aktivere alle de firewall regler der skal være for at kommunikere med serveren via WINrm. Udover dette konfigureres der også en HTTP service som acceptere WS-Man forbindelser, som er det vi benytterin ved remote kommunikation.

Configure-SMRemoting.ps1 -force -enable

PowerShell Query og login

Krypteret forbindelse, her udføres kommando og validering via Kerberous. Man skal kalde serveren med FQDN i det at certifikatet der kryptere forbindelse bliver valideret.

Ukrypteret forbindelse, her udføres kommando og validering ved Basic authentication uden kryptering. Her kan man benytte IP addresse eller FQDN for servernavnet.

Nyttige links

Wikipedia for PowerShell

Nyttige kommandoer

Get-Module -ListAvailable -all

Viser hvilke cmdlets og moduler der er installeret.

Import-Module -name <modulename>

installere moduler der endnu ikke er installeret.