Jogok biztosítása a Service Control Managerhez való távoli kapcsolathoz

Fontolja meg a távoli hozzáférési jogok megadásának lehetőségét a kiszolgálón futó szolgáltatások listájára olyan tartományi felhasználó számára, aki nem rendelkezik helyi rendszergazdai jogokkal. Lényegében a feladat az ellátás hozzáférés a távoli kapcsolathoz a szolgáltatásvezérlő kezelőfelületére - Szolgáltatás-vezérlő (SCManager).

Milyen a probléma? Tegyük fel, hogy azt szeretnénk, ha egy távoli felhasználó / vagy megfigyelő rendszer képes lekérdezni a kiszolgálón levő szolgáltatások állapotát. Nyilvánvaló okokból ez a távoli felhasználó nem rendelkezik rendszergazdai és helyi bejelentkezési jogokkal a kiszolgálóra.

Amikor a szolgáltatások.msc konzol használatával megpróbál csatlakozni és lekérni a távoli számítógépen található szolgáltatások listáját, a felhasználó hibaüzenetet kap:

A Windows nem tudta megnyitni a szolgáltatásvezérlő-adatbázist a számítógép_neve alatt

5. hiba: A hozzáférés megtagadva.

Ha megpróbálja felsorolni a távoli kiszolgálón található szolgáltatásokat az sc.exe segédprogrammal, a következő hiba jelentkezik:

C: \ Windows \ system32> sc \\ obts-01 lekérdezés

[SC] OpenSCManager FAILED 5:
A hozzáférés megtagadva.

A szolgáltatások listájához való hozzáférés képességét a Service Control Manager adatbázis biztonsági leírója vezérli, amelynek távoli elérése a „Hitelesített felhasználók” felhasználók számára korlátozott volt a Windows 2003 SP1 rendszerben (ami általában logikus). Csak a helyi rendszergazdák csoportjának tagjai rendelkeznek távoli hozzáférési jogokkal ehhez a szolgáltatáshoz.

Fontolja meg, hogyan lehet a Service Control Managerhez távoli hozzáférést biztosítani a kiszolgálószolgáltatások listájának megszerzéséhez és annak lehetőségéhez, hogy a rendszergazdai jogok nélkül megkapja a szerver szolgáltatások állapotát a Windows Server 2012 R2 példáján..

A jelenlegi Service Manager (SCM) engedélyeket a segédprogrammal lehet beszerezni sc.exe, végrehajtásával a rendszergazdaként elindított parancssorban:

sc sdshow scmanager

A parancs valami hasonlót ad vissza az SDDL sorhoz:

D: (A ;; CC ;;; AU) (A ;; CCLCRPRC ;;; IU) (A ;; CCLCRPRC ;;; SU) (A ;; CCLCRPWPRC ;;; SY) (A ;; KA ;;; BA) (A ;; CC ;;; AC) S: (AU; FA; KA ;;; WD) (AU; OIIOFA; GA ;;; WD)

Ebben az esetben látható, hogy alapértelmezés szerint a hitelesített felhasználók (AU) csoport csak csatlakozni tud az SCM-hez, de nem kérheti le (LC) szolgáltatásokat. Másolja a sort a tesztszerkesztő ablakába.

A következő lépés annak a felhasználónak vagy csoportnak a SID megszerzése, amelyhez távoli hozzáférést akarunk biztosítani az SCM-hez (Hogyan szerezzük be a felhasználó SID-jét név szerint). Például az msk-hd csoport SID AD-jét kapjuk így:

Get-ADgroup - Az 'msk-hd' azonosság | válassza az SID lehetőséget

SID
---
S-1-5-21-2470146451-3958456388-2988885117-23703978

Az SDDL sor szövegszerkesztőjében lemásolnia kell a blokkot  (A ;;CCLCRPRC ;;;NE) - (IU - interaktív felhasználó)), cserélje ki a másolt IU blokkot a felhasználói / csoport SID-re, és illessze be a kapott sort, mielőtt S:.

Esetünkben a következő sort kaptuk:

D: (A ;; CC ;;; AU) (A ;; CCLCRPRC ;;; IU) (A ;; CCLCRPRC ;;; SU) (A ;; CCLCRPWPRC ;;; SY) (A ;; KA ;;; BA) (A ;; CC ;;; AC) (A ;; CCLCRPRC ;;;S-1-5-21-2470146451-3958456388-2988885117-23703978)S: (AU; FA; KA ;;; WD) (AU; OIIOFA; GA ;;; WD)

És most, az sc.exe használatával megváltoztatjuk a Service Control Manager biztonsági leírójának paramétereit:

sc sdset scmanager „D: (A ;; CC ;;; AU) (A ;; CCLCRPRC ;;; IU) (A ;; CCLCRPRC ;;; SU) (A ;; CCLCRPWPRC ;;; SY) (A ;; KA ;;; BA) (A ;; CC ;;; AC) (A ;; CCLCRPRC ;;; S-1-5-21-2470146451-3958456388-2988885117-23703978) S: (AU; FA; KA ;; ; WD) (AU; OIIOFA; GA ;;; WD) “

sor [SC] SetServiceObjectSecurity SUCCESS azt mondja, hogy az új biztonsági beállításokat sikeresen alkalmazták, és a helyileg hitelesített felhasználókhoz hasonló jogokat adtunk: SC_MANAGER_CONNECT, SC_MANAGER_ENUMERATE_SERVICE, SC_MANAGER_QUERY_LOCK_STATUS és STANDARD_RIGHTS_READ.

Ellenőrizze, hogy a távoli felhasználó a szolgáltatások listáját és azok állapotát a szolgáltatáskezelő konzolon (services.msc) és az sc \\ kiszolgálónév1 lekérdezés segítségével tudja megszerezni.

Természetesen nincs jog a futó szolgáltatások kezelésére, mert Az egyes szolgáltatásokhoz való hozzáférést egy egyedi ACL vezérli. A felhasználói jogok megadásához a kiszolgálószolgáltatások indításához / leállításához a cikk Jogok megadása a felhasználó számára a Windows szolgáltatások ellenőrzéséhez (indításához, leállításához, újraindításához) című cikk utasításait kell felhasználni..

tanács. Amikor a SCManagerhez a szokásos jogokat ruház ki, azokat a HKLM \ SYSTEM \ CurrentControlSet \ Control \ ServiceGroupOrder \ Security ágban menti. És ha hiba történt az SDDL sor generálásakor, akkor visszaállíthatja a jelenlegi alapértelmezett engedélyeket, egyszerűen törölve ezt az ágot, és újraindítva..