วิธีแบนรหัสผ่านเริ่มต้นและทำให้ทุกคนเกลียดคุณ

อย่างที่ทราบกันดีว่ามนุษย์เป็นสัตว์เกียจคร้าน
และยิ่งไปกว่านั้นเมื่อต้องเลือกรหัสผ่านที่รัดกุม

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

ในทางปฏิบัติของฉัน มีกรณีที่ในโดเมน Active Directory ที่เปิดใช้งานนโยบายรหัสผ่าน นักบัญชีเกิดแนวคิดโดยอิสระว่ารหัสผ่าน เช่น “Pas$w0rd1234” เหมาะสมกับข้อกำหนดของนโยบายอย่างสมบูรณ์ ผลที่ตามมาก็คือการใช้รหัสผ่านนี้แพร่หลายไปทุกที่ บางครั้งเขาก็ต่างกันเพียงชุดตัวเลขเท่านั้น

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

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

หลังจากค้นหาเป็นเวลานานหลายชั่วโมง ก็มีการเปิดเผยสองทางเลือกในการแก้ปัญหา แน่นอนว่าฉันกำลังพูดถึงโซลูชัน OpenSource ท้ายที่สุดมีตัวเลือกการชำระเงินตั้งแต่ต้นจนจบ

ตัวเลือกที่ 1. เปิดตัวกรองรหัสผ่าน

ไม่มีข้อผูกมัดใด ๆ มาเป็นเวลาประมาณ 2 ปีแล้ว โปรแกรมติดตั้งแบบเนทิฟทำงานได้เป็นระยะ ๆ คุณต้องแก้ไขด้วยตนเอง สร้างบริการแยกต่างหากของตัวเอง เมื่ออัปเดตไฟล์รหัสผ่าน DLL จะไม่รับเนื้อหาที่เปลี่ยนแปลงโดยอัตโนมัติ คุณต้องหยุดบริการ รอระยะหมดเวลา แก้ไขไฟล์ และเริ่มบริการ

ไม่มีน้ำแข็ง!

ตัวเลือกที่ 2. PassFiltEx

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

ดังนั้น
ให้ไว้: โดเมน Active Directory test.local
เวิร์กสเตชันทดสอบ Windows 8.1 (ไม่สำคัญสำหรับวัตถุประสงค์ของปัญหา)
ตัวกรองรหัสผ่าน PassFiltEx

  • ดาวน์โหลดรุ่นล่าสุดจากลิงค์ PassFiltEx
  • สำเนา PassFiltEx.dll в C: WindowsSystem32 (หรือ %SystemRoot%ระบบ32).
    สำเนา PassFiltExBlacklist.txt в C: WindowsSystem32 (หรือ %SystemRoot%ระบบ32). หากจำเป็น เราจะเสริมด้วยเทมเพลตของเราเอง
    วิธีแบนรหัสผ่านเริ่มต้นและทำให้ทุกคนเกลียดคุณ
  • การแก้ไขสาขารีจิสทรี: HKLMSYSTEMชุดควบคุมปัจจุบันControlLsa => แพ็คเกจการแจ้งเตือน
    การเพิ่ม PassFiltEx ไปที่ท้ายรายการ (ไม่จำเป็นต้องระบุนามสกุล) รายการแพ็คเกจที่ใช้ในการสแกนทั้งหมดจะมีลักษณะดังนี้ “rassfm scecli PassFiltEx"
    วิธีแบนรหัสผ่านเริ่มต้นและทำให้ทุกคนเกลียดคุณ
  • รีบูตตัวควบคุมโดเมน
  • เราทำซ้ำขั้นตอนข้างต้นสำหรับตัวควบคุมโดเมนทั้งหมด

คุณยังสามารถเพิ่มรายการรีจิสทรีต่อไปนี้ ซึ่งช่วยให้คุณมีความยืดหยุ่นมากขึ้นในการใช้ตัวกรองนี้:

บท: HKLMSOFTWAREPassFiltEx — ถูกสร้างขึ้นโดยอัตโนมัติ

  • HKLMSOFTWAREPassFiltExBlacklistFileName, REG_SZ ค่าเริ่มต้น: PassFiltExBlacklist.txt

    บัญชีดำชื่อไฟล์ — ช่วยให้คุณระบุเส้นทางที่กำหนดเองไปยังไฟล์ด้วยเทมเพลตรหัสผ่าน หากรายการรีจิสทรีนี้ว่างเปล่าหรือไม่มีอยู่ ระบบจะใช้เส้นทางเริ่มต้น ซึ่งก็คือ - %SystemRoot%ระบบ32. คุณสามารถระบุเส้นทางเครือข่ายได้ แต่คุณต้องจำไว้ว่าไฟล์เทมเพลตต้องมีสิทธิ์ที่ชัดเจนในการอ่าน เขียน ลบ เปลี่ยนแปลง

  • HKLMSOFTWAREPassFiltExTokenเปอร์เซ็นต์ของรหัสผ่าน, REG_DWORD ค่าเริ่มต้น: 60

    TokenPercentageOfPassword — ให้คุณระบุเปอร์เซ็นต์ของมาสก์ในรหัสผ่านใหม่ ค่าเริ่มต้นคือ 60% ตัวอย่างเช่น หากเปอร์เซ็นต์ที่เกิดขึ้นคือ 60 และสตริง starwars อยู่ในไฟล์เทมเพลต แสดงว่ารหัสผ่าน สตาร์วอร์ส1! จะถูกปฏิเสธในขณะที่รหัสผ่าน สตาร์วอร์ส1!DarthVader88 จะได้รับการยอมรับเนื่องจากเปอร์เซ็นต์ของสตริงในรหัสผ่านน้อยกว่า 60%

  • HKLMSOFTWAREPassFiltExRequireCharClasses, REG_DWORD ค่าเริ่มต้น: 0

    ต้องใช้CharClasses — ช่วยให้คุณสามารถขยายข้อกำหนดรหัสผ่านโดยเปรียบเทียบกับข้อกำหนดความซับซ้อนของรหัสผ่าน ActiveDirectory มาตรฐาน ข้อกำหนดด้านความซับซ้อนในตัวจำเป็นต้องมีอักขระที่แตกต่างกัน 3 ใน 5 ชนิด: ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก ตัวเลข พิเศษ และ Unicode เมื่อใช้รายการรีจิสทรีนี้ คุณสามารถตั้งค่าข้อกำหนดความซับซ้อนของรหัสผ่านได้ ค่าที่สามารถระบุได้คือชุดของบิต ซึ่งแต่ละชุดมีกำลังเท่ากันคือ XNUMX
    นั่นคือ 1 = ตัวพิมพ์เล็ก 2 = ตัวพิมพ์ใหญ่ 4 = หลัก 8 = อักขระพิเศษ และ 16 = อักขระ Unicode
    ดังนั้นด้วยค่า 7 ข้อกำหนดจะเป็น "ตัวพิมพ์ใหญ่" AND ตัวพิมพ์เล็ก AND หลัก” และด้วยค่า 31 - “ตัวพิมพ์ใหญ่ AND ตัวพิมพ์เล็ก AND รูป AND สัญลักษณ์พิเศษ AND อักขระยูนิโค้ด"
    คุณสามารถรวม - 19 = “ตัวพิมพ์ใหญ่ AND ตัวพิมพ์เล็ก AND อักขระยูนิโค้ด"

  • วิธีแบนรหัสผ่านเริ่มต้นและทำให้ทุกคนเกลียดคุณ

กฎจำนวนหนึ่งเมื่อสร้างไฟล์เทมเพลต:

  • เทมเพลตไม่คำนึงถึงขนาดตัวพิมพ์ ดังนั้นรายการไฟล์ StarWars и สตาร์วอร์ส จะถูกกำหนดให้เป็นค่าเดียวกัน
  • ไฟล์บัญชีดำจะถูกอ่านซ้ำทุกๆ 60 วินาที ดังนั้นคุณจึงสามารถแก้ไขได้อย่างง่ายดาย หลังจากผ่านไปหนึ่งนาที ตัวกรองจะใช้ข้อมูลใหม่
  • ขณะนี้ไม่มีการรองรับ Unicode สำหรับการจับคู่รูปแบบ นั่นคือคุณสามารถใช้อักขระ Unicode ในรหัสผ่านได้ แต่ตัวกรองจะไม่ทำงาน สิ่งนี้ไม่สำคัญ เนื่องจากฉันไม่เห็นผู้ใช้ที่ใช้รหัสผ่าน Unicode
  • ขอแนะนำไม่ให้มีบรรทัดว่างในไฟล์เทมเพลต ในการดีบัก คุณจะเห็นข้อผิดพลาดเมื่อโหลดข้อมูลจากไฟล์ ตัวกรองใช้งานได้ แต่เหตุใดจึงมีข้อยกเว้นเพิ่มเติม

สำหรับการดีบัก ไฟล์เก็บถาวรจะมีไฟล์แบตช์ที่ให้คุณสร้างบันทึกแล้วแยกวิเคราะห์โดยใช้ เช่น ตัววิเคราะห์ข้อความของ Microsoft
ตัวกรองรหัสผ่านนี้ใช้การติดตามเหตุการณ์สำหรับ Windows

ผู้ให้บริการ ETW สำหรับตัวกรองรหัสผ่านนี้คือ 07d83223-7594-4852-babc-784803fdf6c5. ตัวอย่างเช่น คุณสามารถกำหนดค่าการติดตามเหตุการณ์หลังจากรีบูตต่อไปนี้:
logman create trace autosessionPassFiltEx -o %SystemRoot%DebugPassFiltEx.etl -p "{07d83223-7594-4852-babc-784803fdf6c5}" 0xFFFFFFFF -ets

การติดตามจะเริ่มขึ้นหลังจากการรีบูตระบบครั้งถัดไป หากต้องการหยุด:
logman stop PassFiltEx -ets && logman delete autosessionPassFiltEx -ets
คำสั่งทั้งหมดนี้ระบุไว้ในสคริปต์ StartTracingAtBoot.cmd и StopTracingAtBoot.cmd.

คุณสามารถใช้สำหรับการตรวจสอบการทำงานของตัวกรองแบบครั้งเดียว StartTracing.cmd и StopTracing.cmd.
เพื่อความสะดวกในการอ่านการดีบักไอเสียของตัวกรองนี้ Microsoft Message Analyser ขอแนะนำให้ใช้การตั้งค่าต่อไปนี้:

วิธีแบนรหัสผ่านเริ่มต้นและทำให้ทุกคนเกลียดคุณ

วิธีแบนรหัสผ่านเริ่มต้นและทำให้ทุกคนเกลียดคุณ

เมื่อหยุดการบันทึกและแยกวิเคราะห์ Microsoft Message Analyser ทุกอย่างมีลักษณะดังนี้:

วิธีแบนรหัสผ่านเริ่มต้นและทำให้ทุกคนเกลียดคุณ

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

หากพยายามเปลี่ยนรหัสผ่านสำเร็จ เราจะเห็นสิ่งต่อไปนี้:

วิธีแบนรหัสผ่านเริ่มต้นและทำให้ทุกคนเกลียดคุณ

มีความไม่สะดวกบางอย่างสำหรับผู้ใช้ปลายทาง เมื่อคุณพยายามเปลี่ยนรหัสผ่านที่รวมอยู่ในรายการไฟล์เทมเพลต ข้อความบนหน้าจอจะไม่แตกต่างจากข้อความมาตรฐานเมื่อไม่ผ่านนโยบายรหัสผ่าน

วิธีแบนรหัสผ่านเริ่มต้นและทำให้ทุกคนเกลียดคุณ

ดังนั้นจงเตรียมพร้อมรับสายและตะโกน: “ฉันป้อนรหัสผ่านถูกต้อง แต่มันใช้งานไม่ได้”

ผลที่ได้

ไลบรารีนี้อนุญาตให้คุณห้ามการใช้รหัสผ่านธรรมดาหรือรหัสผ่านมาตรฐานในโดเมน Active Directory เอาเป็นว่า "ไม่!" รหัสผ่านเช่น: “P@ssw0rd”, “Qwerty123”, “ADm1n098”
ใช่ แน่นอนว่าผู้ใช้จะรักคุณมากขึ้นไปอีกสำหรับการดูแลความปลอดภัยของพวกเขาและความจำเป็นในการคิดรหัสผ่านที่น่าทึ่ง และบางทีจำนวนการโทรและขอความช่วยเหลือเกี่ยวกับรหัสผ่านของคุณก็จะเพิ่มขึ้น แต่ความปลอดภัยมาในราคา

ลิงก์ไปยังแหล่งข้อมูลที่ใช้:
บทความของ Microsoft เกี่ยวกับไลบรารีตัวกรองรหัสผ่านแบบกำหนดเอง: ตัวกรองรหัสผ่าน
PassFiltEx: PassFiltEx
ลิงค์วางจำหน่าย: ข่าวประชาสัมพันธ์ล่าสุด
รายการรหัสผ่าน:
รายการ DanielMiessler: ลิงค์
รายการคำศัพท์จาก weakpass.com: ลิงค์
รายการคำศัพท์จาก berzerk0 repo: ลิงค์
ตัววิเคราะห์ข้อความของ Microsoft: ตัววิเคราะห์ข้อความของ Microsoft

ที่มา: will.com

เพิ่มความคิดเห็น