Svaki recept za automatsko ponovno povezivanje prije ili kasnije dođe do istog pitanja: gdje živi zaporka. Popularan odgovor je sama radnja zadatka, koja je ujedno i najgore mjesto za nju. Postoje dva druga dizajna. Koji odgovara ovisi o tome može li se računalo autentificirati bez osobe i prihvaća li poslužitelj certifikate.

Što radnja zadatka ostavlja čitljivim

Argumenti u zakazanom zadatku dio su njegove definicije, a ne skrivena vrijednost u vrijeme izvođenja. Svatko tko može pročitati zadatak, vratiti njegovu sigurnosnu kopiju ili izvesti njegov XML vidi niz točno onako kako ste ga upisali. Tijekom izvođenja isti se niz pojavljuje na popisu procesa. Nadzorni agent može ga kopirati u zapisnik koji nikada ne pregledate.

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

Provjerite prije nego pretpostavite suprotno. Prva naredba ispisuje cijelu definiciju, uključujući radnju i njezine argumente. Druga pokazuje koje je vjerodajnice trenutačni račun spremio u predmemoriju, što je važno za alternativne dizajne u nastavku. Ako se zaporka pojavi u XML-u zadatka, njezino mijenjanje samo je pola popravka, jer zadatak još drži staru vrijednost.

Što doista daje pohranjeni unaprijed dijeljeni ključ

Add-VpnConnection -L2tpPsk upisuje ključ u unos telefonskog imenika veze, a ne u zadatak. To je manja površina izloženosti od radnje zadatka. Ipak je to obnovljiva tajna, jer administrator na računalu može pročitati telefonski imenik.

Za laboratorijsku vezu između dva računala koja kontrolirate ta razmjena može biti prihvatljiva. Za korisničke vjerodajnice na dijeljenom odredištu nije. Nazvati je šifriranim spremištem ne mijenja tko je može pročitati. Telefonski imenik je konfiguracijska datoteka. Planirajte za osobu koja ga može otvoriti, ne samo za osobu koja se može prijaviti kao korisnik.

Winlogon vjerodajnice uklanjaju tajnu i dodaju ovisnost

-UseWinlogonCredential ide drugim putem. Veza se autentificira s MSCHAPv2 prema vjerodajnicama prijavljenog korisnika. Za taj se račun ne pohranjuje ništa dodatno.

Ovisnost koju dodaje značajna je. Mora postojati interaktivna prijava s koje se može posuditi, što isključuje servisni račun i zadatak prije prijave. Veza također nasljeđuje sve što vjerodajnice tog korisnika mogu dosegnuti na poslužitelju. Čitajte prekidač kao tvrdnju o tome odakle vjerodajnica dolazi, a ne kao sigurnosnu postavku. On mijenja izvor i ništa u tome kako poslužitelj nakon toga autorizira sesiju.

Autentifikacija certifikatom skalira jer se ništa ne pohranjuje

Gdje poslužitelj podržava EAP-TLS, certifikat računala potpuno uklanja zajedničku tajnu, a opoziv se događa na sloju certifikata. Zadatak koji radi kao SYSTEM može predstaviti taj certifikat bez interaktivne prijave. Potvrdite da poslužitelj prihvaća autentifikaciju certifikatom prije nego što gradite na njoj. Dizajn koji ovisi o nepodržanoj metodi plan je, a ne rješenje. Zatim odlučite gdje živi privatni ključ: spremište računala za identitet uređaja, spremište korisnika za osobu.

Gdje se korisničko ime i zaporka ne mogu izbjeći, spremite ih u Credential Manager ograničene na vlastiti račun zadatka. Neka ih klijent čita odande umjesto iz argumenta. Tajna koju zadatak može dohvatiti bez ispisivanja manji je problem od one zapisane u njegovoj definiciji.

Pregledajte artefakte prije sljedeće rotacije

Gledajte što je pohranjeno, a ne što ste namjeravali. Provjerite telefonski imenik po korisniku, kopiju za sve korisnike, XML zadatka i svaku skriptu koja poziva naredbu biranja. Zatim potvrdite da je certifikat ili predmemorirana vjerodajnica ograničena na račun koji zadatak koristi, jer je vjerodajnica spremljena za vaš interaktivni račun nevidljiva za SYSTEM.

Zapišite metodu autentifikacije i račun u bilješke samog zadatka. Sljedeća osoba koja promijeni pravila poslužitelja mora znati koji je dizajn u igri. Taj odgovor nije vidljiv samo iz ponašanja pri ponovnom povezivanju. Napišite ga tamo gdje će sljedeća rotacija prvo pogledati.

Povezani članci