Elk recept voor onbeheerd opnieuw verbinden komt uiteindelijk bij dezelfde vraag uit: waar woont het wachtwoord. Het populaire antwoord is de taakactie zelf, wat ook de slechtste plek ervoor is. Er bestaan twee andere ontwerpen. Welke past hangt af van of de machine zonder persoon kan authenticeren en of de server certificaten accepteert.

Wat een taakactie leesbaar achterlaat

Argumenten in een geplande taak maken deel uit van de definitie, geen verborgen runtime-waarde. Iedereen die de taak kan lezen, er een back-up van kan terugzetten of de XML kan exporteren, ziet de tekenreeks precies zoals je die hebt getypt. Tijdens een uitvoering verschijnt dezelfde tekenreeks in de proceslijst. Een monitoringagent kan hem kopiëren naar een log dat je nooit bekijkt.

schtasks /query /tn "VPN Reconnect" /xml
cmdkey /list

Controleer voordat je het omgekeerde aanneemt. De eerste opdracht drukt de volledige definitie af, inclusief de actie en de argumenten. De tweede toont welke referenties het huidige account in de cache heeft, wat belangrijk is voor de alternatieve ontwerpen hieronder. Als het wachtwoord in de XML van de taak staat, is roteren slechts de helft van de reparatie, want de taak houdt nog de oude waarde vast.

Wat een opgeslagen vooraf gedeelde sleutel echt oplevert

Add-VpnConnection -L2tpPsk schrijft de sleutel in het telefoonboekitem van de verbinding in plaats van in een taak. Dat is een kleiner blootstellingsoppervlak dan een taakactie. Het blijft een herstelbaar geheim, want een beheerder op de machine kan het telefoonboek lezen.

Voor een labverbinding tussen twee machines die je beheert, kan die ruil acceptabel zijn. Voor gebruikersreferenties op een gedeeld eindpunt is dat niet zo. Het versleutelde opslag noemen verandert niet wie het kan lezen. Het telefoonboek is een configuratiebestand. Plan voor de persoon die het kan openen, niet alleen voor de persoon die zich als de gebruiker kan aanmelden.

Winlogon-referenties verwijderen het geheim en voegen een afhankelijkheid toe

-UseWinlogonCredential neemt een andere route. De verbinding authenticeert met MSCHAPv2 tegen de referenties van de aangemelde gebruiker. Voor dat account wordt niets extra opgeslagen.

De afhankelijkheid die het toevoegt is aanzienlijk. Er moet een interactieve aanmelding zijn om van te lenen, wat een serviceaccount en een taak vóór aanmelding uitsluit. De verbinding erft ook alles wat de referenties van die gebruiker op de server kunnen bereiken. Lees de schakelaar als een uitspraak over waar de referentie vandaan komt, niet als een beveiligingsinstelling. Hij verandert de bron, en niets aan hoe de server de sessie daarna autoriseert.

Certificaatauthenticatie schaalt omdat er niets wordt opgeslagen

Waar de server EAP-TLS ondersteunt, verwijdert een machinecertificaat het gedeelde geheim volledig, en intrekking gebeurt op de certificaatlaag. Een taak die als SYSTEM draait, kan dat certificaat presenteren zonder interactieve aanmelding. Bevestig dat de server certificaatauthenticatie accepteert voordat je erop bouwt. Een ontwerp dat afhankelijk is van een niet-ondersteunde methode is een plan in plaats van een oplossing. Bepaal daarna waar de persoonlijke sleutel woont: het machinearchief voor een apparaatidentiteit, het gebruikersarchief voor een persoon.

Waar een gebruikersnaam en wachtwoord niet te vermijden zijn, sla ze op in Credential Manager, beperkt tot het eigen account van de taak. Laat de client ze daar lezen in plaats van uit een argument. Een geheim dat de taak kan ophalen zonder het af te drukken, is een kleiner probleem dan een dat in de definitie is geschreven.

Controleer de artefacten voor de volgende rotatie

Kijk naar wat is opgeslagen in plaats van naar wat je bedoelde. Controleer het telefoonboek per gebruiker, de kopie voor alle gebruikers, de XML van de taak en elk script dat de kiesopdracht aanroept. Bevestig dan dat het certificaat of de referentie in de cache beperkt is tot het account dat de taak gebruikt, want een referentie die voor jouw interactieve account is opgeslagen, is onzichtbaar voor SYSTEM.

Noteer de authenticatiemethode en het account in de notities van de taak zelf. De volgende persoon die het beleid van de server wijzigt, moet weten welk ontwerp in gebruik is. Dat antwoord is niet alleen zichtbaar uit het gedrag bij opnieuw verbinden. Schrijf het waar de volgende rotatie als eerste kijkt.

Gerelateerde artikelen