SQL преку VPN: директен клиент или внатрешна работна станица?
Директниот SQL од VPN преносен компјутер и SSMS на управувана работна станица се различни патеки на доверба. Споредете ја адресата на изворот и дозволите што ги создава секоја.
Тимовите сакаат SSMS на своите преносни компјутери, а брзото решение е да се објави SQL портата во VPN базенот. Побавниот одговор прашува каде треба да работи клиентскиот процес, бидејќи директниот пристап и внатрешната работна станица создаваат различни адреси на изворот, доверба во крајната точка и патеки на податоците. Ниту една не е автоматски безбедна, а само членството во VPN не одлучува ништо. Споредете ги решенијата пред да постои правило за дозвола.
Две патеки, две адреси на изворот
При директен пристап преносниот компјутер ја носи клиентската конфигурација и сам ја отвора врската со базата на податоци. При оддалечена работна станица преносниот компјутер отвора сесија на работна површина, а работната станица ја воспоставува SQL врската од сопствената адреса. Затоа базата на податоци во првото решение го гледа VPN базенот или преведена порта, а во второто адресата на работната станица. Таа разлика одлучува кое правило на огнениот ѕид и која SQL дозвола навистина се применуваат.
Преносниот компјутер и понатаму ја контролира оддалечената сесија, така што работната станица не го заменува автентикацијата на корисникот или политиката за сесии.
Проверете што всушност гледа базата на податоци
Адресата на изворот е нешто што се мери, а не се изведува од дијаграм. Прочитајте ја од страната на серверот при активна врска.
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"Тестот за поврзување докажува дека слушателот прифаќа TCP од таа мрежа, додека барањето докажува кое најавување и која база на податоци ги достигнала сесијата. За да ја видите адресата што серверот ја запишал, побарајте sys.dm_exec_connections за тековната сесија, што ја враќа адресата на клиентот по секое преведување. Ако таа вредност е порта, а не преносниот компјутер, правило за домаќин по корисник не може да работи на машината со базата на податоци. Запишете ја забележаната вредност до избраното решение, бидејќи повторните поврзувања и промените на базенот ја поместуваат.
Отворете го слушателот и ништо повеќе
Отворете ја само услугата што му е потребна на распоредувањето. Познатата 1433 е порта на стандардната инстанца, а не универзална константа.
Get-NetTCPConnection -State Listen -LocalPort 1433Именуваните инстанци често слушаат на динамична порта, а SQL Server Browser одговара на откривањето преку UDP 1434, и таа зависност е посебно изложување што треба да се оправда. Фиксирањето постојана порта за инстанцата ја отстранува потребата од Browser и ги прави правилата на огнениот ѕид стабилни. Задржете ги проверките за шифрирање и сертификати што клиентот веќе ги извршува, наместо да ги исклучите за тестот да помине. Потоа доделете улоги во базата на податоци за работното оптоварување, наместо да ја додадете целата VPN група во серверска улога.
Докажете ја дозволената патека и забранетата
Отворете нова сесија како обичен одобрен корисник и потврдете го идентитетот на серверот, базата на податоци и потребната операција. Потоа потврдете го исклучувањето: извор или сметка надвор од политиката мора да не помине на истиот тест. За решението со работна станица, проверете дека преносниот компјутер не може да ја заобиколи границата со директно достигнување на базата. За директен пристап, проверете дека маршрутата и правилото за изворот и понатаму важат по повторно поврзување.
Запишете каде работел клиентот, кој извор го набљудувала базата на податоци и кое правило го дозволило. Тоа се доказите што ќе ги побара следниот преглед.