Score:1

ฉันจะตั้งค่าการอนุญาตในที่เก็บใบรับรองบริการได้อย่างไร

ธง cz

ฉันมีบริการที่ต้องเข้าถึงที่เก็บใบรับรองของตัวเอง แต่การเข้าถึงถูกปฏิเสธ

ฉันตรวจสอบกับ mmc และสแน็ปอินใบรับรองสำหรับบริการและร้านค้าที่มีอยู่และมีใบรับรอง อย่างไรก็ตาม ใน snapin ฉันไม่สามารถดูหรือตั้งค่าการอนุญาตได้

ฉันลองทิ้งใบรับรอง (สำหรับการทดสอบ ภายหลังเพื่อเปลี่ยนสิทธิ์) โดยใช้ certutil แต่ฉันยังคงได้รับ FAILED ด้วย "พารามิเตอร์ไม่ถูกต้อง" ไวยากรณ์ที่ฉันใช้คือ

certutil -service -store servicename\my

ชื่อบริการคือชื่อบริการของฉัน และ "ของฉัน" ได้รับการระบุอย่างถูกต้องว่าเป็นชื่อของร้านค้า "ส่วนบุคคล" ของบริการโดยใบรับรอง ฉันรู้ว่ามีร้านค้าอยู่ตั้งแต่ mmc แสดง

ฉันทำอะไรผิดกับใบรับรอง

Score:2
ธง cn

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

แก้ไข: ฉันได้ยืนยันสิ่งนี้หลังจากการทดสอบ แม้ว่าฉันจะไม่แน่ใจว่านี่เป็นพฤติกรรมที่คาดหวังหรือไม่ เนื่องจากเอกสารประกอบของ certutil ไม่ดี certutil.exe -store -service (ชื่อร้านค้า) ดูเหมือนว่าจะเป็นไวยากรณ์ที่เหมาะสมในการเข้าถึงใบรับรองภายใต้ร้านบริการ ร้านบริการตั้งอยู่ที่ HKLM\SOFTWARE\Microsoft\Cryptography\Services\(ชื่อบริการ)\ ในรีจิสทรี แต่ certutil จะแทรก SID ของผู้ใช้ปัจจุบันแทนชื่อบริการเมื่อค้นหาดังนี้: HKLM\Software\Microsoft\Cryptography\Services\(SID)\SystemCertificates\ทำให้การค้นหาล้มเหลว คุณสามารถแทนที่ SID ด้วย -ไซด์ พารามิเตอร์ แต่ดูเหมือนจะไม่ทำงานหากคุณระบุชื่อบริการ หากคุณค้นหา SID บริการด้วย sc.exe แสดงรหัส (ชื่อบริการ) แล้วเสียบเข้าไป มันขึ้นว่า "ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง" ดูเหมือนว่า certutil จะรองรับ SID ที่รู้จักกันดีสองสามตัวเท่านั้น (ฉันได้ลองแปลง SID ของบริการเป็นรูปแบบตัวเลขด้วยซ้ำ) ถ้าคุณต้องการทำซ้ำงานของฉัน คุณต้องปิด Procmon

เมื่อพบแล้ว ฉันจะถือว่าคุณสามารถนำเข้าใบรับรองได้ก็ต่อเมื่อคุณเรียกใช้ certutil ภายใต้บริบทของบริการ ดูเหมือนว่าวิธีที่ง่ายที่สุดในการแก้ปัญหาของคุณก็คือ

  1. แก้ไขรีจิสทรีด้วยตนเอง
  2. จัดเก็บใบรับรองในที่เก็บเครื่อง และให้สิทธิ์การบริการแก่พวกเขา
  3. จัดเก็บใบรับรองในที่เก็บผู้ใช้ของผู้ใช้ที่ใช้บริการ
flashbang avatar
cn flag
อาจเกี่ยวข้อง - https://serverfault.com/questions/450831/remove-a-certificate-from-the-windows-network-service-certificate-store?rq=1
cz flag
ไม่ นั่นไม่ใช่ ฉันไม่ต้องการนำเข้าใบรับรองไปยังร้านค้าส่วนตัวของผู้ใช้รายอื่น (อันที่จริง ไม่มีการกล่าวถึงการนำเข้าหรือร้านค้าของผู้ใช้รายอื่นในคำถาม) นี่เป็นเรื่องเกี่ยวกับร้านค้าบริการ (ไม่ใช่ร้านค้าของผู้ใช้บริการ) ซึ่ง mmc สามารถดูได้ แต่ certutil ไม่สามารถทำได้
flashbang avatar
cn flag
สวัสดี @ AndrewJ.Brehm - ฉันได้อัปเดตคำตอบของฉันด้วยงานวิจัยบางอย่างที่ฉันเชื่อว่ายืนยันทฤษฎีดั้งเดิมของฉัน
cz flag
ข้อสังเกตที่น่าสนใจ แต่ฉันจะทำงานในบริบทของบริการซึ่งตรงข้ามกับบริบทของบัญชีบริการได้อย่างไร
flashbang avatar
cn flag
เป็นคำถามที่ดี วิธีหนึ่งที่ฉันคิดได้คือใช้ psexec ดูเหมือนว่าจะรองรับการตั้งค่าสถานะ `-r` ซึ่งอนุญาตให้คุณโต้ตอบกับบริการได้ แต่นั่นอาจไม่ทำงานเนื่องจากฉันคิดว่า psexec ทำงานเป็นบริการของตัวเอง คุณอาจลองบางอย่างใน PowerShell เช่น: `New-PSDrive MySvcCert -PSProvider Certificate -Root '(ServiceName)\My'` จากนั้น `cd MySvcCert:` แต่ฉันไม่เคยทำแบบนั้นมาก่อน
SamErde avatar
gg flag
คุณได้ลองใช้ "SID ที่รู้จักกันดี" ของกลุ่มผู้ดูแลระบบภายในหรือระบบท้องถิ่นหรือไม่
flashbang avatar
cn flag
@SturdyErde ฉันลองหนึ่งใน SID ที่รู้จักกันดีที่รองรับ (บริการเครือข่าย - 24) และใส่ SID `S-1-5-20` แบบเต็ม ไม่รู้สึกเหมือนตรวจสอบคนอื่น แต่ฉันคิดว่ามันน่าจะคล้ายกัน อีกสองตัวที่อ้างว่ารองรับคือ 22 และ 23 สำหรับ Local System/Local Service
cz flag
สิ่งเหล่านี้ยังคงอยู่สำหรับบัญชีที่นี่ฉันต้องการเข้าถึงที่เก็บใบรับรองของบริการ ไม่ใช่บัญชีเฉพาะ (และไม่ใช่ของบัญชีบริการด้วย)

โพสต์คำตอบ

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