Mae eich cysylltiad yn gweithio, mae’r mewngofnodi’n cael ei dderbyn, ac mae SQL Server yn defnyddio NTLM tra oedd pawb yn disgwyl Kerberos. Nid diffyg VPN yw’r canlyniad hwnnw, oherwydd dim ond llwybr y mae twnnel yn ei ddarparu; penderfynwyd ar y cynllun gan yr enw y gofynnodd y cleient amdano, y prif berson a gofrestrwyd yn y cyfeiriadur a’r tocyn y gallai’r cleient ei gael mewn gwirionedd. Mae’n rhaid i dri amod fod yn wir ar unwaith, ac mae’r sesiwn ei hun yn dweud pa un a ildiodd. Darllenwch hynny cyn i unrhyw un olygu enw prif wasanaeth.

Mae’r sesiwn yn enwi’r cynllun a gawsoch mewn gwirionedd

Mae’r cynllun dilysu’n perthyn i gysylltiad yn hytrach nag i weinydd neu dwnnel, felly mae’n rhaid i’r archwiliad redeg o fewn y sesiwn sy’n bwysig i chi. Rhestrwch y cwestiwn isod o’r un cleient, offeryn a chyfrif a gynhyrchodd yr adroddiad, a chofnodwch enw’r targed a’r cludiant wrth ymyl y canlyniad.

SELECT session_id, auth_scheme, net_transport, client_net_address, login_name
FROM sys.dm_exec_connections
WHERE session_id = @@SPID;

Mae rhes o ffenestr SSMS leol ar westeiwr y gronfa ddata yn disgrifio cysylltiad hollol wahanol, a dyna pam mae’n rhaid i’r cwestiwn redeg o ochr y cleient. Cadwch yr allbwn gyda stamp amser, oherwydd bydd y person nesaf sy’n ei ddarllen yn gofyn pryd y cafodd ei gymryd. Pan fydd nifer o raglenni’n rhannu un pwynt terfyn, cymerwch sampl o bob un, oherwydd gwahaniaeth ffynhonnell ddata rhwng dau raglen yw’r stori gyfan yn aml.

Amod un: a yw’r enw’n cyfateb i’r SPN?

Mae Kerberos yn dilysu gwasanaeth a enwir, felly mae’r cleient yn gofyn i’r cyfeiriadur am docyn ar gyfer un prif berson penodol. Ar gyfer darparwr TCP, y ffurf a ddogfenwyd yw MSSQLSvc/ ac yna’r enw llawn cymwys ar gyfer y gwesteiwr ac, ar gyfer achos diofyn, y porth. Mae achos a enwir yn cofrestru MSSQLSvc/db01.corp.example:SQLPROD, lle mae’r olddodiad yn enw’r achos yn lle rhif. Mae cyrraedd y gwrandawr trwy alias, CNAME sy’n datrys yn rhywle arall neu gyfeiriad IP noeth yn newid yr enw a ofynnwyd amdano, ac nid oes gan gais heb brif berson cyfatebol docyn i’w ddychwelyd.

Dyna pam mae un rhaglen yn gweithio ar un rhwydwaith ac yn disgyn yn ôl ar un arall: fe wnaeth ateb DNS, cofnod alias neu gofnod hosts newid yr enw a ddefnyddiodd y cleient. Cymharwch yr enw a ofynnwyd amdano â’r hyn sydd gan y cyfeiriadur cyn cyffwrdd â’r cofrestriad.

Amod dau: a yw’r SPN ar y cyfrif iawn?

Mae’n rhaid i SPN berthyn i’r cyfrif sy’n rhedeg y gwasanaeth SQL, nid i gyfrif y cleient ac nid yn ddamweiniol i wrthrych cyfrifiadur. Gall SQL Server gofrestru ei SPN ei hun wrth gychwyn pan fydd gan ei gyfrif gwasanaeth y caniatâd i’w hysgrifennu, sy’n gyfleus a hefyd yn esbonio sut y mae dyblyg yn ymddangos ar ôl newid cyfrif gwasanaeth.

Gofynnwch i’r cyfeiriadur am yr enw rydych yn ei ddisgwyl, yna rhestrwch yr hyn sydd gan y cyfrif mewn gwirionedd. Mae pa wrthrych sy’n dal y cofnod yn bwysicach na ph’un a yw’r enw’n bodoli rywle yn y fforest. Mae diffyg cyfatebiaeth yn golygu nad oedd y mewngofnodi erioed yn broblem, ac mae arweiniad SPN Microsoft yn dogfennu’r fformatau a’r achosion lle mae’n rhaid i weinyddwr parth greu’r cofnod.

setspn -Q MSSQLSvc/db01.corp.example:1433
setspn -L CORP\svc-sql01

Nid yw ychwanegu cofnod arall yn arbrawf diogel. Gall dyblyg neu gofrestriad gwrthgyferbyniol dorri cleientiaid a oedd yn gweithio, felly archwiliwch berchnogaeth cyn y newid a’i hailwirio wedyn.

Amod tri: a all y cleient gael tocyn o gwbl?

Mae SPN cywir yn ddiwerth os na all y cleient gyrraedd rheolydd parth neu os nad oes ganddo gyd-destun credlyfr defnyddiadwy. Mae’r cyfnewid angen y KDC a DNS trwy’r VPN, ac mae twnnel sy’n llwybro porth SQL yn unig yn methu yn union yn y cam hwn. Mae’n rhaid profi cyrhaeddedd o’r un peiriant a’r un cyfrif, nid o’r wal dân o’u blaenau.

Archwiliwch y storfa docynnau ar y peiriant ac o dan y cyfrif sy’n rhedeg y rhaglen. Nid yw rhestr ar draws y peiriant o ffenestr uwch yn dweud dim am wasanaeth sy’n rhedeg fel defnyddiwr arall, ac mae storfa wag ar gyfer y defnyddiwr hwnnw’n ddarganfyddiad yn hytrach nag yn anghyfleustra.

klist
klist -li 0x3e7

Yna penderfynwch beth y gall cwymp yn ôl ei wneud. Os yw polisi’n mynnu Kerberos, rhaid gwrthod NTLM yn eglur, oherwydd mae cwymp tawel yn troi gwall cyfluniad yn gysylltiad gweithiol sy’n torri’r gofyniad. Os yw NTLM yn parhau’n dderbyniol i rai rhaglenni, enwch hwy a rhowch y gorau i drin pob sesiwn NTLM fel digwyddiad.

Mae newid y lansiwr yn un newidyn, nid yn atgyweiriad

Gall cychwyn SSMS o dan gredlyfr arall wella hunaniaeth allanol anfwriadol, sy’n dosbarth gwirioneddol o broblem. Nid yw’n profi dim am yr enw targed, y cofrestriad na llwybr y tocyn, ac nid yw’n newid yr hyn a dderbyniodd y gweinydd.

Cadwch y gymhariaeth yn rheoledig: yr un pwynt terfyn, yr un darparwr, cyd-destun gweithredu hysbys, yna cysylltiad newydd yr ydych yn archwilio ei gynllun. Cadarnhewch y mewngofnodi a dderbyniwyd a’i ganiatadau cronfa ddata ar wahân, oherwydd mae mynediad a dilysu’n methu am resymau gwahanol.

Pan fo Kerberos yn ofynnol, cofnodwch pam y methodd y llwybr cyntaf, cymhwyswch un cywiriad ac ail-redegwch y cwestiwn o’r un cleient. Mae cwestiwn llwyddiannus ar ôl newid lansiwr yn dystiolaeth o fynediad, ac nid yw eto’n dystiolaeth bod y gofyniad dilysu wedi’i fodloni.

Erthyglau cysylltiedig