Zet de VPN-gateway naast Windows XP, niet erin
Houd de oude Windows XP-host als applicatie-eindpunt en verplaats de tunnel, de sleutels en de updates naar een onderhouden gateway ernaast.
Ergens in het gebouw staat een machine die een applicatie draait die niemand kan vervangen, op een besturingssysteem dat nergens op aangesloten zou moeten worden. Vanaf de netwerkadapter van die host naar buiten lopen is de snelste manier om te zien waar de tunnel hoort. In de meeste ontwerpen hoort hij helemaal niet op de host. Verplaats hem één stap naar een onderhouden gateway, en het oude probleem krimpt terug naar de applicatie waarmee het begon.
Begin bij de adapter van de host, niet bij een VPN-client
Open de adapereigenschappen en geef de host een vast adres op een klein toegewijd segment, met de gateway als standaardroute. De host heeft dan geen tunnelclient, geen tunnelreferenties en geen routingtabelvermeldingen naar het bredere bedrijfsnetwerk nodig. Als de applicatie één extern subnet nodig heeft, voeg dan precies die ene route toe.
C:\> route add 10.20.30.0 mask 255.255.255.0 192.168.50.1 -p
Dat commando pint één bestemming op de gateway en laat al het andere onrouteerbaar, en dat is de vorm die u wilt. Bevestig het resultaat met route print in plaats van op de exitcode te vertrouwen. Controleer daarna of de applicatie nog steeds de servernaam oplost, want een oude host met een kapotte resolver lijkt precies op een netwerkstoring, en de resolver repareren is vijf minuten werk terwijl een applicatie opnieuw opbouwen na een verkeerde netwerkwijziging dat niet is. Elke bestemming die de host niet kan bereiken, is één ding minder waar een oude netwerkstack toe kan worden verleid.
Zet de tunnel op hardware die u kunt updaten
De gateway wil twee interfaces: één richting het hostsegment en één richting de plek waar de applicatie leeft, met de tunnel die op de tweede eindigt. Dat apparaat kan firmware-updates ontvangen, zijn cryptografische configuratie vervangen en stromen loggen zonder dat iemand de oude machine aanraakt. De leverancier levert ook correcties voor de tunnelimplementatie, die de host nooit zal ontvangen. Twee machines en een deadline zijn geen reden om een recept met een statisch geheim uit een forumpost te kopiëren.
Geef elke gateway een eigen peer-identiteit in plaats van één klantconfiguratie over een vloot te klonen. Wanneer een eenheid wordt vervangen, trek de oude identiteit in op hetzelfde moment dat u de nieuwe online brengt, anders houdt u twee ongecontroleerde kopieën over die zich bij hetzelfde eindpunt authenticeren. Bewaar de sleutels waar het beheerplan van de gateway ze verwacht, behandel een configuratieback-up als een geheim en beoordeel wie die configuratie kan pushen, want die bepaalt nu wat de oude host kan bereiken.
Sta diensten toe, geen netwerken
Schrijf het beleid in termen van protocol, poort en richting tussen de twee aansluitingen. Eén toegestane poort naar één applicatieadres is het gebruikelijke antwoord, en een administratief pad via een spronghost dekt de rest.
Extern beheer van de oude host mag niet op dezelfde regel rijden als de applicatie, en het weigeren testen is net zo belangrijk als het schrijven van de regel. Stuur één verzoek vanaf de host naar een bestemming waarvan u verwacht dat die wordt geweigerd en bevestig dat de weigering uit het beleid komt en niet uit een ontbrekende route. Log de stromen die u toestaat terwijl het ontwerp nieuw is, zodat u ziet wat de applicatie werkelijk gebruikt en niet wat haar documentatie beweert. Twee subnetten samenvoegen omdat een overbrugde tutorial korter leek, is hoe een oud segment stilzwijgend een springplank wordt.
Stel de oude listener niet rechtstreeks aan het internet bloot als sluiproute rond de gateway. Houd het administratieve pad gescheiden van het applicatiepad, zodat compromittering van het ene het andere niet overdraagt. Een regel die nooit wordt uitgeoefend is een regel die niemand heeft geverifieerd, en daarom hoort de geweigerde bestemming in de acceptatierun.
Herstel moet zonder de tunnel werken
Bepaal wie de gateway bijwerkt en herstelt vóór de eerste storing, en zorg dat die persoon hem kan bereiken zonder de tunnel die hij beëindigt. Consolettoegang, een lokale beheerpoort of een out-of-band-pad gelden allemaal als antwoorden. Een gateway die alleen via de tunnel die hij levert kan worden geconfigureerd, is een val die geduldig wacht op een slechte firmware-push.
Schrijf de runbook voor de storing die u werkelijk zult tegenkomen: tunnel neer, gateway dood, schijf van de host weg. Houd de herstelimage van de host onder welke ondersteuningsregeling dan ook die nog bestaat, en bedenk dat een herstel ook de softwarestatus en de inloggegevens in die image terugzet. Herstel eerst naar het geïsoleerde segment, bevestig dat de applicatie start en sluit daarna pas iets opnieuw aan; wanneer de gateway verandert, werkt u de runbook en de inventaris in dezelfde sessie bij.
Certificaten, klokken en waarschuwingen over ondertekening
Het verlopen van het certificaat van een installatieprogramma voorspelt op zichzelf niet wat een handtekeningcontrole vandaag zal zeggen. De richtlijnen van Microsoft over Authenticode-tijdstempels leggen uit dat een tijdstempel een handtekening verifieerbaar kan houden nadat het ondertekeningscertificaat is verlopen, en dat validatie nog steeds afhangt van de handtekening, de vertrouwensketen en de verificateur die het werk doet. Twee machines met verschillende vertrouwensopslagen kunnen het dus oneens zijn over hetzelfde bestand. Een verlopen ondertekenaar is geen bewijs dat een binair bestand kwaadaardig is, en een geldige handtekening is geen bewijs dat de software wordt onderhouden.
Zet de systeemklok niet terug en schakel handtekeningcontroles niet uit om een oud installatieprogramma te laten draaien. Verkrijg een geautoriseerd artefact via wie de applicatie nog ondersteunt en laat hen zeggen wat het platform accepteert. Behandel berichten die beweren dat een bepaalde build de laatste voor XP was als geschiedenis, niet als installatiedoel, want de werkelijke eis hangt van de applicatie af; als conserveringswerk echt nodig is, houd het dan op een geïsoleerd segment ver van productietoegang en documenteer waarom het bestaat.