บทความนี้มีไว้สำหรับ Amanda Enterprise (AE)

กำลังตรวจสอบโหมด SELinux

คุณสามารถรับการกำหนดค่าโหมด SELinux ปัจจุบันได้โดยเรียกใช้ getenforce หรือ sestatus ในฐานะผู้ใช้รูท ก่อนหน้านี้เพียงแค่พิมพ์คำว่า“ Enforcing” หรือ“ Permissive” ไปที่ stdout ส่วนหลังให้รายละเอียดเพิ่มเติมรวมถึงจุดต่อเชื่อม SELinuxfs โหมดปัจจุบันโหมดตามที่ปรากฏในไฟล์กำหนดค่า SELinux เป็นต้น

โหมด SLELinux สามารถเปลี่ยนได้โดยผู้ใช้รูทระหว่างรันไทม์โดยใช้แอปพลิเคชัน setenforce

การใช้งาน:

setenforce [บังคับใช้ | อนุญาต | 1 | 0]

สิ่งสำคัญคือต้องจำไว้ว่าการเปลี่ยนแปลงที่เกิดขึ้นโดยใช้ sentenforce จะไม่คงอยู่กับการรีบูตระบบ

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

ค่าดีฟอลต์ของโหมดเมื่อระบบบูทถูกกำหนดไว้ในไฟล์ / etc / selinux / config โดยพารามิเตอร์ SELINUX พารามิเตอร์ SELINUX ยอมรับการบังคับใช้อนุญาตหรือปิดใช้งาน

ตัวอย่างเช่น:

root> # cat / etc / selinux / config # ไฟล์นี้ควบคุมสถานะของ SELinux บนระบบ # SELINUX = สามารถใช้ค่าใดค่าหนึ่งในสามค่านี้: การบังคับใช้ # - บังคับใช้นโยบายความปลอดภัย SELinux # อนุญาต - SELinux พิมพ์คำเตือนแทนการบังคับใช้ # ถูกปิดใช้งาน - ไม่มีการโหลดนโยบาย SELinux SELINUX = บังคับใช้ # SELINUXTYPE = สามารถรับหนึ่งในสามค่า: # ที่กำหนดเป้าหมาย - กระบวนการที่กำหนดเป้าหมายได้รับการป้องกันขั้นต่ำ # - การปรับเปลี่ยนนโยบายเป้าหมาย มีการป้องกันเฉพาะกระบวนการที่เลือกเท่านั้น # mls - การป้องกันความปลอดภัยหลายระดับ SELINUXTYPE = รูทเป้าหมาย> #

หากคุณจำเป็นต้องแก้ไขปัญหาที่โหมด SELinux เปลี่ยนเป็นโหมดที่ไม่คาดคิดอย่างสม่ำเสมอในเวลาบูตเป็นที่น่าสังเกตว่า SELinux อาจกำหนดค่าใน grub.conf ด้วยการตั้งค่าพารามิเตอร์บังคับเป็น 0 หรือ 1 (อนุญาต หรือบังคับใช้ตามลำดับ)

การกำหนดค่า SELinux ให้ทำงานร่วมกับ Amanda ได้ดี

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

Zmanda (Amanda Enterprise Edition) เวอร์ชันใหม่จะพยายามตั้งค่า SELinux เป็นโหมดอนุญาตโดยอัตโนมัติเมื่อติดตั้ง

root> # ./amanda-enterprise-3.4-linux-x64.run การติดตั้ง Zmanda ต้องการการเปลี่ยน SELinux เป็นสถานะอนุญาต ตัวติดตั้งจะทำเช่นนั้นและคืนค่ากลับสู่สถานะเดิมเมื่อการติดตั้งเสร็จสิ้น คุณต้องการดำเนินการต่อหรือไม่ [ใช่ / n]:

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

root> # yum ให้ * / semanage {additional output not shown} root> # yum install 

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

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

รูท> # ausearch -m avc -c amanda

หากคุณไม่พบรายการบันทึกเกี่ยวกับ SELinux ที่ปฏิเสธ Amanda แต่ไม่มีปัญหาใด ๆ เมื่อทำงานในโหมดอนุญาตอาจเป็นผลมาจากกฎการไม่ตรวจสอบ หากต้องการปิดใช้งานกฎการตรวจสอบชั่วคราวคุณสามารถเรียกใช้:

root> # semodule -DB

เมื่อดำเนินการแล้วโปรดลองเรียกใช้การติดตั้งสำรองข้อมูลหรือกู้คืนอีกครั้งและตรวจสอบบันทึกการตรวจสอบ หลังจาก SELinux ได้บันทึกการปฏิเสธที่เกี่ยวข้องแล้วอย่าลืมเปิดใช้งานอีกครั้ง ไม่ตรวจสอบ กฎ:

รูท> # semodule -B

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

ราก> # semodule -l | grep amanda

อาจใช้เวลาสักครู่เพื่อแสดงรายการโมดูลที่ติดตั้งทั้งหมดและแน่นอนว่าหากไม่มีโมดูลที่ตรงกับ 'amanda' ก็จะไม่มีเอาต์พุต หากคุณพบว่าคุณใช้โมดูลนโยบาย Amanda ที่เก่าหรือเสียหายคุณสามารถลบออกได้โดยใช้:

รูท> # semodule -r 

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

การสร้างแพ็คเกจนโยบายที่กำหนดเองด้วย audit2allow

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

ขั้นแรกให้รันงานของคุณในโหมดอนุญาตและสร้างไฟล์บังคับประเภท:

รูท> # grep -E 'amanda | zmanda' /var/log/audit/audit.log | audit2allow -m myamanda> myamanda.te

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

เมื่อตรวจสอบไฟล์บังคับใช้ประเภทโปรดจำไว้ว่า: แอปพลิเคชันจำนวนมากจะจัดเตรียมบริบทความปลอดภัยของ SELinux โดยใช้สวิตช์ a -Z ตัวอย่างเช่น 'ls, -Z', 'ps axZ' เป็นต้น

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

รูท> # checkmodule -mo myamanda.mod myamanda.te root> # semodule_package -m myamanda.mod -o myamanda.pp

ในการโหลดโมดูลนโยบายจากนั้นคุณควรเรียกใช้:

รูท> # semodule -i myamanda.pp

หากคุณได้รับข้อผิดพลาดที่คุณมี “ พยายามเชื่อมโยงในโมดูลที่ไม่ใช่ MLS กับฐาน MLS” คุณจะต้องแปลงไฟล์บังคับประเภทเป็น Multi-Layer Security แทนและรวมแพ็คเกจนโยบายที่เป็นผลลัพธ์ดังนี้:

ราก> # checkmodule -M -m -o myamanda.mod myamanda.te root> # semodule_package -m myamanda.mod -o myamanda.pp

จากนั้นรวมแพ็คเกจนโยบายโดยใช้ semodule -i ตามที่อธิบายไว้ข้างต้น ตอนนี้คุณควรตั้งค่าให้เรียกใช้การสำรองข้อมูลและกู้คืนด้วย SELinux ในโหมดบังคับใช้