Kí ni idi tí SQL Server fi ń padà sí NTLM nípasẹ̀ VPN?
Kerberos nílò orúkọ iṣẹ́ tó tọ́, SPN lórí àkọsílẹ̀ tó tọ́ àti tikẹ́ẹ̀tì tí ẹni náà lè gbà. Ka auth_scheme kí o tó yí ohunkóhun padà.
Ìsopọ̀ rẹ ń ṣiṣẹ́, a gba ìwọlé, SQL Server sì ń lo NTLM nígbà tí gbogbo ènìyàn retí Kerberos. Èsì yẹn kì í ṣe àbùkù VPN, nítorí ọ̀nà ni ojú-ọ̀nà ń pèsè; orúkọ tí ẹni náà béèrè, olórí tí a forúkọ sílẹ̀ nínú ìwé àkọsílẹ̀ àti tikẹ́ẹ̀tì tí ẹni náà gbà gan-an ló pinnu ètò náà. Àwọn ipò mẹ́ta gbọ́dọ̀ wà ní ìgbà kan náà, ìpàdé náà fúnra rẹ̀ sì sọ èyí tí ó yọ̀. Ka ìyẹn kí ẹnikẹ́ni tó ṣàtúnṣe orúkọ olórí iṣẹ́.
Ìpàdé náà dárúkọ ètò tí o gbà gan-an
Ètò ìjẹ́rìí jẹ́ ti ìsopọ̀ kan kì í ṣe ti sáfà tàbí ojú-ọ̀nà, nítorí náà ìwádìí gbọ́dọ̀ ṣiṣẹ́ nínú ìpàdé tí ó kan ọ̀rọ̀ rẹ. Ṣe ìbéèrè tí ó wà nísàlẹ̀ láti ọ̀dọ̀ ẹni náà, irinṣẹ́ àti àkọsílẹ̀ kan náà tí ó ṣe ìròyìn, kí o sì kọ orúkọ àfojúsùn àti gbígbé lẹ́gbẹ̀ẹ́ èsì náà.
SELECT session_id, auth_scheme, net_transport, client_net_address, login_name
FROM sys.dm_exec_connections
WHERE session_id = @@SPID;
Ìlà kan láti fèrèsé SSMS àdúgbò lórí olùgbàléjò dátàbésì ṣàpèjúwe ìsopọ̀ tí ó yàtọ̀ pátápátá, nítorí náà ìbéèrè gbọ́dọ̀ ṣiṣẹ́ láti ẹ̀gbẹ́ ẹni náà. Fi àmì àkókò pamọ́ ìjáde náà, nítorí ẹni tí yóò kà á yóò béèrè ìgbà tí a gbà á. Nígbà tí ọ̀pọ̀ ohun èlò bá ń pín ibi ìparí kan, gba àpẹẹrẹ láti ọ̀dọ̀ kọ̀ọ̀kan, nítorí ìyàtọ̀ orísun dátà láàárín ohun èlò méjì sábà ni gbogbo ìtàn.
Ipò kìíní: ṣé orúkọ náà bá SPN mu?
Kerberos ń jẹ́rìí iṣẹ́ tí a dárúkọ, nítorí náà ẹni náà béèrè tikẹ́ẹ̀tì lọ́wọ́ ìwé àkọsílẹ̀ fún olórí pàtó kan. Fún olùpèsè TCP, ọ̀nà tí a kọ sílẹ̀ ni MSSQLSvc/ tí orúkọ olùgbàléjò tí ó pé àti, fún àpẹẹrẹ àìlórun, ibùdó wà lẹ́yìn rẹ̀. Àpẹẹrẹ tí a dárúkọ ń forúkọ MSSQLSvc/db01.corp.example:SQLPROD sílẹ̀, níbi tí àfikún náà jẹ́ orúkọ àpẹẹrẹ dípò nọ́mbà. Dídé ọ̀dọ̀ olùgbọ́ nípasẹ̀ orúkọ mìíràn, CNAME tí a yanjú ní ibòmíràn tàbí àdírẹ́sì IP ìhòòhò ń yí orúkọ tí a béèrè padà, ìbéèrè tí kò sì ní olórí tí ó bá mu kò ní tikẹ́ẹ̀tì láti dá padà.
Ìdí nìyẹn tí ohun èlò kan fi ń ṣiṣẹ́ lórí nẹ́tíwọ́kì kan tí ó sì ń padà sẹ́yìn lórí òmíràn: ìdáhùn DNS, àkọsílẹ̀ orúkọ mìíràn tàbí àkọsílẹ̀ hosts yí orúkọ tí ẹni náà lò padà. Fi orúkọ tí a béèrè wé ohun tí ìwé àkọsílẹ̀ ní kí o tó fọwọ́ kan ìforúkọsílẹ̀.
Ipò kejì: ṣé SPN wà lórí àkọsílẹ̀ tó tọ́?
SPN gbọ́dọ̀ jẹ́ ti àkọsílẹ̀ tí ó ń ṣiṣẹ́ iṣẹ́ SQL, kì í ṣe ti àkọsílẹ̀ ẹni náà àti kì í ṣe ti ohun èlò kọ̀mpútà lẹ́ẹ̀kọ̀ọ̀kan. SQL Server lè forúkọ àwọn SPN rẹ̀ fúnra rẹ̀ sílẹ̀ nígbà ìbẹ̀rẹ̀ tí àkọsílẹ̀ iṣẹ́ rẹ̀ bá ní àṣẹ láti kọ wọ́n, èyí tí ó rọrùn tí ó sì tún ṣàlàyé bí ẹ̀dà kan ṣe ń farahàn lẹ́yìn ìyípadà àkọsílẹ̀ iṣẹ́.
Bèèrè ìwé àkọsílẹ̀ fún orúkọ tí o retí, lẹ́yìn náà ṣe àkọsílẹ̀ ohun tí àkọsílẹ̀ náà ní gan-an. Ohun èlò wo ló di àkọsílẹ̀ náà mú ṣe pàtàkì ju bóyá orúkọ náà wà níbìkan nínú igbó. Àìbámu túmọ̀ sí pé ìwọlé kò jẹ́ ìṣòro rí, àti ìtọ́sọ́nà SPN ti Microsoft ṣàlàyé àwọn ọ̀nà àti àwọn ìṣẹ̀lẹ̀ tí alábòójútó agbègbè gbọ́dọ̀ dá àkọsílẹ̀ náà.
setspn -Q MSSQLSvc/db01.corp.example:1433
setspn -L CORP\svc-sql01
Fífi àkọsílẹ̀ mìíràn kún kì í ṣe ìdánwò àìléwu. Ẹ̀dà tàbí ìforúkọsílẹ̀ tí ó tako lè ba àwọn ẹni tí ń ṣiṣẹ́ jẹ́, nítorí náà yẹ̀wò ohun ìní kí o tó yí padà kí o sì tún yẹ̀wò lẹ́yìn náà.
Ipò kẹta: ṣé ẹni náà lè gba tikẹ́ẹ̀tì?
SPN tó tọ́ kò ní láárí tí ẹni náà kò bá lè dé ọ̀dọ̀ olùṣàkóso agbègbè tàbí tí kò ní ipò ẹ̀rí ìdánimọ̀ tí ó ṣe é lò. Ìpààrọ̀ náà nílò KDC àti DNS nípasẹ̀ VPN, ojú-ọ̀nà tí ó ń darí ibùdó SQL nìkan yóò kùnà ní ìgbésẹ̀ yìí gan-an. Ìdèékún gbọ́dọ̀ jẹ́ ìdánwò láti ẹ̀rọ kan náà àti àkọsílẹ̀ kan náà, kì í ṣe láti odi iná tí ó wà níwájú wọn.
Yẹ̀wò káàsì tikẹ́ẹ̀tì lórí ẹ̀rọ àti lábẹ́ àkọsílẹ̀ tí ó ń ṣiṣẹ́ ohun èlò náà. Àkọsílẹ̀ ẹ̀rọ kíkún láti fèrèsé tí a gbé sókè kò sọ ohunkóhun nípa iṣẹ́ tí ó ń ṣiṣẹ́ gẹ́gẹ́ bí olùlò mìíràn, káàsì òfo fún olùlò yẹn sì jẹ́ àwárí kì í ṣe ìdààmú.
klist
klist -li 0x3e7
Lẹ́yìn náà pinnu ohun tí ìpadàsẹ́yìn lè ṣe. Tí ìlànà bá nílò Kerberos, NTLM gbọ́dọ̀ kọ̀ ní gbangba, nítorí ìpadàsẹ́yìn kíjẹ́kíjẹ́ ń yí àṣìṣe ìṣètò padà sí ìsopọ̀ tí ń ṣiṣẹ́ tí ó ń rú ìbéèrè náà. Tí NTLM bá ṣì jẹ́ ìtẹ́wọ́gbà fún àwọn ohun èlò kan, dárúkọ wọ́n kí o sì jáwọ́ láti ka gbogbo ìpàdé NTLM sí ìṣẹ̀lẹ̀.
Yíyí olùbẹ̀rẹ̀ padà jẹ́ àyípadà kan, kì í ṣe àtúnṣe
Bíbẹ̀rẹ̀ SSMS lábẹ́ ẹ̀rí mìíràn lè wo ìdánimọ̀ jáde tí a kò ní lọ́nà, èyí tí ó jẹ́ ẹ̀ka ìṣòro gidi. Kò fi ohunkóhun hàn nípa orúkọ àfojúsùn, ìforúkọsílẹ̀ tàbí ọ̀nà tikẹ́ẹ̀tì, kò sì yí ohun tí sáfà gbà padà.
Jẹ́ kí ìfiwéra wà lábẹ́ ìṣàkóso: ibi ìparí kan náà, olùpèsè kan náà, ipò ìṣiṣẹ́ tí a mọ̀, lẹ́yìn náà ìsopọ̀ tuntun tí o yẹ̀wò ètò rẹ̀. Jẹ́rìí ìwọlé tí a gbà àti àwọn àṣẹ dátàbésì rẹ̀ lọ́tọ̀ọ̀tọ̀, nítorí ìwọlé àti ìjẹ́rìí ń kùnà fún àwọn ìdí tí ó yàtọ̀.
Nígbà tí Kerberos bá jẹ́ dandan, kọ ìdí tí ọ̀nà àkọ́kọ́ fi padà sẹ́yìn, lo àtúnṣe kan kí o sì tún ìbéèrè náà ṣe láti ọ̀dọ̀ ẹni náà. Ìbéèrè tí ó ṣàṣeyọrí lẹ́yìn yíyí olùbẹ̀rẹ̀ padà jẹ́ ẹ̀rí ìwọlé, kò sì tíì jẹ́ ẹ̀rí pé a ti ní ìbéèrè ìjẹ́rìí náà.