VPN холбогддог ч SQL Server Windows баталгаажуулалтыг татгалздаг
VPN-ээр нэвтрэх ажилладаг ч SQL Server Windows баталгаажуулалтыг татгалздаг: туннелийн бүртгэлийг клиентийн токентой харьцуулж, дараа нь сервер дээр auth_scheme-ийг уншина уу.
Туннель өргөгдөж, серверүүд ping-д хариулдаг ч мэдээллийн санд нэвтрэх нь баталгаажуулалтын алдаатайгаар бүтэлгүйтсээр байна. Энэ хослол VPN холболтод түгээмэл бөгөөд сүлжээ эвдэрсэн гэсэн үг ховор, учир нь хүрч болох сонсогч болон хүлээн зөвшөөрөгдсөн нэвтрэлт нь хоёр өөр үр дүн. Гарцыг хангасан таних тэмдэг нь мэдээллийн сангийн клиентийн санал болгож буй таних тэмдэг байх албагүй. Аль бүртгэл ирснийг олж тогтоох нь бүх ажил.
Шинж тэмдэг: хүрч болох сервер, татгалзсан нэвтрэлт
Хугацаа дуусах нь багц ямар ч сонсогчид хүрээгүй гэдгийг хэлнэ. Баталгаажуулалтын алдаа нь сонсогч хариулж, итгэмжлэлийг татгалзсан гэдгийг хэлнэ. Эдгээр хоёр мессеж таныг өөр багууд руу илгээдэг бөгөөд тэдгээрийг холих нь хэзээ ч асуудал болж байгаагүй галт ханын дүрэмд нэг өдрийг үрэх юм.
Алдаа нь нэвтрэлтийн бүтэлгүйтэл бол портуудыг харахаа болино. Үлдсэн асуулт нь клиент ямар Windows таних тэмдэг танилцуулсан, сервер тэр таних тэмдгийг хүлээн авсан эсэх, мөн эрхтэй мэдээллийн сангийн хэрэглэгч болж шийдэгдсэн эсэх юм.
Хоёр таних тэмдэг, нэг туннель
VPN бүртгэл гарц дээр баталгаажиж, ихэнх байршуулалтад тэнд дуусдаг. Мэдээллийн сангийн клиент нь тусад нь Windows токеныг танилцуулдаг бөгөөд үүнийг ажиллуулж буй процессоос авдаг, эсвэл холболтын мөр шаардвал SQL нэвтрэлтийг танилцуулдаг. Гарц дахь локал VPN хэрэглэгч SQL Server-ийг байршуулж буй домэйнтой ямар ч холбоогүй бөгөөд туннель ийм холбоо үүсгэхгүй.
Хувийн машиныг VPN-д холбох нь түүнийг домэйнд ч оруулахгүй. Локал бүртгэлийн нэрийг өөрчилж, нууц үгийг домэйны хэрэглэгчтэй тааруулах нь бүртгэлийн журам биш бөгөөд домэйны хянагч тэр хэрэглэгч гэж хүлээн авахгүй токен үүсгэдэг.
Зарим Windows-ийн уугуул алсын хандалтын клиентүүд профайл нь тийнхүү тохируулагдсан бол сүлжээний нөөцөд VPN итгэмжлэлийг дахин ашиглаж болно. Энэ зан төлөв нь тодорхой клиент, профайлд хамаарах бөгөөд ерөнхийдөө VPN холболтод биш, тиймээс таамаглахын оронд ашиглагдаж буй клиентийн хувьд шалгана уу.
Клиентийн хүссэн горимыг уншина уу
Холболтын мөр нь клиентийн авах баталгаажуулалтын замыг тодорхойлно. Нэгдсэн аюулгүй байдал Windows токеныг ашигладаг; хэрэглэгч, нууц үгийн хос SQL нэвтрэлтийг сонгодог. Эдгээр нь серверийн тохиргоонд тусдаа горимууд бөгөөд өгөгдсөн холболтын оролдлогын хувьд зөвхөн нэгийг нь идэвхжүүлж болно.
Server=tcp:sql.lab.example,1433;Database=ops;Integrated Security=SSPI;Encrypt=True;TrustServerCertificate=False;
Windows нэвтрэлт бүтэлгүйтсэн тул SQL нэвтрэлт рүү шилжих нь таних тэмдгийн асуултыг нуудаг тойрч гарах шийдэл бөгөөд ихэвчлэн шинэ нэвтрэлт, нууц үг үүсгэх шаардлагатай хэвээр байдаг. Хэрэв байршуулалт Windows баталгаажуулалтыг шаардвал горимыг хадгалж, таних тэмдгийн замыг засна уу. SQL нэвтрэлтэд ч өөрийн эрх хэрэгтэй тул тойрч гарах шийдэл арчилгааны хоёр дахь бүртгэл худалдаж авдаг.
Аль програмын холбогдож буйг ч баталгаажуулна уу. Системийн бүртгэлээр ажиллаж буй үйлчилгээ, товлосон даалгавар, интерактив асуулга цонх нь нэг машинд гурван өөр токен танилцуулж болох бөгөөд зөвхөн сүүлчийнх нь хэрэглэгч whoami ажиллуулах үед хардагтай таарна.
Серверээс үнэхээр юу харсныг асууна уу
Сервер аль нэвтрэлтийг шийдсэн, холболт хэрхэн баталгаажсаныг хэлж чадна. Асуулгыг мөрдөгдөж буй сессийн дотор ажиллуулна уу, учир нь администраторын тусдаа амжилттай холболт бүтэлгүйтэж буй клиентийн талаар юу ч нотлохгүй.
SELECT ORIGINAL_LOGIN() AS original_login,
SUSER_SNAME() AS current_context;
SELECT auth_scheme, net_transport
FROM sys.dm_exec_connections
WHERE session_id = @@SPID;
Эхний мөр нь сессийг нээсэн нэвтрэлтийг одоо хүчинтэй аюулгүй байдлын контекстээс ялгадаг бөгөөд тэд дүр эсгэх үед ялгаатай. Хоёр дахь нь баталгаажуулалтын схемийг нэрлэдэг тул KERBEROS, NTLM, SQL нь таамаг биш харин харагдах баримт болдог. Kerberos хүлээж байсан газарт NTLM мэдээлж буй холболт нь нууц үгийн асуудал биш, нэр шийдвэрлэх эсвэл SPN-ийн асуудал юм.
Алдааны дугаар үүнийг улам нарийсгана. 5 төлөв нь ихэвчлэн нэвтрэлтийн нэрийг огт шийдээгүй гэсэн үг, 8 төлөв нь ихэвчлэн нууц үг таараагүй гэсэн үг, 11 төлөв нь итгэмжлэл хүлээн авсан боловч серверт хандах нь бүтэлгүйтсэн гэсэн үг. Бүх мессежийг биш төлөвийг администратороос асууна уу, учир нь мессеж нь өөрөө санаатайгаар бүрхэг.
| What you observe | What it suggests |
|---|---|
| Timeout, no listener | Route, firewall or wrong port |
| Login failed, state 5 | Name not resolved in the domain |
| Login failed, state 11 | Authenticated but no server access |
| Connected as NTLM | Target name or SPN mismatch |
Таних тэмдэг ирсэн ч Kerberos бүтэлгүйтсээр байх үед
Хэрэв сервер зорьсон Windows таних тэмдгийг харж байгаа ч нэгдсэн баталгаажуулалт бүтэлгүйтсээр байвал асуудал нь солилцоо өөрөө. Kerberos-д SQL үйлчилгээний бүртгэлд бүртгэгдсэн үйлчилгээний үндсэн нэр (SPN) болон үйлчилгээг түүнтэй таарах нэрээр хүсэх клиент хэрэгтэй. IP хаягаар холбогдох нь нэрэд суурилсан SPN-тэй таарах боломжгүй, харин псевдоним нь өөрөө бүртгэгдсэн тохиолдолд л таарч болно. Хамгийн түрүүнд клиентийн бичсэн нэрийг шалгана уу, учир нь хостын нэрээр ажиллаж, IP-ээр бүтэлгүйтэх холболт яг энэ асуудлыг дүрсэлдэг.
Администратороос туршиж алдаж давхар SPN үүсгэхийн оронд бүртгэгдсэн таних тэмдэг болон үйлчилгээний бүртгэлийг хянахыг хүснэ үү. Давхар бүртгэл нь анхны асуудлаас илүү оношлоход хүндрэлтэй тогтмол бус доголдол үүсгэдэг.
Баталгаажуулалт ажилласны дараа ч нэвтрэлтэд мэдээллийн сангийн хэрэглэгч, эрх хэрэгтэй. Амжилттай VPN нэвтрэлт, амжилттай Windows нэвтрэлт, тодорхой хүснэгтийг унших эрх нь гурван тусдаа үр дүн бөгөөд тасалбар хаагдахаас өмнө тус бүр өөрийн шалгалтыг хүлээх ёстой.