Add windows updates to install.wim

Door HKLM_ op donderdag 13 december 2018 14:34 - Reacties (1)
Categorie: Windows, Views: 367

Wat is er lastig aan het installeren van een nieuwe PC?

Na de installatie staat de PC altijd te stampen op de windows updates... De iso die je gebruikt heeft namelijk niet het laatste update pack. Nu is het makkelijk om een windows update toe te voegen aan de install.wim die gebruikt zal worden tijdens installaties. Er zijn online tooltjes te vinden die dat doen maar dit kan ook gewoon met Dism in CMD of Powershell. Uiteindelijk heb ik dat verwerkt in een powershell scriptje met een keuze menu.

Mijn script skills zijn ver onder de maat voor en de code zal zeker veel beter kunnen maar het doet wat het moet doen.

Benodigdheden:

- Een Install.wim deze kan worden gevonden in je Iso onder sources.
- Een Microsoft Update bestand deze kan gedownload worden vanaf de Microsoft Update Catalog


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
function Show-Menu
{
     param (
           [string]$Title = 'Add Windows Update To install.wim'
             )
     cls
     Write-Host "================ $Title ================"-ForegroundColor Cyan
     
     Write-Host "1: get-wiminfo"
     Write-Host "2: Mount-Wim"
     Write-Host "3: Add Update to Wim."
     Write-Host "4: Check installed update Packages"
     Write-Host "5: Commit change and Unmount-image"
     Write-Host "Q: Press 'Q' to quit."
}

do

{
     Show-Menu
     $input = Read-Host "Please make a selection"
     

     switch ($input)
     {
           '1' {
                cls
                dism /get-wiminfo /Wimfile:C:\TEMP\UpdateToWim\Windows\install.wim
           } '2' {
                cls
                $IndexID = Read-Host -Prompt "Vul hier het Index ID in"
                dism /Mount-Wim /WimFile:C:\TEMP\UpdateToWim\Windows\install.wim /Index:$IndexID /MountDir:C:\TEMP\UpdateToWim\Mount
           } '3' {
                cls
                $Update = Read-Host -Prompt "Vul hier de naam van de update in"
                Dism /Add-Package /Image:"C:\TEMP\UpdateToWim\Mount" /PackagePath="C:\TEMP\UpdateToWim\WindowsUpdate\$Update"
           } '4' {
                cls
                Dism /Get-Packages /image:C:\TEMP\UpdateToWim\Mount
           } '5' {
                cls
                Dism /Unmount-image /MountDir:C:\TEMP\UpdateToWim\Mount /Commit
           } 'q' {
                return
           }
     }
     pause
}
until ($input -eq 'q')



Ik heb het script omgezet naar een .exe met de tooltje PS2EXE-GUI

Main Menu
Updatetoinstall.wim_Main_Menu

Get-wiminfo
Updatetoinstall.wim_Info_Menu

Naam van de Update
add update

Update geinstalleerd in de install.wim
Update

OneDrive Download: https://1drv.ms/f/s!At8ggI6pxpMpvkQOWpgzE-UOHrNm

In versie 0.3 van het .exe script/programma is het nog nodig om de volgende mappen aan te maken (zie ook de readme)

Maak op de C een map aan genaamd TEMP\UpdateToWim
Plaats in die map vervolgens de volgende mappen

Maak vervolgens een map aan: Mount hier zal straks de install.wim in geladen worden vanuit dism
Maak vervolgens een map aan: Windows en kopier hier de install.wim file in die je wilt bewerken naartoe.
Maak vervolgens een map aan: WindowsUpdate plaats hier de update in die je wilt toevoegen aan de install.wim

Folders

Run het programma als administrator

Als het script/programma klaar is is je install.wim bijgewerkt en kan je deze weer gebruiken voor je installatie.

Vervolg:
Momenteel is het nog nodig om de naam van de update handmatig in te vullen als het script/programma hier om vraagt. Tevens dienen er nog mappen aangemaakt te worden. Dit is iets wat ik in toekomstige versies wil veranderen zodat dit makkelijker zal worden.

Windows 10 rdp + valid ssl certificate

Door HKLM_ op dinsdag 28 augustus 2018 13:32 - Reacties (16)
Categorie: Windows, Views: 3.003

RDP valid ssl

Laat ik eerst beginnen dat het niet verstandig is om systeem via rdp (3389) direct aan publieke internet te hangen. Daar zitten een aantal security risico's aan die je via Google makkelijk kunt vinden.

Mocht je toch bij je systeem willen dan is een VPN de beste optie. Aangezien ik niet overal een VPN kan/mag opzetten kies ik voor om port 3389 voor een aantal ip adressen open te zetten. Hierdoor staat RDP open maar is deze alleen toegankelijk vanaf de opgegeven IP-adressen.

Gebruikte hardware / software

HPE Microserver Gen10
Windows 10 Pro (1803)
Let's Encrypt
Unifi USG 3P


Het self signed certificate:
Standaard komt een RDP sessie met een self signed certificate die onderstaande melding oplevert. Dit certificaat is in beheer van de Remote Desktop Services die iedere keer een nieuwe aanmaakt als deze verloopt.

RDP not valid

Zoals je kunt zien is de servernaam op het certifcaat onjuist en is het niet door een vertrouwde certificeringsinstantie uitgegeven. Uiteraard kan je die melding weg klikken er er nooit meer aan denken maar je kunt ook een geldig certificaat installeren.

Het koste mij wel wat moeite om via google achter de procedure te komen. Veel forums / handleidingen gaan over Windows server waar ze al snel naar een RDP gateway verwijzen. Echter gebruik ik windows 10 dus een RDP gateway is niet aanwezig. (deze handleiding werkt op alle windows systemen)

Install a server authentication certificate:
Open run in windows (windows-key + R) en typ MMC de MMC console zal worden geopend. Kies vervolgens voor Bestand -> Module toevoegen/verwijderen -> Certificaten (Toevoegen) -> Computer account -> locale computer. De MMC console zal je dan de certificaten store laten zien. Navigeer naar Persoonlijk -> Certificaten en importeer je certificate

MMC

Het aanmaken van een register key:
Open het register (Run/regedit) en navigeer naar:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
Maak vervolgens een nieuwe key aan met onderstaande gegevens:
Value name: SSLCertificateSHA1Hash
Value type: REG_BINARY
Value data: certificate thumbprint
Je certificate thumbprint kan worden gevonden in je certificaat onder: Details thumbprint (vingerafdruk) (zo iets) 42,49,e1,6e,0a,f0,a0,2e,63,c4,5c,93,fd,52,ad,09,27,82,1b,01

Remote Desktop Host Services:
De remote desktop host services draait onder het NETWORK SERVICE account. We gaan er voor zorgen dat dit account lees rechten krijgt op de key file van het certificaat.

Open je MMC console met je certificaat weer en klik met rechts op je certificate. Kies voor Alle taken en vervolgens voor Persoonlijke sleutel beheren.... onderstaand scherm zal openen.

rechten

Voeg hier zoals in de screenshot te zien is NETWORK SERVICE toe en geef deze lezen rechten. Windows RDP zal nu gebruik gaan maken van het opgegeven certificaat bij het opzetten van een RDP verbinding.

Testen:
Maak een RDP sessie met je domainnaam.nl wat matcht met je certificaat. Je zult zien dat de not vailid melding niet meer komt in plaats daarvan zal er een slotje zijn in de bovenste RDP balk.

RDP Slot

Als je op het slot klikt zal er een melding komen dat de identiteit van de externe computer is gecontroleerd met behulp van een servercertificaat.

RDP_Cert

RDP_Cert2

Je RDP connectie maakt nu gebruik van een geldig ssl certificate.

Unifi Cloudkey SSL certificate + ssllabs score A

Door HKLM_ op dinsdag 21 augustus 2018 16:25 - Reacties (8)
Categorie: Unifi, Views: 2.474

unifi logo

De Unifi cloudkey heeft standaard de mogelijkheid om gebruik te maken van cloud access via unifi.ubnt.com om zo je cloudkey vanaf een andere locatie te kunnen beheren. Echter ben je dan afhankelijk van de services van ubnt en dat wil niet iedereen. Wil je je Unifi cloudkey zelf via het web kunnen benaderen dan is dat uiteraard ook mogelijk. In deze blog kijk in naar de SSL settings welke gebruikt worden door de CK

Mijn configuratie thuis ziet er als volgt uit:

- Ziggo modem in bridge
- Unifi USG 3P
- Unifi 8P Switch 60w
- Unifi AP-LR
- Unifi Cloudkey

SSL Certificate:
Als je er voor kiest om je Controller naar buiten open te zetten zorg dan voor een geldig SSL Certificaat zodat de verbinding tussen je browser en de webserver (CK) gecodeerd is.
Citaat van: Digicert.com

What is Secure Sockets Layer (SSL)?

Secure Sockets Layer (SSL) is a standard security technology for establishing an encrypted link between a server and a client—typically a web server (website) and a browser, or a mail server and a mail client (e.g., Outlook).

SSL allows sensitive information such as credit card numbers, social security numbers, and login credentials to be transmitted securely. Normally, data sent between browsers and web servers is sent in plain text—leaving you vulnerable to eavesdropping. If an attacker is able to intercept all data being sent between a browser and a web server, they can see and use that information.

More specifically, SSL is a security protocol. Protocols describe how algorithms should be used. In this case, the SSL protocol determines variables of the encryption for both the link and the data being transmitted.

All browsers have the capability to interact with secured web servers using the SSL protocol. However, the browser and the server need what is called an SSL Certificate to be able to establish a secure connection.
SSL Certificate op je CK:
De Unifi Cloudkey draait op Debian en heeft ook ondersteuning voor SSL certificaten. Willie Howe heeft hier een video tutorial van gemaakt (zie hieronder)



Cloudkey Updates:
Ubnt geeft doormiddel van firmware updates ondersteuning op de CK als je de controller naar buiten open zet is het belangrijk om regelmatig te checken welke firmware versie je draait en te controlleren of er een update beschikbaar is. Dit kun je doen in de controller of op de firmware pagina van ubnt.


Security Updates
Ubnt geeft aan dat er dagelijks een controlle is of er nieuwe security updates zijn voor het OS (Debian)
UniFi Cloud Key system checks and security update installs from upstream Debian source daily.
ssllabs.com:
Citaat van: Ivan Ristić, Qualys
About SSL Labs
SSL Labs is a collection of documents, tools and thoughts related to SSL. It's an attempt to better understand how SSL is deployed, and an attempt to make it better. I hope that, in time, SSL Labs will grow into a forum where SSL will be discussed and improved.

SSL Labs is a non-commercial research effort, and we welcome participation from any individual and organization interested in SSL.
ssllabs geeft scans een score tussen A+ en F- waarbij A beter is dan F.
A+ - exceptional configuration
A - strong commercial security
B - adequate security with modern clients, with older and potentially obsolete crypto used with older clients; potentially smaller configuration problems
C - obsolete configuration, uses obsolete crypto with modern clients; potentially bigger configuration problems
D - configuration with security issues that are typically difficult or unlikely to be exploited, but can and should be addressed
E - unused
F - exploitable and/or patchable problems, misconfigured server, insecure protocols, etc.
Ik heb ssllabs een scan/report laten maken van mijn cloudkey configuratie en ubnt heeft het met een A score prima op orde.

Firmware: V0.11.5
Controller: 5.8.28
Valid Certificate: Ja (Comodo PositiveSSL)

Unifi CK SSLLABS 1

Unifi CK SSLLABS 2

Protocols: De Cloudkey maakt gebruik van TLS 1.1 en 1.2. TLS 1.0 en SSL3 & SSL2 zijn uitgeschakeld wat je in deze tijd ook wel mag verwachten.

Is het 100% veilig om mijn cloudkey naar buiten open te zetten met een SSL certificate en A score?

NEE Het naar buiten openzetten van servers heeft altijd een risico. Het gebruik van SSL certificaten en een goed update beleid zorgen er voor dat het risico iets minder groot is maar je moet dit altijd bijhouden en controleren. De CK (Controller) heeft helaas nog geen beschikking over 2FA. Zorg daarom dat je een andere user name kiest dan root of admin (Administrator) en zorg voor een sterk password in de vorm van een password zin. Tevens is goed om te checken of je remote SSH wel of niet wilt toestaan en hier ook een beveiliging voor op te zetten als je dit toch wilt.

Wil je toch meer security dan zou ik gebruik maken van de ubnt cloud service welke wel 2FA heeft of gebruik maken van openvpn of L2TP/Ipsec vpn welke je makkelijk kunt opzetten op een USG,PI of ander device.

Next:
In mijn volgende blog wil ik checken of het mogelijk is om een A+ score te halen door HTTP Strict Transport Security te gaan gebruiken op de CK.

Free online course Hyper-V

Door HKLM_ op zondag 28 augustus 2016 00:19 - Reacties (11)
Categorie: Hyper-V, Views: 2.438

HyperV


In mijn zoektocht naar informatie over Hyper-V die ik ook nog eens dagelijks in mijn werk kan toepassen ben ik gaan zoeken naar een cursus voor Hyper-V.

Nu staan er op Youtube 1001 filmpjes over hyper-v maar soms in een tekstuele uitleg beter geschikt voor mij :)

Na een kleine zoektocht kwam ik op edx.org een website met verschillende trainingen en ook veel gratis trainingen die allemaal online zijn te volgen. edx.org heeft een samenwerking met Microsoft en heeft verschillende trainingen online staan waaronder mijn gezochte Hyper-V training.

Onderwerpen die tijdens de training besproken worden:
  • Virtualization Technologies
  • Implementing Hyper-V
  • Managing Virtual Machine Storage
  • Managing Virtual Networks
  • Windows PowerShell Basics
Ook is er een virtual lab beschikbaar waar de je behandelde items kunt proberen.
Denk bij de opdrachten voor deze lab aan:
  • Create a network share to store virtual machines
  • Create virtual hard disks of different types in the C:\Shares\VHDs folder
  • Create two additional differencing virtual hard disks for specific virtual machines.
  • Use Hyper-V Manager to create a new virtual machine with the following properties.
  • Use Windows PowerShell to create a second virtual machine
Als je interesse hebt in de course deze is beschikbaar via deze link.

Tweakers vormt samen met Tweakers Elect, Hardware.Info, Autotrack, Nationale Vacaturebank en Intermediair de Persgroep Online Services B.V.
Alle rechten voorbehouden © 1998 - 2018 Hosting door True