ฉันจะตั้งค่า SELinux เป็นโหมดอนุญาตได้อย่างไร

How Do I Set Selinux Permissive Mode



SELinux หรือ Security-Enhanced Linux กล่าวคือ กลไกความปลอดภัยของระบบที่ใช้ Linux ทำงานบน Mandatory Access Control (MAC) โดยค่าเริ่มต้น ในการใช้รูปแบบการควบคุมการเข้าถึงนี้ SELinux จะใช้นโยบายความปลอดภัยซึ่งมีการระบุไว้อย่างชัดเจนถึงกฎทั้งหมดเกี่ยวกับการควบคุมการเข้าถึง ตามกฎเหล่านี้ SELinux จะทำการตัดสินใจเกี่ยวกับการอนุญาตหรือปฏิเสธการเข้าถึงวัตถุใดๆ แก่ผู้ใช้

ในบทความของวันนี้ เราอยากจะแบ่งปันกับคุณเกี่ยวกับวิธีการตั้งค่า SELinux เป็นโหมด Permissive หลังจากที่ได้แนะนำคุณผ่านรายละเอียดที่สำคัญต่างๆ







โหมดอนุญาต SELinux คืออะไร?

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



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



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





ตอนนี้ หาก SELinux ของคุณเปิดใช้งานอยู่และทำงานในโหมดบังคับใช้ เมื่อใดก็ตามที่ผู้ใช้ A พยายามเข้าถึงไดเร็กทอรี ABC การเข้าถึงจะถูกปฏิเสธ และเหตุการณ์นี้จะถูกบันทึกไว้ในล็อกไฟล์ ในทางกลับกัน หาก SELinux ของคุณทำงานในโหมด Permissive ผู้ใช้ A จะได้รับอนุญาตให้เข้าถึงไดเร็กทอรี ABC แต่ถึงกระนั้น เหตุการณ์นี้จะถูกบันทึกไว้ในล็อกไฟล์เพื่อให้ผู้ดูแลระบบทราบว่าการละเมิดความปลอดภัยอยู่ที่ใด ที่เกิดขึ้น.

วิธีการตั้งค่า SELinux เป็น Permissive Mode บน CentOS 8

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



$อาการตกเลือด

โหมดเริ่มต้นของ SELinux ถูกเน้นในภาพที่แสดงด้านล่าง:

วิธีการตั้งค่า SELinux เป็นโหมดอนุญาตชั่วคราวบน CentOS 8

โดยการตั้งค่า SELinux เป็นโหมด Permissive ชั่วคราว เราหมายความว่าโหมดนี้จะเปิดใช้งานสำหรับเซสชันปัจจุบันเท่านั้น และทันทีที่คุณรีสตาร์ทระบบ SELinux จะกลับมาทำงานต่อในโหมดเริ่มต้น เช่น โหมดบังคับใช้ สำหรับการตั้งค่า SELinux เป็นโหมดอนุญาตชั่วคราว คุณต้องเรียกใช้คำสั่งต่อไปนี้บนเทอร์มินัล CentOS 8 ของคุณ:

$sudosetenforce0

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

ตอนนี้เพื่อตรวจสอบว่า SELinux ถูกตั้งค่าเป็นโหมดอนุญาตใน CentOS 8 หรือไม่ เราจะเรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัล:

$getenforce

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

วิธีการตั้งค่า SELinux เป็น Permissive Mode อย่างถาวรบน CentOS 8

เราได้ระบุไว้ในวิธีที่ # 1 แล้วว่าการปฏิบัติตามวิธีการข้างต้นจะตั้งค่า SELinux เป็นโหมดอนุญาตชั่วคราวเท่านั้น อย่างไรก็ตาม หากคุณต้องการให้การเปลี่ยนแปลงเหล่านี้เกิดขึ้นแม้หลังจากที่คุณรีสตาร์ทระบบแล้ว คุณจะต้องเข้าถึงไฟล์การกำหนดค่า SELinux ในลักษณะต่อไปนี้:

$sudo นาโน /ฯลฯ/selinux/config

ไฟล์การกำหนดค่าของ SELinux แสดงในภาพด้านล่าง:

ตอนนี้ คุณต้องตั้งค่าของตัวแปร SELinux ให้เป็น permissive ดังที่ไฮไลต์ในภาพต่อไปนี้ หลังจากนั้นคุณสามารถบันทึกและปิดไฟล์ของคุณได้

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

$อาการตกเลือด

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

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

$sudoปิด –r ตอนนี้

หลังจากรีสตาร์ทระบบของคุณ เมื่อคุณจะตรวจสอบสถานะของ SELinux อีกครั้งด้วยคำสั่ง sestatus คุณจะสังเกตเห็นว่าโหมดปัจจุบันได้รับการตั้งค่าเป็น Permissive ด้วย

บทสรุป:

ในบทความนี้ เราได้เรียนรู้ความแตกต่างระหว่างโหมดการบังคับใช้และการอนุญาตของ SELinux จากนั้นเราได้แบ่งปันวิธีการสองวิธีในการตั้งค่า SELinux เป็นโหมดอนุญาตใน CentOS 8 วิธีแรกสำหรับเปลี่ยนโหมดชั่วคราว ในขณะที่วิธีที่สองใช้สำหรับเปลี่ยนโหมดเป็นการอนุญาตอย่างถาวร คุณสามารถใช้วิธีใดก็ได้จากสองวิธีตามความต้องการของคุณ