Gå til indhold

Trin 5 af 8 · Windows

Service-agenten er en Windows-tjeneste, der melder sig hos appliancen over udgående HTTPS og installerer certifikater på serveren. Når den er godkendt, står serveren under Servere, og sslbrain finder selv tjenesterne på den.

  • Windows Server 2016 eller nyere. Windows Server 2012 og 2012 R2 kræver ESU. MSI-filen er til x64.
  • En konto med administratorrettigheder på serveren.
  • Serveren kan nå appliancen over HTTPS, port 443 som standard. Porten og den adresse, agenterne får, står under Netværk og DNS › Netværk. Kan serveren ikke nå appliancen direkte, så læs Servere uden for jeres netværk først.
  • Windows stoler på appliancens certifikat. Det gør Windows, når appliancen har det gratis navn fra trin 3 (Gratis navn).
  • Appliancen er forbundet til sslbrain Cloud. Agenter › Installér henter listen over agentversioner derfra.

Vælg derefter, hvordan agenten skal tilmelde sig:

TilmeldingsnøgleInstallationskode
HvorAgenter › InstallérAgenter › Installationskoder
Gælder foralle servere, indtil nøglen roteresén server, i 1 til 720 timer (72 som standard)
Agenten kan bruge sslbrain Cloudnejja
Følger Agenter › Forbindelsenejja
Maskinen venter underServereAgenter › Installationskoder
Agentversionallefra 1.3.3 med kommandoen på denne side

En agent fra version 1.3.3, der er installeret med tilmeldingsnøglen, flytter sig selv over til installationskode (Agenter installeret uden installationskode).

  1. Åbn Agenter › Installér, og vælg Windows.

  2. Vælg Manuel installation under installationsmetode.

  3. Klik på Hent installationspakke. Filen hedder sslbrain-agent-v<version>-win-x64.msi. Er der flere pakker, vælger I under Installationspakke.

  4. Kontrollér filen på serveren mod den SHA-256, siden viser:

    Terminal window
    Get-FileHash .\sslbrain-agent-v<version>-win-x64.msi -Algorithm SHA256

Filen hentes gennem appliancen og kræver, at I er logget ind. Metoden Én server nedenfor henter selv filen på serveren, så den kræver ingen download.

Appliancen fylder sin adresse og tilmeldingsnøglen ind i kommandoen.

  1. Åbn Agenter › Installér, og vælg Windows.

  2. Kontrollér Applianceadresse. Adressen skal kunne nås fra serveren. localhost på serveren er ikke appliancen.

  3. Kontrollér, at Tilmeldingsnøgle er udfyldt. Siger siden, at nøglen er utilgængelig eller tilbagekaldt, så skal vault’en være åben, eller en administrator skal kontrollere nøglen.

  4. Vælg installationsmetode:

    • Én server: serveren henter selv scriptet og MSI-filen fra appliancen.
    • Manuel installation: I har lagt MSI-filen på serveren (Hent MSI-filen).
  5. Klik på Kopiér kommando.

  6. Åbn PowerShell som administrator på serveren. Ved Manuel installation: gå til mappen med MSI-filen. Indsæt kommandoen, og tryk Enter.

Kommandoen til Manuel installation har denne form og virker både i PowerShell og i kommandoprompten:

Terminal window
msiexec /i sslbrain-agent-v<version>-win-x64.msi /qn /norestart SERVER=<appliance-adresse> TOKEN=<tilmeldingsnøgle>

Under kommandoen ligger varianten Installation med kontrol af SHA-256 og signatur. Den installerer kun, hvis filens SHA-256 passer, og filen er gyldigt signeret af FairSSL A/S.

Har appliancen et certifikat, Windows ikke stoler på, så markér Ignorér TLS-certifikatkontrol (usikkert). Forbindelsen er stadig krypteret, men agenten kontrollerer ikke appliancens identitet. Én server bruger så curl.exe, som følger med Windows Server 2019 og nyere. På Windows Server 2012 R2 og 2016 bruges Manuel installation.

En installationskode virker for én server, én gang. Den indeholder appliancens fingeraftryk, så agenten kun stoler på jeres appliance, også når beskederne går via sslbrain Cloud. Kræver Windows-agenten fra version 1.3.3.

  1. Hent MSI-filen, og læg den i en mappe på serveren (Hent MSI-filen).

  2. Åbn Agenter › Installationskoder, og udfyld Opret installationskode:

    • Navn: hvad koden er til, fx serverens navn. Kun til jer, agenten ser det ikke.
    • Gyldig i timer: 1 til 720. En ubrugt kode holder op med at virke af sig selv.
    • Adresser: kommasepareret, i den rækkefølge agenten prøver dem. Ordet cloud betyder sslbrain Cloud. Anbefalet: appliancens direkte adresse først og cloud sidst, fx https://sslbrain.firma.dk,cloud.
    • Godkend automatisk: virker kun, når Automatisk agentgodkendelse under Opdateringer › Automatik også er slået til.
  3. Klik på Opret kode, og kopiér koden. Den vises kun denne ene gang. Appliancen gemmer den ikke.

  4. Åbn PowerShell som administrator på serveren, og gå til mappen med MSI-filen.

  5. Indsæt kommandoen nedenfor på én linje. Ret filnavnet til den fil, I har hentet, og <adresser> til listen fra koden.

  6. Når PowerShell spørger efter Install code, så indsæt koden og tryk Enter.

  7. Godkend maskinen under Agenter › Installationskoder (Godkend serveren).

Terminal window
$d = "$env:ProgramData\SSLBrainInstallCode"; if (Test-Path -LiteralPath $d) { Remove-Item -LiteralPath $d -Recurse -Force -ErrorAction Stop }; $s = New-Object System.Security.AccessControl.DirectorySecurity; $s.SetAccessRuleProtection($true, $false); foreach ($sid in 'S-1-5-32-544', 'S-1-5-18') { $s.AddAccessRule((New-Object System.Security.AccessControl.FileSystemAccessRule((New-Object System.Security.Principal.SecurityIdentifier($sid)), 'FullControl', 'ContainerInherit,ObjectInherit', 'None', 'Allow'))) }; [void][IO.Directory]::CreateDirectory($d, $s); $a = Get-Acl -LiteralPath $d; $o = $a.GetOwner([System.Security.Principal.SecurityIdentifier]).Value; $me = [System.Security.Principal.WindowsIdentity]::GetCurrent().User.Value; if (-not $a.AreAccessRulesProtected -or ($o -notin @('S-1-5-32-544', 'S-1-5-18', $me)) -or @(Get-ChildItem -LiteralPath $d -Force).Count -ne 0 -or @($a.Access | Where-Object { $_.IdentityReference.Translate([System.Security.Principal.SecurityIdentifier]).Value -notin 'S-1-5-32-544', 'S-1-5-18' }).Count -ne 0) { throw 'The folder is not locked to Administrators and SYSTEM, so no code was written' }; $c = Read-Host 'Install code'; if ($c -notmatch '^sbi1\.[A-Za-z0-9_-]{64}$') { throw 'That is not an install code, so nothing was installed' }; $f = [IO.File]::Open("$d\sbi.code", 'CreateNew', 'Write'); $b = [Text.Encoding]::ASCII.GetBytes($c + "`r`n"); $f.Write($b, 0, $b.Length); $f.Close(); $msi = (Resolve-Path -LiteralPath 'sslbrain-agent-v<version>-win-x64.msi').Path; $log = "$env:TEMP\SSLBrainAgent-install.log"; msiexec /i $msi /qn /norestart /l*v $log CODEFILE="$d\sbi.code" DESTINATIONS='<adresser>' | Out-Null; if ($LASTEXITCODE -notin 0, 3010) { throw "msiexec failed with exit code $LASTEXITCODE; its log is $log" }

Appliancen viser samme kommando med filnavnet SSLBrainAgent.msi. Brug kommandoen her med navnet på den fil, I har hentet.

Kommandoen er én linje, fordi Read-Host ellers ville tage den næste indsatte linje som koden. Den opretter mappen C:\ProgramData\SSLBrainInstallCode, som kun Administrators og SYSTEM kan læse, skriver koden i filen sbi.code og installerer MSI-filen med den. Koden står aldrig på kommandolinjen, hvor andre brugere på maskinen kan læse den. Tjenesten flytter koden til en del af registreringsdatabasen, som kun SYSTEM og Administrators kan læse, og sletter filen. Kan andre læse eller ændre filen, bruger agenten den ikke og skriver årsagen i sin log. Opret i så fald en ny kode.

Bruger to maskiner den samme kode, får den anden afslag, og Agenter › Installationskoder viser, at koden er sluppet ud. Den første maskine påvirkes ikke.

Udelader I cloud fra Adresser, bruger agenten aldrig sslbrain Cloud, før en administrator slår det til igen på serverens side. Ignorér TLS-certifikatkontrol kan ikke bruges sammen med en installationskode.

MSI-filen installeres uden dialoger med /qn /norestart. En ny installation kræver SERVER eller CODEFILE. Egenskaberne gemmes i registreringsdatabasen (Registreringsdatabasen).

EgenskabStandardBetydning
SERVERAppliancens adresse, fx https://sslbrain.firma.dk
TOKENTilmeldingsnøglen fra Agenter › Installér
CODEFILEFil med en installationskode (fra version 1.3.3). Brug kommandoen under Installér med en installationskode
DESTINATIONSAdresser i prioriteret rækkefølge, kommasepareret, cloud for sslbrain Cloud (fra version 1.3.1)
CLOUDdeny: agenten kontakter aldrig sslbrain Cloud, uanset hvad appliancen sender. allow fjerner spærringen (fra version 1.3.1)
IGNORETLS01: agenten kontrollerer ikke appliancens certifikat. Kun med tilmeldingsnøgle
CHECKININTERVAL900Sekunder mellem indmeldinger for en agent installeret med tilmeldingsnøgle
STARTUPDELAYMIN, STARTUPDELAYMAX900, 3600Ventetid i sekunder før første tilmelding med tilmeldingsnøgle. Tilfældig inden for intervallet
SCRIPTPOLICY15Hvilke signerede scripts agenten kører (Egne scripts)
LOGLEVELinfoLogniveau i agentens logfil
NOPHONEHOME01: en agent uden SERVER spørger ikke sslbrain Cloud om appliancens adresse

En opgradering med en nyere MSI-fil beholder adressen, tilmeldingen og de øvrige værdier fra registreringsdatabasen, når de ikke står på kommandolinjen. MSI-filen afviser en ældre version end den installerede. Angiver I en anden SERVER end den installerede, tilmelder agenten sig på ny hos den appliance.

Til udrulning på mange servere med GPO, SCCM eller Intune: Rul service-agenten ud på mange Windows-servere.

Agentens indstillinger står i HKLM\SOFTWARE\SSLBrain som tekstværdier: ServerURL, Destinations, CloudDeny, IgnoreTLS, NoPhoneHome, ScriptPolicy, CheckInInterval, StartupDelayMin, StartupDelayMax, LogLevel, ToolsPath og AgentId.

  • Tilmeldingsnøgle og installationskode flytter tjenesten til HKLM\SOFTWARE\SSLBrain\Credentials, krypteret med DPAPI og kun læsbar for SYSTEM og Administrators.
  • Værdier under HKLM\SOFTWARE\Policies\SSLBrain går forud for dem ovenfor, så de kan sættes med en GPO: ScriptPolicy, NoPhoneHome, IgnoreTLS, CloudDeny, CheckInInterval, ServerURL og TrustSignedBefore.
  • Genstart tjenesten efter en ændring: Restart-Service SSLBrainAgent.

En agent installeret med installationskode får indmelding, genforsøg og adresser fra Agenter › Forbindelse (Sådan når agenten appliancen).

Når agenten har meldt sig, venter maskinen på godkendelse, medmindre den blev godkendt automatisk. Med tilmeldingsnøgle står den under Servere, med installationskode under Agenter › Installationskoder. Ved en installationskode: sammenlign Agentens nøgle på siden med den nøgle, agenten har skrevet i sin log (Logfiler), før I klikker på Godkend. Reglerne for automatisk godkendelse står under Godkend nye servere.

HvadHvor
Agentens log, én fil pr. dag, filer over 30 dage slettesC:\ProgramData\SSLBrain\logs\agent-<dato>.log
Opdateringer af agentenC:\ProgramData\SSLBrain\logs\update-msiexec-<version>-<tid>.log
Installation med installationskode%TEMP%\SSLBrainAgent-install.log

Tjenesten hedder SSLBrainAgent (vist som SSLBrain Agent), kører som LocalSystem og starter automatisk med forsinket start. Programmet ligger i C:\Program Files\SSLBrain\.

Terminal window
Get-Service SSLBrainAgent
Get-Content "C:\ProgramData\SSLBrain\logs\agent-$(Get-Date -Format yyyy-MM-dd).log" -Tail 50
  • Get-Service SSLBrainAgent viser status Running.
  • Maskinen står under Servere eller under Agenter › Installationskoder, enten som ventende eller som godkendt.
  • Efter godkendelsen viser serverens side Serviceagent med version og Sidst meldt ind, og tjenesterne på serveren dukker op under Tjenester.

En agent installeret med tilmeldingsnøglen venter et tilfældigt tidsrum på mellem 15 og 60 minutter, før den melder sig første gang. Det spreder tilmeldingerne, når mange servere starter samtidig. Ved en enkelt server kan I sætte STARTUPDELAYMIN=0 STARTUPDELAYMAX=0 på msiexec-linjen. En agent installeret med installationskode venter ikke.

  • Agenter › Installér viser “Appliancen er ikke tilkoblet sslbrain Cloud” eller ingen pakke: appliancen skal være forbundet til sslbrain Cloud. Klik på Hent releaseoversigt igen, når forbindelsen virker.
  • msiexec skriver SSLBrain Agent needs its appliance: kommandoen mangler SERVER eller CODEFILE. Kopiér kommandoen fra appliancen igen.
  • PowerShell skriver “That is not an install code”: det indsatte var ikke hele koden. Koden starter med sbi1..
  • PowerShell skriver “The folder is not locked to Administrators and SYSTEM”: mappen C:\ProgramData\SSLBrainInstallCode har andre rettigheder. Kør kommandoen igen som administrator.
  • PowerShell skriver “msiexec failed with exit code”: årsagen står i den log, meldingen nævner.
  • Serveren dukker ikke op i sslbrain: Agenten melder sig ikke.
  • Certifikatet bliver ikke installeret på serveren: Installationen fejler.