SQL preko VPN-a: direktni klijent ili interna radna stanica?
Direktan SQL s VPN laptopa i SSMS na upravljanoj radnoj stanici različiti su putevi povjerenja. Uporedite izvornu adresu i dozvole koje svaki stvara.
Timovi žele SSMS na svojim laptopima, a brzo rješenje je objaviti SQL port na VPN pool. Sporiji odgovor pita gdje klijentski proces treba da radi, jer direktan pristup i interna radna stanica daju različite izvorne adrese, povjerenje u krajnju tačku i putanje podataka. Nijedno nije automatski sigurno, a samo članstvo u VPN-u ne odlučuje ništa. Uporedite dizajne prije nego što postoji pravilo dozvole.
Dvije putanje, dvije izvorne adrese
Kod direktnog pristupa laptop nosi klijentsku konfiguraciju i sam otvara vezu s bazom. Kod udaljene radne stanice laptop otvara sesiju radne površine, a radna stanica ostvaruje SQL vezu sa svoje adrese. Baza zato u prvom dizajnu vidi VPN pool ili prevedeni gateway, a u drugom adresu radne stanice. Ta razlika odlučuje koje pravilo firewall-a i koja SQL dozvola zaista važe.
Laptop i dalje kontrolira udaljenu sesiju, pa radna stanica nije zamjena za autentifikaciju korisnika ili politiku sesije.
Provjerite šta baza zaista vidi
Izvorna adresa se mjeri, a ne zaključuje iz dijagrama. Pročitajte je na serverskoj strani aktivne veze.
Test-NetConnection sql.example.com -Port 1433
sqlcmd -S tcp:sql.example.com,1433 -N -d appdb -Q "select SUSER_SNAME() as login_name, DB_NAME() as db"Test povezanosti dokazuje da listener prihvata TCP iz te mreže, dok upit dokazuje koji su login i baza dostignuti u sesiji. Da vidite adresu koju je server zabilježio, upitajte sys.dm_exec_connections za trenutnu sesiju, što vraća klijentsku adresu nakon svakog prevođenja. Ako je ta vrijednost gateway, a ne laptop, pravilo hosta po korisniku ne može raditi na stroju s bazom. Zapišite opaženu vrijednost uz odabrani dizajn, jer ponovna povezivanja i promjene poola to pomjeraju.
Otvorite listener i ništa više
Otvorite samo servis koji implementacija treba. Poznati 1433 je port zadane instance, a ne univerzalna konstanta.
Get-NetTCPConnection -State Listen -LocalPort 1433Imenovane instance često slušaju na dinamičkom portu, a SQL Server Browser odgovara na otkrivanje preko UDP 1434, i ta ovisnost je zasebna izloženost koju treba opravdati. Fiksiranje stalnog porta za instancu uklanja potrebu za Browserom i čini pravila firewall-a stabilnim. Zadržite provjere šifriranja i certifikata koje klijent već obavlja umjesto da ih isključite da bi test prošao. Zatim dodijelite role baze za radno opterećenje umjesto da cijelu VPN grupu dodate u serversku rolu.
Dokažite dopuštenu putanju i onu zabranjenu
Otvorite novu sesiju kao običan odobreni korisnik i potvrdite identitet servera, bazu i potrebnu operaciju. Zatim potvrdite isključenje: izvor ili račun izvan politike mora pasti na istom testu. Za dizajn s radnom stanicom provjerite da laptop ne može zaobići granicu direktnim dolaskom do baze. Za direktan pristup provjerite da ruta i pravilo izvora i dalje važe nakon ponovnog povezivanja.
Zabilježite gdje je klijent radio, koji je izvor baza primijetila i koje pravilo ga je dopustilo. To su dokazi koje će sljedeći pregled tražiti.