Hoppa till innehåll

Steg 5 av 8 · Windows

Serviceagenten är en Windows-tjänst som hör av sig till appliancen över utgående HTTPS och installerar certifikat på servern. När den är godkänd finns servern under Servrar, och sslbrain hittar själv tjänsterna på den.

  • Windows Server 2016 eller senare. Windows Server 2012 och 2012 R2 kräver ESU. MSI-filen är för x64.
  • Ett konto med administratörsbehörighet på servern.
  • Servern når appliancen över HTTPS, port 443 som standard. Porten och adressen som agenterna får finns under Nätverk och DNS › Nätverk. Kan servern inte nå appliancen direkt, läs först Servrar utanför ert nätverk.
  • Windows litar på appliancens certifikat. Det gör Windows när appliancen har det kostnadsfria namnet från steg 3 (Det kostnadsfria namnet).
  • Appliancen är ansluten till sslbrain Cloud. Agenter › Installera hämtar listan över agentversioner därifrån.

Välj sedan hur agenten ska registrera sig:

RegistreringstokenInstallationskod
VarAgenter › InstalleraAgenter › Installationskoder
Gäller föralla servrar, tills tokenet bytsen server, i 1 till 720 timmar (72 som standard)
Agenten kan använda sslbrain Cloudnejja
Följer Agenter › Anslutningnejja
Maskinen väntar underServrarAgenter › Installationskoder
Agentversionallafrån 1.3.3 med kommandot på den här sidan

En agent från version 1.3.3 som är installerad med registreringstoken går själv över till installationskod (Agenter installerade utan installationskod).

  1. Öppna Agenter › Installera och välj Windows.

  2. Välj Manuell installation under installationsmetod.

  3. Klicka på Hämta installationspaket. Filen heter sslbrain-agent-v<version>-win-x64.msi. Finns det flera paket väljer ni under Installationspaket.

  4. Kontrollera filen på servern mot den SHA-256 som sidan visar:

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

Filen hämtas genom appliancen och kräver att ni är inloggade. Metoden En server nedan hämtar filen själv på servern, så den kräver ingen nedladdning.

Appliancen fyller i sin adress och registreringstokenet i kommandot.

  1. Öppna Agenter › Installera och välj Windows.

  2. Kontrollera Applianceadress. Adressen måste gå att nå från servern. localhost på servern är inte appliancen.

  3. Kontrollera att Registreringstoken är ifyllt. Säger sidan att nyckeln är otillgänglig eller återkallad måste valvet vara upplåst, eller så måste en administratör kontrollera nyckeln.

  4. Välj installationsmetod:

    • En server: servern hämtar själv skriptet och MSI-filen från appliancen.
    • Manuell installation: ni har lagt MSI-filen på servern (Hämta MSI-filen).
  5. Klicka på Kopiera kommando.

  6. Öppna PowerShell som administratör på servern. Vid Manuell installation: gå till mappen med MSI-filen. Klistra in kommandot och tryck Enter.

Kommandot för Manuell installation har den här formen och fungerar både i PowerShell och i kommandotolken:

Terminal window
msiexec /i sslbrain-agent-v<version>-win-x64.msi /qn /norestart SERVER=<appliance-adress> TOKEN=<registreringstoken>

Under kommandot finns varianten Installation med kontroll av SHA-256 och signatur. Den installerar bara om filens SHA-256 stämmer och filen är giltigt signerad av FairSSL A/S.

Har appliancen ett certifikat som Windows inte litar på, markera Ignorera TLS-certifikatkontroll (osäkert). Anslutningen är fortfarande krypterad, men agenten kontrollerar inte appliancens identitet. En server använder då curl.exe, som följer med Windows Server 2019 och senare. På Windows Server 2012 R2 och 2016 används Manuell installation.

En installationskod fungerar för en server, en gång. Den innehåller appliancens fingeravtryck, så agenten litar bara på er appliance, även när meddelandena går via sslbrain Cloud. Kräver Windows-agenten från version 1.3.3.

  1. Hämta MSI-filen och lägg den i en mapp på servern (Hämta MSI-filen).

  2. Öppna Agenter › Installationskoder och fyll i Skapa installationskod:

    • Namn: vad koden är till för, till exempel serverns namn. Bara för er, agenten ser det inte.
    • Giltig i timmar: 1 till 720. En oanvänd kod slutar fungera av sig själv.
    • Adresser: kommaseparerade, i den ordning agenten provar dem. Ordet cloud betyder sslbrain Cloud. Rekommendation: appliancens direkta adress först och cloud sist, till exempel https://sslbrain.firma.dk,cloud.
    • Godkänn automatiskt: fungerar bara när Automatiskt agentgodkännande under Uppdateringar › Automatik också är påslaget.
  3. Klicka på Skapa kod och kopiera koden. Den visas bara den här enda gången. Appliancen sparar den inte.

  4. Öppna PowerShell som administratör på servern och gå till mappen med MSI-filen.

  5. Klistra in kommandot nedan på en rad. Ändra filnamnet till filen ni har hämtat, och <adresser> till listan från koden.

  6. När PowerShell frågar efter Install code, klistra in koden och tryck Enter.

  7. Godkänn maskinen under Agenter › Installationskoder (Godkänn servern).

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 visar samma kommando med filnamnet SSLBrainAgent.msi. Använd kommandot här, med namnet på filen ni har hämtat.

Kommandot är en rad eftersom Read-Host annars skulle ta nästa inklistrade rad som koden. Det skapar mappen C:\ProgramData\SSLBrainInstallCode, som bara Administrators och SYSTEM kan läsa, skriver koden i filen sbi.code och installerar MSI-filen med den. Koden står aldrig på kommandoraden, där andra användare på maskinen kan läsa den. Tjänsten flyttar koden till en del av registret som bara SYSTEM och Administrators kan läsa, och tar bort filen. Kan andra läsa eller ändra filen använder agenten den inte och skriver orsaken i sin logg. Skapa i så fall en ny kod.

Använder två maskiner samma kod får den andra avslag, och Agenter › Installationskoder visar att koden har läckt. Den första maskinen påverkas inte.

Utelämnar ni cloud i Adresser använder agenten aldrig sslbrain Cloud förrän en administratör slår på det igen på serverns sida. Ignorera TLS-certifikatkontroll kan inte användas tillsammans med en installationskod.

MSI-filen installeras utan dialogrutor med /qn /norestart. En ny installation kräver SERVER eller CODEFILE. Egenskaperna sparas i registret (Registret).

EgenskapStandardBetydelse
SERVERAppliancens adress, till exempel https://sslbrain.firma.dk
TOKENRegistreringstokenet från Agenter › Installera
CODEFILEFil med en installationskod (från version 1.3.3). Använd kommandot under Installera med en installationskod
DESTINATIONSAdresser i prioriterad ordning, kommaseparerade, cloud för sslbrain Cloud (från version 1.3.1)
CLOUDdeny: agenten kontaktar aldrig sslbrain Cloud, oavsett vad appliancen skickar. allow tar bort spärren (från version 1.3.1)
IGNORETLS01: agenten kontrollerar inte appliancens certifikat. Bara med registreringstoken
CHECKININTERVAL900Sekunder mellan inrapporteringar för en agent installerad med registreringstoken
STARTUPDELAYMIN, STARTUPDELAYMAX900, 3600Väntetid i sekunder före första registreringen med registreringstoken. Slumpmässig inom intervallet
SCRIPTPOLICY15Vilka signerade skript agenten kör (Egna skript)
LOGLEVELinfoLoggnivå i agentens loggfil
NOPHONEHOME01: en agent utan SERVER frågar inte sslbrain Cloud efter appliancens adress

En uppgradering med en nyare MSI-fil behåller adressen, registreringen och övriga värden från registret när de inte står på kommandoraden. MSI-filen vägrar installera en äldre version än den installerade. Anger ni en annan SERVER än den installerade registrerar agenten sig på nytt hos den appliancen.

För utrullning på många servrar med GPO, SCCM eller Intune: Rulla ut serviceagenten på många Windows-servrar.

Agentens inställningar finns i HKLM\SOFTWARE\SSLBrain som strängvärden: ServerURL, Destinations, CloudDeny, IgnoreTLS, NoPhoneHome, ScriptPolicy, CheckInInterval, StartupDelayMin, StartupDelayMax, LogLevel, ToolsPath och AgentId.

  • Registreringstoken och installationskod flyttar tjänsten till HKLM\SOFTWARE\SSLBrain\Credentials, krypterade med DPAPI och bara läsbara för SYSTEM och Administrators.
  • Värden under HKLM\SOFTWARE\Policies\SSLBrain går före värdena ovan, så de kan sättas med en GPO: ScriptPolicy, NoPhoneHome, IgnoreTLS, CloudDeny, CheckInInterval, ServerURL och TrustSignedBefore.
  • Starta om tjänsten efter en ändring: Restart-Service SSLBrainAgent.

En agent installerad med installationskod får inrapportering, omförsök och adresser från Agenter › Anslutning (Så når agenten appliancen).

När agenten har hört av sig väntar maskinen på godkännande, om den inte godkändes automatiskt. Med registreringstoken står den under Servrar, med installationskod under Agenter › Installationskoder. Vid en installationskod: jämför Agentens nyckel på sidan med nyckeln som agenten har skrivit i sin logg (Loggfiler) innan ni klickar på Godkänn. Reglerna för automatiskt godkännande finns under Godkänn nya servrar.

VadVar
Agentens logg, en fil per dag, filer äldre än 30 dagar tas bortC:\ProgramData\SSLBrain\logs\agent-<datum>.log
Uppdateringar av agentenC:\ProgramData\SSLBrain\logs\update-msiexec-<version>-<tid>.log
Installation med installationskod%TEMP%\SSLBrainAgent-install.log

Tjänsten heter SSLBrainAgent (visas som SSLBrain Agent), körs som LocalSystem och startar automatiskt med fördröjd 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 visar status Running.
  • Maskinen finns under Servrar eller under Agenter › Installationskoder, antingen som väntande eller som godkänd.
  • Efter godkännandet visar serverns sida Serviceagent med version och Senast inrapporterad, och tjänsterna på servern dyker upp under Hanterade endpoints.

En agent installerad med registreringstoken väntar en slumpmässig tid på mellan 15 och 60 minuter innan den hör av sig första gången. Det sprider registreringarna när många servrar startar samtidigt. För en enskild server kan ni sätta STARTUPDELAYMIN=0 STARTUPDELAYMAX=0 på msiexec-raden. En agent installerad med installationskod väntar inte.

  • Agenter › Installera visar “Appliancen är inte ansluten till sslbrain Cloud.” eller inget paket: appliancen måste vara ansluten till sslbrain Cloud. Klicka på Hämta releaselistan igen när anslutningen fungerar.
  • msiexec skriver SSLBrain Agent needs its appliance: kommandot saknar SERVER eller CODEFILE. Kopiera kommandot från appliancen igen.
  • PowerShell skriver “That is not an install code”: det inklistrade var inte hela koden. Koden börjar med sbi1..
  • PowerShell skriver “The folder is not locked to Administrators and SYSTEM”: mappen C:\ProgramData\SSLBrainInstallCode har andra behörigheter. Kör kommandot igen som administratör.
  • PowerShell skriver “msiexec failed with exit code”: orsaken står i loggen som meddelandet nämner.
  • Servern dyker inte upp i sslbrain: En serviceagent hör inte av sig.
  • Certifikatet installeras inte på servern: Installationen på servern misslyckas.