AppLocker: กำหนดค่านโยบายการจำกัดแอปพลิเคชันใน Windows

/th/images/automatically-generate-applocker-rules.png

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

คุณลักษณะการควบคุมแอปพลิเคชัน AppLocker เดิมมีเฉพาะใน Windows รุ่น Enterprise เท่านั้น อย่างไรก็ตาม ตั้งแต่ Windows 10 เวอร์ชัน 2004 และ Windows 11 เวอร์ชันทั้งหมด ข้อจำกัดของรุ่นเหล่านี้ได้ถูกนำออกไปแล้ว ทำให้สามารถนำนโยบาย AppLocker ไปใช้กับรุ่น Pro ได้เช่นกัน

ก่อนหน้านี้ ข้อจำกัดในการเปิดแอปพลิเคชันสามารถนำมาใช้ใน Windows ผ่านทาง Software Restriction Policies (SRP) อย่างไรก็ตาม คุณลักษณะ SRP เลิกใช้แล้วตั้งแต่เปิดตัว Windows 10 เวอร์ชัน 1803 และ Windows Server 2019

มาสร้าง GPO โดเมนใหม่ที่มีการตั้งค่าการควบคุม AppLocker โดยใช้สแน็ปอินการจัดการนโยบายกลุ่มโดเมน gpmc.msc (ในลักษณะเดียวกับที่คุณสามารถกำหนดการตั้งค่า Applocker บนเครื่องสแตนด์อโลนโดยใช้ตัวแก้ไขนโยบายกลุ่มภายใน)

  1. สร้าง GPO ใหม่และสลับไปที่โหมดแก้ไข

  2. เพื่อให้นโยบาย AppLocker นำไปใช้กับไคลเอนต์ได้ บริการ Application Identity จะต้องเปิดใช้งานและทำงานอยู่ (บริการ AppIDSvc ตามค่าเริ่มต้นจะถูกปิดใช้งานใน Windows)

  3. ไปที่การกำหนดค่าคอมพิวเตอร์ -> การตั้งค่า Windows -> การตั้งค่าความปลอดภัย -> บริการระบบ เปิดคุณสมบัติบริการ Application Identity และเปิดใช้งานการเริ่มต้นอัตโนมัติ /th/images/run-application-identity-service-via-gpo.png

  4. จากนั้นขยายการกำหนดค่าคอมพิวเตอร์ -> นโยบาย -> การตั้งค่า Windows -> การตั้งค่าความปลอดภัย -> นโยบายการควบคุมแอปพลิเคชัน -> AppLocker คุณสามารถสร้างกฎสำหรับซอฟต์แวร์สี่ประเภทได้ที่นี่:

กฎปฏิบัติการ – ไฟล์ปฏิบัติการ (.EXE และ.COM)

กฎตัวติดตั้ง Windows – ไฟล์ตัวติดตั้ง Windows (.MSI,.MSP,.MST)

กฎสคริปต์ – ไฟล์สคริปต์ (.BAT,.CMD,.JS,.PS1 และ.VBS)

กฎของแอปแบบแพ็กเกจ – แอป APPX และ MSIX Microsoft Store

  1. ในตัวอย่างนี้ เราจะสร้างกฎการควบคุมซอฟต์แวร์สำหรับไฟล์ปฏิบัติการ คลิกขวาที่ Executable Rules และเลือก Create Default Rules /th/images/create-default-rules-in-applocker.png

  2. กฎที่กำหนดไว้ล่วงหน้าหลายกฎจะถูกสร้างขึ้น

อนุญาตทุกคน (ไฟล์ทั้งหมดที่อยู่ในโฟลเดอร์ Program Files) – กฎนี้ทำให้ผู้ใช้สามารถเรียกใช้ไฟล์จากไดเร็กทอรี Program Files

อนุญาตทุกคน (ไฟล์ทั้งหมดที่อยู่ในโฟลเดอร์ Windows) - อนุญาตให้ผู้ใช้เรียกใช้ไฟล์ใดก็ได้จากไดเร็กทอรี Windows

อนุญาต BUILTIN\Administrators (ไฟล์ทั้งหมด) – สมาชิกของ

– กฎนี้ช่วยให้ผู้ใช้สามารถเรียกใช้ไฟล์จากไดเร็กทอรีได้ – อนุญาตให้ผู้ใช้เรียกใช้ไฟล์ใดก็ได้จากไดเร็กทอรี – สมาชิกของกลุ่มผู้ดูแลระบบภายในสามารถเรียกใช้ไฟล์ใดก็ได้

/th/images/predefined-rules.png

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

  2. สร้างกฎ AppLocker ใหม่ เลือกว่าคุณต้องการอนุญาตหรือปฏิเสธไฟล์ปฏิบัติการที่จะรัน เลือกกลุ่มผู้ใช้ที่จะใช้นโยบายนี้ (โดยค่าเริ่มต้น ทุกคน ) /th/images/configure-applocker-rule-permissions.png

  3. จากนั้นเลือกเงื่อนไขสำหรับกฎ AppLocker มีสามตัวเลือกให้เลือก:

ผู้เผยแพร่ – อนุญาตให้สร้างกฎสำหรับไฟล์ที่ลงนาม (ไฟล์จากผู้เผยแพร่เฉพาะ) ด้วยกฎนี้ คุณสามารถเลือกจากตัวเลือกต่อไปนี้: ชื่อผู้จัดพิมพ์ ชื่อผลิตภัณฑ์ ชื่อไฟล์ปฏิบัติการ หรือเวอร์ชันของไฟล์

เส้นทาง – ระบุเส้นทางไปยังไดเร็กทอรีหรือไฟล์ที่จะใช้กฎ คุณสามารถระบุเส้นทางแบบเต็มไปยังไฟล์ EXE หรือใช้อักขระตัวแทน ( * ) ตัวอย่างเช่น กฎ C:\MyAppFolder\* จะนำไปใช้กับไฟล์ปฏิบัติการทั้งหมดในไดเร็กทอรีที่ระบุ

แฮชไฟล์ - กฎสามารถใช้เพื่อระบุไฟล์ที่ไม่ได้ลงนามโดยอิงตามแฮช SHA-256 กฎนี้อนุญาตหรือปฏิเสธการดำเนินการของไฟล์ โดยไม่คำนึงถึงชื่อหรือตำแหน่งบนดิสก์ อย่างไรก็ตาม หากเวอร์ชันของไฟล์มีการเปลี่ยนแปลง (เช่น หลังจากการอัปเดตซอฟต์แวร์) จะต้องสร้างกฎขึ้นใหม่สำหรับแฮชของไฟล์ใหม่

ไดเร็กทอรี Windows หรือไดรฟ์ |

ตัวแปรเส้นทาง AppLocker —|— ไดเรกทอรี Windows |

%วินเดียร์%

System32 และ sysWOW64 |

%ระบบ32%

ไดรฟ์การติดตั้ง Windows |

% OSDRIVE%

ไฟล์โปรแกรม |

% โปรแกรมไฟล์ %

สื่อแบบถอดได้ (ซีดีหรือดีวีดี) |

% ที่สามารถถอดออกได้

อุปกรณ์เก็บข้อมูลแบบถอดได้ (แฟลชไดรฟ์ USB) |

%ร้อน%

สามารถใช้ตัวแปรสภาพแวดล้อมเฉพาะของ AppLocker ต่อไปนี้เมื่อระบุเส้นทางในกฎ

  1. เราจะสร้างกฎ AppLocker สำหรับแอปเฉพาะโดยผู้เผยแพร่ เลือกไฟล์ปฏิบัติการเป้าหมาย เนื่องจากไฟล์เป้าหมายอาจหายไปจากตัวควบคุมโดเมนที่สร้างกฎ AppLocker คุณสามารถใช้เส้นทาง UNC เพื่อเลือกไฟล์จากคอมพิวเตอร์ไคลเอนต์ผ่านเครือข่าย (ตัวอย่างเช่น ใช้รูปแบบเส้นทางที่ใช้ร่วมกันของผู้ดูแลระบบ Windows \\computer123\c$\tools\tcpview64.exe )

  2. ฉันต้องการให้ไฟล์นี้ทำงานตามชื่อไฟล์ โดยไม่คำนึงถึงเวอร์ชัน ควรย้ายแถบเลื่อนไปที่ชื่อไฟล์ หรือกำหนดค่าเงื่อนไขที่ยืดหยุ่นมากขึ้นโดยใช้ตัวเลือกใช้ค่าที่กำหนดเอง /th/images/create-application-control-rule-for-specific-progr.png

  3. ในส่วนข้อยกเว้น คุณสามารถสร้างข้อยกเว้นให้กับกฎตามเส้นทาง ผู้เผยแพร่ หรือแฮชของไฟล์ ตัวอย่างเช่น คุณสามารถป้องกันไม่ให้แอปเวอร์ชันเก่าที่มีช่องโหว่ทำงานหรือจำกัดแอปไว้เฉพาะบางโฟลเดอร์ได้ /th/images/add-an-exception-to-the-applocker-rule.png

  4. ตั้งชื่อกฎ AppLocker ใหม่ /th/images/list-of-applocker-rules-in-gpo.png

ตอนนี้ เรามาสร้างกฎที่บล็อกผู้ใช้จากการเรียกใช้แอป AnyDesk.exe

  1. เพิ่มกฎ AppLocker ใหม่

  2. กฎควรป้องกันไม่ให้ใครก็ตามเรียกใช้แอปได้ เลือกการดำเนินการ: ปฏิเสธ ผู้ใช้หรือกลุ่ม: ทุกคน /th/images/applocker-deny-app-from-running.png

  3. สร้างกฎผู้เผยแพร่และเรียกดูไฟล์ปฏิบัติการ AnyDesk

  4. กฎนี้ควรใช้โดยไม่คำนึงถึงเวอร์ชันหรือตำแหน่งของไฟล์ คุณสามารถปฏิเสธการเปิดตัวไฟล์ที่ลงนามโดยผู้เผยแพร่ O=ANYDESK SOFTWARE GMBH ได้อย่างสมบูรณ์ หรือจำกัดด้วยชื่อผลิตภัณฑ์ /th/images/create-a-rule-to-block-anydesk-app-by-its-name-usi.png

  5. กฎดังกล่าวจะบล็อกโปรแกรมไม่ให้เปิดใช้งาน โดยไม่คำนึงถึงไดเร็กทอรีที่มีไฟล์ปฏิบัติการอยู่หรือชื่อไฟล์จริง /th/images/word-image.png

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

เมื่อต้องการใช้กฎ AppLocker ที่คุณสร้างกับคอมพิวเตอร์ไคลเอ็นต์ ให้เปิดคุณสมบัติ AppLocker ในคอนโซล GPO มีกฎอยู่สี่ประเภทที่นี่:

  • กฎที่ปฏิบัติการได้ - กฎสำหรับไฟล์ปฏิบัติการ (Exe) Win32 แบบคลาสสิก

  • กฎ Windows Installer – กฎการติดตั้ง MSI

  • กฎสคริปต์ – กฎการดำเนินการสคริปต์

  • บรรจุกฎทั้งหมด – กฎสำหรับแพ็คเกจ Microsoft Store AppX/MSIX

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

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

/th/images/enable-applocker-rules-in-the-audit-mode.png

เชื่อมโยง GPO กับการตั้งค่า AppLocker กับ OU เป้าหมาย (ขอแนะนำอย่างยิ่งให้ทดสอบกฎข้อจำกัดซอฟต์แวร์บนคอมพิวเตอร์ทดสอบ/OU ก่อน)

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

คุณสามารถใช้บันทึก Event Viewer เพื่อกำหนดวิธีทริกเกอร์นโยบาย AppLocker เมื่อเปิดไฟล์ปฏิบัติการเฉพาะได้ เปิดคอนโซล Event Viewer ( eventvwr.msc ) และไปที่ Application and Services Logs-> Microsoft-> ​​Windows-> AppLocker-> EXE และ DLL

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


%OSDRIVE%\TOOLS\ANYDESK.EXE was allowed to run but would have been prevented from running if the AppLocker policy were enforced.

หากแอปพลิเคชันได้รับอนุญาตให้ทำงาน Event ID 8002 จะถูกเพิ่ม

/th/images/event-id-8002-exe-was-allowed-to-run-but-would-ha.png

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

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

` $TimeSpan=(รับ-วันที่).AddHours(-24)

รับ-WinEvent-FilterHashtable @ {LogName = “Microsoft-Windows-AppLocker/EXE และ DLL”; รหัส=8003; เวลาเริ่มต้น=$ระยะเวลา } | สร้างรูปแบบ-ตารางเวลา, ข้อความ-ขนาดอัตโนมัติ `

/th/images/powershell-get-a-list-of-apps-blocked-by-applocke.png

หากนโยบายการควบคุมแอปพลิเคชันปัจจุบันบล็อกไฟล์ปฏิบัติการที่จำเป็น ให้แก้ไข AppLocker GPO เพื่อเพิ่มกฎที่อนุญาตให้แอปนั้นทำงานได้

หลังจากแก้ไขกฎ AppLocker ในโหมดตรวจสอบแล้ว คุณสามารถนำไปใช้ในโหมดบังคับใช้ได้ เมื่อต้องการทำเช่นนี้ เปลี่ยนการตั้งค่าการตรวจสอบในนโยบาย AppLocker เพื่อบังคับใช้กฎ

/th/images/enforce-applocker-rules.png

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


This app has been blocked by your administrator

/th/images/this-app-has-been-blocked-by-your-administrator-ap.png

ขณะนี้เหตุการณ์ที่มี ID 8004 จะถูกเพิ่มลงใน Event Viewer ซึ่งมีชื่อของไฟล์ปฏิบัติการที่ถูกบล็อก


%OSDRIVE%\TOOLS\ANYDESK.EXE was prevented from running.

/th/images/event-id-8004-exe-was-prevented-from-running.png

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

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

/th/images/automatically-generate-applocker-rules.png

คุณยังสามารถสร้างกฎ AppLocker ได้โดยการนำเข้ากฎจากคอมพิวเตอร์แต่ละเครื่อง ตัวอย่างเช่น คุณสามารถรับรายการไฟล์ปฏิบัติการที่ถูกบล็อกได้จากบันทึก Event Viewer โดยใช้ PowerShell:

รับ-ApplockerFileinformation-Eventlog-EventType ตรวจสอบแล้ว | fl

/th/images/get-applockerfileinformation-list-events.png

จากข้อมูลนี้ คุณสามารถเพิ่มกฎลงในนโยบาย AppLocker ภายในเครื่องได้โดยอัตโนมัติ

รับ-ApplockerFileinformation-Eventlog-EventType ตรวจสอบแล้ว | ใหม่-ApplockerPolicy-RuleType Hash, ผู้เผยแพร่-ผู้ใช้ jsmith-RuleNamePrefix AuditBased | ตั้งค่า ApplockerPolicy – ผสาน

กฎใหม่จะถูกเพิ่มลงในนโยบาย AppLocker ในเครื่องของคอมพิวเตอร์ จากนั้นจึงสามารถส่งออกและนำเข้าไปยังโดเมน GPO ได้

/th/images/import-and-export-the-applocker-policy-settings-fr.png

รายการปฏิบัติการที่ถูกบล็อกเท่านั้น (รวมถึงจำนวนครั้งที่พยายามเรียกใช้แต่ละไฟล์):

รับ-AppLockerFileInformation-EventLog-EventType ถูกปฏิเสธ-สถิติ

โปรดคำนึงถึงประเด็นต่อไปนี้เมื่อสร้างกฎ AppLocker:

  • กฎการปฏิเสธของ AppLocker มีความสำคัญมากกว่ากฎการอนุญาต

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

  • แต่ละกฎอาจมีข้อยกเว้น ตัวอย่างเช่น การดำเนินการนี้จะอนุญาตให้ใช้กฎบางอย่างกับผู้ใช้บางกลุ่มในขณะที่สร้างข้อยกเว้นสำหรับกลุ่มอื่นๆ ภาพหน้าจอแสดงวิธีใช้ข้อยกเว้นเพื่ออนุญาตให้ PowerShell ทำงานสำหรับผู้ดูแลระบบ แต่บล็อกสำหรับผู้ใช้ที่ไม่ใช่ผู้ดูแลระบบ (บทความเกี่ยวกับการปิดใช้งาน PowerShell บนคอมพิวเตอร์เป็นตัวอย่างของการใช้กฎดังกล่าว) /th/images/applocker-policy-allow-only-administrators-to-run.png

  • เมื่อสร้างกฎ โปรดทราบว่ากลุ่มเช่น “ ทุกคน ” และ “ ผู้ใช้โดเมน ” อาจมีผู้ดูแลระบบด้วย

แล้วความเป็นไปได้ของการระงับ AppLocker ชั่วคราวบนคอมพิวเตอร์ล่ะ? คุณอาจคิดว่าการหยุดบริการ Application Identity จะป้องกันไม่ให้มีการใช้กฎ AppLocker อย่างไรก็ตามนี่ไม่เป็นความจริง

หากต้องการปิดใช้งาน AppLocker ชั่วคราวบนคอมพิวเตอร์ ก่อนอื่นให้หยุดบริการ AppIDSvc แล้วลบไฟล์ AppCache.dat, Exe.AppLocker และ Dll.AppLocker ออกจากโฟลเดอร์ C:\Windows\System32\AppLocker\

/th/images/where-applied-applocker-policies-are-stored-on-a-d.png

Windows เวอร์ชันใหม่มีกลไกเพิ่มเติมสำหรับควบคุมการเรียกทำงานที่เรียกว่า Windows Defender Application Control (WDAC) แม้ว่าการกำหนดค่าจะซับซ้อนกว่า AppLocker เล็กน้อย แต่ก็เป็นตัวเลือกที่ดีกว่าเนื่องจากความยืดหยุ่น ความสามารถในการปรับขนาด และความปลอดภัยที่ได้รับการปรับปรุง ต่างจาก AppLocker ซึ่งทำงานในโหมดผู้ใช้เท่านั้น WDAC สามารถบล็อกการเรียกใช้โค้ดได้ทั้งในระดับเคอร์เนล (เช่น ไดรเวอร์) และโหมดผู้ใช้

*️⃣ ลิงค์ที่มา:

โดเมน สแนปอินการจัดการนโยบายกลุ่ม, กลุ่มผู้ดูแลระบบภายใน, การแบ่งปันของผู้ดูแลระบบ Windows, แพ็คเกจ Microsoft Store AppX/MSIX, การใช้การตั้งค่านโยบายกลุ่มใหม่, ใช้ PowerShell เพื่อสืบค้นบันทึก Event Viewer,