การตรวจสอบบริการ Windows
การตรวจสอบไม่ใช่รายการสิ่งที่อยู่บนเครื่อง แต่คือความต่างระหว่างสิ่งที่อยู่บนเครื่องกับสิ่งที่ควรเป็น และไม่มีอะไรบน Windows แบบปกติบันทึกครึ่งหลัง
สามคำถาม และอะไรตอบมัน
อะไรเปลี่ยนตั้งแต่สร้างเครื่องนี้
สแนปช็อตที่สร้างตอนติดตั้งใช้งาน และ diff กับเครื่องในคืนนี้ การกำหนดค่ารายงานแยกจากสิ่งที่แค่เริ่มหรือหยุด ประเภทการเริ่มต้นหนึ่งตัวที่ใครสักคนเปลี่ยนจึงไม่จมอยู่ใต้บริการสี่สิบตัวที่บังเอิญทำงานอยู่
bws snapshot diff baseline.json --live
ทำไมสเตจจิงต่างจากโปรดักชัน
สร้างสแนปช็อตบนแต่ละเครื่องแล้ว diff ไฟล์ทั้งสอง ที่ไหนก็ได้ โดยไม่ต้องมีเครื่องไหนอยู่ ไฟล์มีชื่อเครื่องและบัญชีที่สร้างมัน
bws snapshot diff staging.json production.json
มีอะไรอยู่ที่นี่ที่ไม่ควรมี
คิวรีที่หารูปแบบที่ควรดู: บริการที่ไฟล์ปฏิบัติการหายไป บริการที่ไม่มีลายเซ็น บริการที่ทำงานทั้งที่ปิดใช้งาน บริการที่ขอสิทธิ์ดีบัก
file:missing, signed:no, mismatch:running
รูปแบบรายคืน
# วันที่เครื่องเข้าสู่การใช้งาน
bws snapshot create C:\baselines\web01.json --note "after the build"
# ทุกคืน จากงานตามกำหนดเวลา
bws snapshot diff C:\baselines\web01.json --live --exit-code --json > C:\logs\drift.json
# 0 - ไม่มีดริฟต์ของการกำหนดค่า
# 5 - การกำหนดค่าดริฟต์ และ drift.json บอกว่าอะไร
# 3 - รันแล้วแต่อ่านไม่ได้ทั้งหมด คำตอบจึงไม่ครบ
รหัสออก 5 คือสิ่งที่ทำให้นี่เป็นการตรวจสอบ ไม่ใช่รายงานที่ไม่มีใครอ่าน งานเงียบจนกว่าเครื่องจะดริฟต์ และคืนที่มันดริฟต์ จะมีคนถูกแจ้ง
สร้างเส้นฐานจากเซสชันที่ยกระดับสิทธิ์ เมื่อไม่มีสิทธิ์ผู้ดูแลระบบ ตัวจัดการแสดงรายการน้อยลงและปฏิเสธรายการที่แสดงมากขึ้น สแนปช็อตบันทึกว่าบัญชีที่สร้างมันเป็นผู้ดูแลระบบหรือไม่ การเปรียบเทียบจึงบอกเรื่องนี้ได้ แทนที่จะรายงานรายการว่าถูกลบทั้งที่ไม่มีใครลบ แต่เส้นฐานที่ขาดไปครึ่งเครื่องก็ยังเป็นเส้นฐานที่ขาดไปครึ่งเครื่อง
สแนปช็อตมีค่าเป็นหลักฐานแค่ไหน
- เป็น JSON ที่มีหนึ่งฟิลด์ต่อบรรทัด เก็บในรีโพซิทอรีได้และ
git diffอ่านได้ ผู้ตรวจสอบที่ไม่มีเครื่องมือนี้ก็ยังอ่านไฟล์ได้ และระบบควบคุมเวอร์ชันตอบ เมื่อไร อยู่แล้ว - มีสิ่งที่สแนปอินไม่เคยแสดง: พาธการเปิดใช้งานและอาร์กิวเมนต์ แฮชและผู้ลงลายเซ็นของไฟล์ การพึ่งพาทั้งสองทาง ทริกเกอร์ สิทธิพิเศษที่ต้องใช้ ประเภท SID และ security descriptor
- บอกสิ่งที่อ่านไม่ได้ ฟิลด์ที่เซสชันนี้ไม่มีสิทธิ์จะถูกบันทึกว่าไม่ได้อ่าน ไม่เคยเป็นค่าว่าง การเปรียบเทียบภายหลังจึงพูดได้ว่า not compared แทนที่จะเรียกมันว่าไม่เปลี่ยนเงียบๆ
- เป็นคำอธิบายของทั้งเครื่อง เก็บมันให้เหมาะสม: มันถูกเขียนด้วยสิทธิ์ที่ไดเรกทอรีมีอยู่แล้ว และเครื่องมือไม่จำกัดอะไรให้แคบลง