Score:0

บัญชี AD สำหรับตรวจสอบบริการข้ามเซิร์ฟเวอร์

ธง bq

เรามีเซิร์ฟเวอร์ Windows บางตัวที่เรียกใช้บริการต่างๆ และเรามีสถานการณ์ที่บางครั้งบริการเหล่านั้นก็หยุดทำงาน ในการตรวจสอบบริการเหล่านี้ ฉันได้เขียนบริการ Windows ที่ใช้ ServiceController เพื่อดูบริการที่น่าสงสัยและตรวจสอบสถานะปัจจุบัน วิธีนี้ใช้ได้ดีเมื่อฉันกำหนดค่าบริการใหม่ให้ทำงานภายใต้บัญชีที่มีสิทธิ์ผู้ดูแลระบบภายในไปยังเซิร์ฟเวอร์ที่มีปัญหา แต่นั่นไม่เหมาะอย่างยิ่งจากมุมมองด้านความปลอดภัย เนื่องจากจะให้สิทธิ์นอกเหนือจากการมองเห็นบริการบนเครื่องเหล่านั้นตามหลักการแล้ว ฉันต้องการสร้างบัญชี AD ที่สามารถ "ดู" และสอบถามบริการในเซิร์ฟเวอร์ทั้งหมด (เซิร์ฟเวอร์ที่อยู่ในขอบเขตคือรายการที่จะขยายในอนาคต) แต่ไม่มีสิทธิ์อื่นใดในเซิร์ฟเวอร์เหล่านั้น - นี่คือ เป็นไปได้ และถ้าเป็นเช่นนั้น การตั้งค่าสำหรับบัญชีดังกล่าวเป็นอย่างไร

ฉันขออภัยหากคำอธิบายนี้ค่อนข้างคลุมเครือ ดังนั้นสมมติว่าบริการที่ฉันเขียนจะถูกติดตั้งบน ServerA และจำเป็นต้องใช้ ServiceController เพื่อสอบถามบริการ "MSSQLSERVER" บน ServerB บริการ "MSSQL$OTHERINSTANCE" บน ServerC และบริการ "SOMEOTHERSERVICE" และ "RUNNINGOUTOFIDEAS" บน ServerD นอกจากนี้ รายชื่อบริการที่จะซักถามอยู่ในฐานข้อมูล MS SQL Server บน ServerZ ดังนั้นบัญชีจะต้องสามารถเชื่อมต่อกับฐานข้อมูลนั้นบนเซิร์ฟเวอร์นั้นได้ เพื่อจุดประสงค์ของฉัน บัญชี AD มาตรฐาน ซึ่งมองเห็นได้ในฐานะผู้ใช้ในการรักษาความปลอดภัย SQL Server

ไม่มีใครมีความคิดใด ๆ ? ขอขอบคุณล่วงหน้าสำหรับข้อเสนอแนะใด ๆ และขอขอบคุณที่สละเวลาอ่านข้อความนี้ โปรดทราบ: ความท้าทายในเฟรมเช่น "ทำไมคุณถึงทำเช่นนี้? คุณควรทำ นั่น" จะยินดีพอๆ กับคำตอบโดยตรง เพราะฉันไม่เชื่อว่าไม่มีทางที่ดีกว่านี้ และฉันยินดีเสมอที่จะเรียนรู้

Zac67 avatar
ru flag
คุณสามารถสร้างกลุ่มในเครื่องบนเซิร์ฟเวอร์แต่ละเครื่องด้วยสิทธิ์ที่คุณต้องการ แล้วจึงเพิ่มบัญชี AD (หรือกลุ่ม) สำหรับบริการตรวจสอบ
Spratty avatar
bq flag
@Zac67 - คุณรู้ไหมว่าพวกเขาจะได้รับสิทธิพิเศษอะไรบ้าง? นั่นคือสิ่งที่ฉันติดอยู่มากที่สุด - ฉันไม่ใช่ผู้ดูแลระบบเครือข่าย ดังนั้นคำแนะนำใด ๆ ไปยังเอกสารใด ๆ เกี่ยวกับสิทธิ์หรือบทบาทเหล่านั้นจะได้รับการชื่นชมอย่างมาก
Score:2
ธง jo

บัญชีจะต้องเข้าถึง scmanager ต่อไปนี้เพื่อตรวจสอบบริการเครื่องทั้งหมดจากระยะไกล:

สตริงนี้ที่จะต้องฉีดเข้าไปใน scmanager ACL ปัจจุบัน: (A;;CCLCRPRC;;;<AccountSID>)

ตอบ: อนุญาต
CC - SC_MANAGER_CONNECT - เชื่อมต่อจากระยะไกล
LC - SC_MANAGER_ENUMERATE_SERVICE - แสดงรายการบริการทั้งหมด
RP - SC_MANAGER_QUERY_LOCK_STATUS - ตรวจสอบสถานะของแต่ละรายการ
RC - STANDARD_RIGHTS_READ - อ่านสิทธิ์ของ scmanager และบริการ

ACL ถูกเก็บไว้ที่ HKLM:\SYSTEM\CurrentControlset\Control\ServiceGroupOrder\Security

คุณจะต้องกำหนดว่า ACL ปัจจุบันคืออะไรบน scmanager และรวมสตริงด้านบนในตำแหน่งที่เหมาะสม ซึ่งอยู่ตรงกลาง ต่อท้าย ACL ตามดุลยพินิจ และก่อน ACL ของระบบ เช่น:

D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;; BA)(A;;CC;;;AC)(A;;CC;;;S-1-15-3-1024-xxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx)(A;;CCLCRPRC;;;<SID ไปที่นี่>) S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)

ขึ้นอยู่กับว่าคุณปรับใช้อย่างไรและระบบสำหรับการปรับใช้อัตโนมัติของคุณคืออะไร คุณอาจพบว่าการใช้ประโยชน์จาก sc.exe สั่งการ. "บริการ" ที่คุณจัดการด้วย sc.exe ไม่ใช่บริการจริงๆ แต่เป็นผู้จัดการควบคุมบริการ (scmanager):

sc.exe sdset scmanager "D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A ;;KA;;;BA)(A;;CC;;;AC)(A;;CC;;;S-1-15-3-1024-xxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx)(A;;CCLCRPRC;;; <SID ไปที่นี่>)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)"


นี่เป็นการเข้าถึงที่มากเกินไปในทางเทคนิค เนื่องจากเป็นการให้สิทธิ์แก่บัญชีในการสืบค้นสถานะและการอนุญาตของบริการใดๆ ไม่ใช่แค่หยิบมือเดียว

Spratty avatar
bq flag
ขอบคุณ - มันดู (สำหรับสายตาที่ไม่เชี่ยวชาญของฉัน) เหมือนวิธีแก้ปัญหาที่ใช้การได้ ฉันจะส่งต่อให้ทีมผู้ดูแลเครือข่ายและดูว่าพวกเขาพูดอะไร แต่ฉันมีความหวังสูง ขอขอบคุณอีกครั้ง เราจะกลับมารับคำตอบนี้ทันทีที่ได้รับคำตอบ
Spratty avatar
bq flag
ขอแจ้งให้ทราบว่าทีม NA ของเราได้ตกลงที่จะใช้วิธีนี้ เนื่องจากเป็นการโหลดทั้งหมดที่ดีกว่าทางเลือกอื่นที่เราคิดได้ คุณทราบ: `นี่เป็นการเข้าถึงที่มากเกินไปในทางเทคนิค เนื่องจากเป็นการให้สิทธิ์แก่บัญชีในการสืบค้นสถานะและการอนุญาตของบริการใดๆ ไม่ใช่แค่หยิบมือเดียว' - เราพอใจกับสิ่งนั้น บริการตรวจสอบเกือบจะถูกขยายเพื่อดูบริการอื่น ๆ ตามความต้องการ ดังนั้นการที่เราสามารถดูบริการทั้งหมดได้จะเป็นคุณสมบัติและไม่ใช่จุดบกพร่อง ขอบคุณสำหรับเวลาและคำตอบของคุณ - คุณทำให้สิ่งต่าง ๆ ง่ายขึ้นมากสำหรับฉัน

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา