แนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัยของ PowerShell ในระดับองค์กร
Microsoft พัฒนา Windows PowerShell สำหรับงานอัตโนมัติและการจัดการการกำหนดค่า มันขึ้นอยู่กับ.NET framework; ในขณะที่มีเชลล์บรรทัดคำสั่งและภาษาสคริปต์ ไม่ได้ช่วยให้ผู้ใช้ทำงานอัตโนมัติ แต่ยังช่วยแก้ปัญหาการดูแลระบบที่ซับซ้อนได้อย่างรวดเร็ว อย่างไรก็ตาม ผู้ใช้หลายคนมักเชื่อว่า PowerShell เป็นเครื่องมือที่แฮ็กเกอร์ใช้เพื่อเจาะระบบความปลอดภัย น่าเสียดายที่เป็นความจริงที่ PowerShell ถูกใช้อย่างกว้างขวางสำหรับการละเมิดความปลอดภัย ด้วยเหตุนี้ ผู้ใช้ที่มีความรู้ทางเทคนิคน้อยหรือไม่มีเลยมักจะปิดใช้งาน PowerShell อย่างไรก็ตาม ความจริงก็คือวิธีการรักษาความปลอดภัยของ PowerShell สามารถให้การป้องกันการละเมิดความปลอดภัยในระดับองค์กรได้ดีที่สุด
David das Neves, Premier Field Engineer ของ Microsoft Germany กล่าวถึงหนึ่งในโพสต์ของเขาว่าวิธีการรักษาความปลอดภัยของ PowerShell เป็นวิธีที่มีประสิทธิภาพในการตั้งค่าความปลอดภัยในระดับองค์กร ในความเป็นจริง PowerShell เป็นหนึ่งในภาษาที่ใช้มากที่สุดใน GitHub ตามแผนภูมิการจัดอันดับภาษาโปรแกรมที่สร้างโดย RedMonk
ทำความเข้าใจเกี่ยวกับความปลอดภัยของ PowerShell
Windows PowerShell กำลังถูกใช้โดยผู้ดูแลระบบไอทีจำนวนมากทั่วโลก เป็นกรอบการทำงานอัตโนมัติและการจัดการการกำหนดค่าจาก Microsoft ด้วยความช่วยเหลือนี้ ผู้ดูแลระบบสามารถทำงานด้านการดูแลระบบได้ทั้งในระบบ Windows แบบโลคัลและแบบรีโมต อย่างไรก็ตาม เมื่อเร็ว ๆ นี้ มีองค์กรไม่กี่แห่งที่หลีกเลี่ยงการใช้มัน โดยเฉพาะอย่างยิ่งสำหรับการเข้าถึงระยะไกล สงสัยช่องโหว่ด้านความปลอดภัย เพื่อขจัดความสับสนเกี่ยวกับเครื่องมือนี้ Ashley McGlone วิศวกรภาคสนามระดับพรีเมียร์ของ Microsoft ได้เผยแพร่บล็อกที่ระบุว่าเหตุใดจึงเป็นเครื่องมือที่ปลอดภัยและไม่ใช่ช่องโหว่
องค์กรกำลังพิจารณา PowerShell เป็นช่องโหว่
McGlone กล่าวถึงแนวโน้มล่าสุดในองค์กรเกี่ยวกับเครื่องมือนี้ บางองค์กรห้ามใช้ PowerShell ระยะไกล; ในขณะที่ที่อื่น InfoSec ได้บล็อกการดูแลระบบเซิร์ฟเวอร์ระยะไกลด้วย นอกจากนี้เขายังกล่าวว่าเขาได้รับคำถามเกี่ยวกับความปลอดภัยของ PowerShell Remoting อย่างต่อเนื่อง หลายบริษัทกำลังจำกัดความสามารถของเครื่องมือในสภาพแวดล้อมของตน บริษัทเหล่านี้ส่วนใหญ่กังวลเกี่ยวกับเครื่องมือ Remoting ซึ่งมีการเข้ารหัสเสมอ พอร์ตเดียว 5985 หรือ 5986
แนวทางปฏิบัติที่ดีที่สุดในการรักษาความปลอดภัย PowerShell
McGlone อธิบายว่าเหตุใดเครื่องมือนี้จึงไม่ใช่ช่องโหว่ - แต่ในทางกลับกัน มันปลอดภัยมาก เขากล่าวถึงประเด็นสำคัญ เช่น เครื่องมือนี้เป็นเครื่องมือการบริหารที่เป็นกลาง ไม่ใช่ช่องโหว่ ระยะไกลของเครื่องมือเคารพโปรโตคอลการพิสูจน์ตัวตนและการให้สิทธิ์ของ Windows ทั้งหมด ต้องเป็นสมาชิกกลุ่มผู้ดูแลระบบภายในโดยค่าเริ่มต้น
เขากล่าวเพิ่มเติมว่าเหตุใดเครื่องมือนี้จึงปลอดภัยกว่าที่บริษัทต่างๆ คิด:
“การปรับปรุงใน WMF 5.0 (หรือ WMF 4.0 ที่มี KB3000850) ทำให้ PowerShell เป็นเครื่องมือที่แย่ที่สุดสำหรับแฮ็กเกอร์เมื่อคุณเปิดใช้งานการบันทึกบล็อกสคริปต์และการถอดความทั้งระบบ แฮ็กเกอร์จะทิ้งลายนิ้วมือไว้ทุกที่ซึ่งแตกต่างจากยูทิลิตี้ CMD ยอดนิยม”
เนื่องจากคุณสมบัติการติดตามที่ทรงพลัง McGlone จึงแนะนำให้ PowerShell เป็นเครื่องมือที่ดีที่สุดสำหรับการดูแลระบบระยะไกล เครื่องมือนี้มาพร้อมกับคุณสมบัติที่ช่วยให้องค์กรสามารถหาคำตอบสำหรับคำถามต่างๆ เช่น ใคร ทำอะไร เมื่อไร ที่ไหน และอย่างไร สำหรับกิจกรรมบนเซิร์ฟเวอร์ของคุณ
นอกจากนี้เขายังให้ลิงก์ไปยังแหล่งข้อมูลเพื่อเรียนรู้เกี่ยวกับการรักษาความปลอดภัยของเครื่องมือนี้และใช้งานในระดับองค์กร หากแผนกรักษาความปลอดภัยข้อมูลในบริษัทของคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับเครื่องมือนี้ McGlone จะมีลิงก์ไปยังข้อควรพิจารณาด้านความปลอดภัยของ PowerShell Remoting นี่คือเอกสารความปลอดภัยใหม่จากทีม PowerShell เอกสารประกอบด้วยส่วนข้อมูลต่างๆ เช่น Powershell Remoting คืออะไร การตั้งค่าเริ่มต้น การแยกกระบวนการและการเข้ารหัส และโปรโตคอลการขนส่ง
โพสต์ในบล็อกกล่าวถึงแหล่งที่มาและลิงก์ต่างๆ เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับ PowerShell คุณสามารถรับแหล่งข้อมูลเหล่านี้ รวมถึงลิงก์ไปยังเว็บไซต์ WinRMSecurity และเอกสารไวท์เปเปอร์โดย Lee Holmes ได้ที่นี่ใน TechNet Blogs
Windows PowerShell Security ในระดับองค์กร
ก่อนตั้งค่า Windows PowerShell Security จำเป็นต้องทราบข้อมูลเบื้องต้นก่อน ผู้ใช้ต้องใช้ Windows PowerShell เวอร์ชันล่าสุด ผู้ใช้ต้องทราบที่นี่ว่าต้องตั้งค่าความปลอดภัยของ PowerShell ด้วย Windows PowerShell เวอร์ชันล่าสุด หากเป็นเวอร์ชันที่ต่ำกว่า (เช่น PowerShell เวอร์ชัน 2) อาจส่งผลเสียมากกว่าผลดี ดังนั้น ขอแนะนำให้ผู้ใช้ต้องกำจัด PowerShell เวอร์ชัน 2
นอกจาก Windows PowerShell เวอร์ชันล่าสุดแล้ว ผู้ใช้ยังต้องเลือกใช้ OS เวอร์ชันใหม่ล่าสุดด้วย ในการตั้งค่า PowerShell Security Windows 11 หรือ Windows 10 เป็นระบบปฏิบัติการที่เข้ากันได้มากที่สุด Windows 11/10 มาพร้อมกับคุณลักษณะด้านความปลอดภัยมากมาย ดังนั้น ขอแนะนำให้ผู้ใช้ย้ายเครื่อง Windows รุ่นเก่าไปยัง Windows 11/10 และประเมินคุณลักษณะด้านความปลอดภัยทั้งหมดที่สามารถใช้ได้
ExecutionPolicy: ผู้ใช้จำนวนมากไม่เลือกใช้แนวทางการรักษาความปลอดภัยของ PowerShell และใช้ ExecutionPolicy เป็นขอบเขตความปลอดภัย อย่างไรก็ตาม ดังที่ David กล่าวถึงในโพสต์ของเขา มีมากกว่า 20 วิธีที่จะก้าวข้าม ExecutionPolicy แม้จะเป็นผู้ใช้มาตรฐานก็ตาม ดังนั้นผู้ใช้ควรตั้งค่าผ่าน GPO เช่น RemoteSigned ExecutionPolicy อาจป้องกันไม่ให้แฮ็กเกอร์บางคนใช้สคริปต์ PowerShell จากอินเทอร์เน็ต แต่ก็ไม่ใช่การตั้งค่าความปลอดภัยที่เชื่อถือได้อย่างสมบูรณ์
ปัจจัยที่ต้องพิจารณาในแนวทางการรักษาความปลอดภัยของ PowerShell
David กล่าวถึงปัจจัยสำคัญทั้งหมดที่ต้องพิจารณาเมื่อตั้งค่า PowerShell Security ในระดับองค์กร ปัจจัยบางประการที่ David กล่าวถึงมีดังนี้:
PowerShell ระยะไกล
การรักษาความปลอดภัยการเข้าถึงพิเศษ
การปรับปรุงสิ่งแวดล้อมให้ทันสมัย
ไวท์ลิสต์/การเซ็นชื่อ/ภาษาที่จำกัด/ตัวล็อกแอป/ตัวป้องกันอุปกรณ์
การบันทึก
การบันทึก ScriptBlock
การบันทึกแบบขยาย/WEF และ JEA
สำหรับข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับการตั้งค่าความปลอดภัยของ PowerShell โปรดอ่านโพสต์ของเขาในบล็อก MSDN

