SQL over VPN: direkte klient eller intern arbejdsstation?
Direkte SQL fra en VPN-bærbar og SSMS på en administreret arbejdsstation er forskellige tillidsveje. Sammenlign kildeadressen og de rettigheder, hver af dem skaber.
Teams vil have SSMS på deres bærbare, og den hurtige løsning er at offentliggøre SQL-porten til VPN-puljen. Det langsommere svar spørger, hvor klientprocessen skal køre, fordi direkte adgang og en intern arbejdsstation giver forskellige kildeadresser, endpoint-tillid og dataveje forskellige. Ingen af dem er automatisk sikker, og VPN-medlemskab alene afgør intet. Sammenlign designene, før der findes en tilladelsesregel.
To veje, to kildeadresser
Ved direkte adgang bærer den bærbare klientkonfigurationen og åbner selv databaseforbindelsen. Ved en fjern arbejdsstation åbner den bærbare en skrivebordssession, og arbejdsstationen laver SQL-forbindelsen fra sin egen adresse. Databasen ser derfor VPN-puljen eller en oversat gateway i det første design og arbejdsstationens adresse i det andet. Den forskel afgør, hvilken firewallregel og hvilken SQL-tilladelse der faktisk gælder.
Den bærbare styrer stadig fjernsessionen, så en arbejdsstation erstatter ikke brugerautentificering eller sessionspolitik.
Kontroller, hvad databasen faktisk ser
Kildeadressen er noget, man måler, i stedet for at udlede den af et diagram. Læs den fra serversiden af en aktiv forbindelse.
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"Forbindelsestesten beviser, at lytteren accepterer TCP fra det netværk, mens forespørgslen beviser, hvilket login og hvilken database sessionen nåede. For at se den adresse, serveren registrerede, skal du forespørge sys.dm_exec_connections for den aktuelle session, hvilket returnerer klientadressen efter enhver oversættelse. Hvis den værdi er en gateway og ikke den bærbare, kan en værtsregel per bruger ikke fungere på databasemaskinen. Skriv den observerede værdi ved siden af det valgte design, fordi genforbindelser og puljeændringer flytter den.
Åbn lytteren og intet ekstra
Åbn kun den tjeneste, som udrulningen har brug for. Den velkendte 1433 er standardinstansens port og ikke en universel konstant.
Get-NetTCPConnection -State Listen -LocalPort 1433Navngivne instanser lytter ofte på en dynamisk port, hvor SQL Server Browser svarer på opdagelse via UDP 1434, og den afhængighed er en særskilt eksponering, der skal begrundes. At fastgøre en fast port til instansen fjerner behovet for Browser og gør firewallregler stabile. Behold de krypterings- og certifikatkontroller, klienten allerede udfører, i stedet for at slå dem fra for at få en test til at bestå. Tildel derefter databaseroller til arbejdsbelastningen i stedet for at føje hele VPN-gruppen til en serverrolle.
Bevis den tilladte vej og den afviste
Åbn en ny session som en almindelig godkendt bruger, og bekræft serveridentiteten, databasen og den krævede handling. Bekræft derefter udelukkelsen: en kilde eller konto uden for politikken skal fejle den samme test. For arbejdsstationsdesignet skal du kontrollere, at den bærbare ikke kan omgå grænsen ved at nå databasen direkte. For direkte adgang skal du kontrollere, at ruten og kildereglen stadig holder efter en genforbindelse.
Registrer, hvor klienten kørte, hvilken kilde databasen observerede, og hvilken regel der tillod det. Det er den dokumentation, den næste gennemgang vil bede om.