คู่มือ

การตรวจสอบบริการ 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 แทนที่จะเรียกมันว่าไม่เปลี่ยนเงียบๆ
  • เป็นคำอธิบายของทั้งเครื่อง เก็บมันให้เหมาะสม: มันถูกเขียนด้วยสิทธิ์ที่ไดเรกทอรีมีอยู่แล้ว และเครื่องมือไม่จำกัดอะไรให้แคบลง
สแนปช็อตและ diff ทำงานอย่างไร