เมื่อไม่มีข้อมูลสถานะ FIPS ให้แยกการตั้งค่าการบูตออกจากการปฏิบัติตามข้อกำหนด
เซิร์ฟเวอร์อาจรายงานว่าโหมด FIPS ปิดอยู่ แม้ว่าเจ้าของจะติดตั้งการอัปเดตความปลอดภัยหรือเลือกโปรไฟล์ที่มีความปลอดภัยสูงแล้วก็ตาม ใน SUSE Linux Enterprise Server 15 SP7 วิธีการที่ SUSE ระบุไว้คือ ติดตั้งการสนับสนุน FIPS ที่จำเป็นสำหรับระบบ เรียกใช้คำสั่ง `install_include` fips-mode-setup --enableรีบูต และตรวจสอบสถานะด้วย คำสั่ง `install_include` fips-mode-setup --checkการตั้งค่านี้จะเปลี่ยนนโยบายการเข้ารหัสของระบบและการกำหนดค่าการบูต แต่ไม่ได้พิสูจน์ว่าเวิร์กโหลดหรือระบบปฏิบัติการทั้งหมดตรงตามข้อกำหนดการปฏิบัติตามกฎระเบียบแต่อย่างใด
ตัวอย่างประกอบ:ลองนึกภาพทีมปฏิบัติการสมมติกำลังเตรียมเซิร์ฟเวอร์ SLES 15 SP7 เครื่องหนึ่งสำหรับบริการภายในที่ต้องการการเข้ารหัสที่ได้รับการอนุมัติจาก FIPS ทีมมีช่วงเวลาสำหรับการบำรุงรักษาและการเข้าถึงคอนโซล แต่ยังไม่ทราบว่าไคลเอ็นต์รุ่นเก่าใช้อัลกอริทึมที่ไม่เข้ากันหรือไม่ นั่นเป็นเหตุผลที่ต้องตรวจสอบข้อกำหนดที่แน่นอนและทดสอบการพึ่งพาต่างๆ ก่อนที่จะเปลี่ยนโฮสต์ที่ใช้งานจริง ไม่ใช่หลักฐานของการใช้งานจริงหรือการทดสอบ
1. ยืนยันการเผยแพร่และข้อกำหนด
ขั้นแรกให้ระบุ Service Pack และสถาปัตยกรรม คำสั่งและแพ็กเกจที่ใช้จริงอาจแตกต่างกันไปในแต่ละ Service Pack ของ SLES 15 ดังนั้นอย่าคัดลอกขั้นตอนจาก SP7 ไปใช้กับ SP4, SP5 หรือ SP6 โดยไม่ตรวจสอบเอกสารของ SUSE สำหรับเวอร์ชันนั้นๆ ก่อน
cat /etc/os-release
uname -m
สำหรับเซิร์ฟเวอร์ตัวอย่าง ทีมงานจะบันทึกเวอร์ชัน SLES ที่ติดตั้ง ตรวจสอบช่วงเวลาการเปลี่ยนแปลง และยืนยันว่าสามารถกู้คืนได้ผ่านคอนโซลหรือเส้นทางการจัดการระยะไกลที่ได้รับอนุมัติหากการรีบูตล้มเหลว FIPS อาจปฏิเสธอัลกอริธึมการเข้ารหัสหรือโปรโตคอลที่แอปพลิเคชันยังคงคาดหวังอยู่ กำหนดเวลาเพื่อตรวจสอบแอปพลิเคชันที่ใช้ TLS, SSH, การแชร์ไฟล์, Java, ฐานข้อมูล หรือไลบรารีการเข้ารหัสอื่นๆ
นอกจากนี้ โปรดชี้แจงให้ชัดเจนว่าผู้ประเมินต้องการอะไรกันแน่ การตรวจสอบความถูกต้องตามมาตรฐาน FIPS 140-3 นั้นใช้กับโมดูลการเข้ารหัสในรูปแบบการกำหนดค่าที่กำหนดไว้ การเปิดใช้งานโหมดระบบปฏิบัติการไม่ได้หมายความว่าต้องตรวจสอบความถูกต้องของทุกโมดูล แอปพลิเคชัน หรือการใช้งาน คู่มือ SLES 15 SP7 ของ SUSE ระบุว่า SP7 จะไม่ถูกส่งไปขอรับการรับรอง NIST FIPS 140-3 SUSE เผยแพร่ข้อมูลเกี่ยวกับโมดูลและรูปแบบการกำหนดค่าที่ได้รับการตรวจสอบความถูกต้องแยกต่างหาก หากสัญญาต้องการโมดูลที่ได้รับการตรวจสอบความถูกต้องโดยเฉพาะ โปรดยืนยันโมดูล เวอร์ชัน สภาพแวดล้อมการทำงาน และใบรับรองที่แน่นอนกับเอกสารรับรองของ SUSE และบันทึกใบรับรอง NIST CMVPก่อนดำเนินการต่อ
2. เตรียมส่วนประกอบ FIPS ที่รองรับ
SUSE แนะนำให้เลือกpatterns-base-fipsรูปแบบสำหรับการติดตั้งใหม่ หากคุณกำลังเปลี่ยนแปลงระบบที่กำลังทำงานอยู่ SUSE เตือนว่าอาจจำเป็นต้องมีการปรับแต่งเพิ่มเติม รวมถึงการสร้างคีย์ใหม่และการตรวจสอบการตั้งค่า ให้ถือว่าการเปลี่ยนแปลงโฮสต์ที่มีอยู่เป็นการเปลี่ยนแปลงที่ควบคุมได้ ไม่ใช่การรับรองด้วยคำสั่งเดียว
ตรวจสอบว่ามีโปรแกรมติดตั้งอยู่หรือไม่:
command -v fips-mode-setup
rpm -q crypto-policies-scripts
crypto-policies-scriptsแพ็คเกจนี้ มีให้ fips-mode-setupและอาจไม่ได้ติดตั้งไว้ หากไม่มี ให้ติดตั้งจากที่เก็บ SLES ที่ได้รับอนุญาตของระบบ:
sudo zypper install crypto-policies-scripts
หากไม่แน่ใจเกี่ยวกับการเข้าถึงแหล่งเก็บข้อมูล ความพร้อมใช้งานของแพ็กเกจ หรือแพ็กเกจ FIPS ที่จำเป็น ให้หยุดและใช้ช่องทางการสนับสนุนและคำแนะนำการรับรองสำหรับ Service Pack ของคุณโดยเฉพาะ อย่าใช้คำสั่งจากบล็อกเก่าหรือเพิ่มพารามิเตอร์เคอร์เนลที่คัดลอกมาจาก SLES เวอร์ชันอื่นด้วยตนเอง คำแนะนำ SP7 ปัจจุบันของ SUSE ใช้ยูทิลิตี้การตั้งค่าเพื่อใช้ Policy และกำหนดค่ากระบวนการบูต
3. เปิดใช้งานโหมด FIPS แล้วรีบูตเครื่อง
เมื่อทำการสำรองข้อมูลโฮสต์ตามนโยบายท้องถิ่นแล้ว ตรวจสอบความสัมพันธ์ระหว่างไฟล์ต่างๆ แล้ว และช่วงเวลาการบำรุงรักษาเปิดใช้งานอยู่ ให้เปิดใช้งานโหมด:
sudo fips-mode-setup --enable
ตรวจสอบผลลัพธ์ของยูทิลิตี้ เอกสารของ SUSE ระบุว่ายูทิลิตี้จะตั้งค่านโยบายการเข้ารหัส FIPS และแจ้งว่าจำเป็นต้องรีบูต การรีบูตเป็นส่วนหนึ่งของขั้นตอนเนื่องจาก initramfs และการกำหนดค่าการบูตต้องสะท้อนโหมดใหม่ อย่าถือว่าคำสั่งที่ส่งคืนค่าสำเร็จก่อนการรีบูตเป็นหลักฐานว่าเคอร์เนลที่กำลังทำงานอยู่ได้ทำงานในโหมด FIPS แล้ว
รีบูตเครื่องเฉพาะเมื่อคุณยืนยันแล้วว่าบริการได้รับผลกระทบและสามารถเข้าถึงการกู้คืนได้:
sudo systemctl reboot
สำหรับทีมปฏิบัติการสมมติ เจ้าของแอปพลิเคชันจะอยู่ร่วมในระหว่างช่วงเวลาการเปลี่ยนแปลง และสามารถทำการทดสอบเบื้องต้นตามที่ตกลงกันไว้ได้หลังจากเซิร์ฟเวอร์กลับมาทำงานได้ตามปกติ หากเซิร์ฟเวอร์อยู่ระยะไกลและไม่มีเส้นทางการกู้คืน ให้สร้างเส้นทางการกู้คืนก่อน หรือเลื่อนการเปลี่ยนแปลงออกไป ข้อจำกัดของ FIPS อาจทำให้เกิดช่องโหว่การเข้ารหัสที่ไม่รองรับในระหว่างการบูตหรือเมื่อบริการเริ่มต้นทำงาน
4. ตรวจสอบโหมด จากนั้นตรวจสอบปริมาณงาน
หลังจากระบบรีสตาร์ทเสร็จสมบูรณ์แล้ว ให้เรียกใช้โปรแกรมตรวจสอบสถานะของ SUSE:
sudo fips-mode-setup --check
สำหรับการตั้งค่า SP7 ที่ประสบความสำเร็จ เอกสารของ SUSE ระบุว่าโหมด FIPS ถูกเปิดใช้งาน โมดูล FIPS ของ initramfs ถูกเปิดใช้งาน และนโยบายการเข้ารหัสปัจจุบันอิงตามนโยบาย FIPS เปรียบเทียบผลลัพธ์ที่ได้กับเอกสารสำหรับ Service Pack ที่ติดตั้งไว้ อย่าพึ่งพาเพียงแค่ไฟล์การกำหนดค่าหรือข้อเท็จจริงที่ว่าการรีบูตเสร็จสมบูรณ์แล้ว
คุณสามารถตรวจสอบสถานะการเปิดใช้งานของยูทิลิตี้ได้เช่นกัน:
sudo fips-mode-setup --is-enabled
SUSE ระบุสถานะนี้ไว้ในเอกสาร โดยผลลัพธ์ที่ได้จะเป็นค่าที่ไม่ใช่ศูนย์เมื่อปิดใช้งาน FIPS หรือเมื่อโหมดไม่สอดคล้องกัน ให้ใช้สถานะการออกในการทำงานอัตโนมัติแทนการค้นหาในเอาต์พุตที่มีรูปแบบไม่ชัดเจน จากนั้นทดสอบบริการที่สำคัญต่อข้อกำหนด: ยืนยันตัวตนด้วยวิธีการ SSH ที่ได้รับอนุมัติ สร้างการเชื่อมต่อ TLS ไปยังปลายทางที่เป็นตัวแทน และเรียกใช้การตรวจสอบสถานะเฉพาะแอปพลิเคชัน การที่บริการทำงานอยู่ไม่ได้หมายความว่าบริการนั้นใช้โมดูลการเข้ารหัสหรือการกำหนดค่าที่ได้รับอนุมัติเสมอไป
ตัวอย่างความเข้ากันได้ในคู่มือของ SUSE เกี่ยวกับ Samba/CIFS คือ ในสภาพแวดล้อม FIPS ให้ใช้การตรวจสอบสิทธิ์ Kerberos เนื่องจากโหมดการตรวจสอบสิทธิ์ Samba อื่นๆ มี MD5 รวมอยู่ด้วย ควรใช้คำแนะนำนี้เฉพาะในกรณีที่โฮสต์ให้บริการหรือใช้งานบริการ Samba เท่านั้น มิเช่นนั้นให้เน้นที่โปรโตคอลและไลบรารีที่เกี่ยวข้องจริงๆ
5. แก้ไขข้อผิดพลาดโดยไม่ลดทอนข้อกำหนด
หาก--checkรายงานว่า FIPS ไม่ได้เปิดใช้งาน ให้ตรวจสอบผลลัพธ์คำสั่งทั้งหมดและยืนยันว่าได้รีบูตเครื่องตามที่กำหนดแล้ว ตรวจสอบเวอร์ชันและชุดแพ็กเกจที่ติดตั้ง จากนั้นดูคู่มือ SUSE ที่เกี่ยวข้อง หากรายงานว่าโหมดเปิดใช้งานอยู่ แต่แอปพลิเคชันทำงานล้มเหลว ให้ตรวจสอบบันทึกของแอปพลิเคชันนั้นและระบุอัลกอริทึมหรือโมดูลที่แอปพลิเคชันพยายามใช้งาน เปลี่ยนหรือกำหนดค่าการพึ่งพาใหม่ด้วยตัวเลือกที่ได้รับอนุมัติ หรือขอข้อยกเว้นที่บันทึกไว้จากเจ้าของข้อกำหนดด้านการปฏิบัติตามกฎระเบียบ
อย่าเปลี่ยนกลับไปใช้นโยบายการเข้ารหัสแบบอนุญาตเพียงเพื่อให้ไคลเอนต์รุ่นเก่าทำงานได้ในขณะที่อ้างว่าดำเนินการตามมาตรฐาน FIPS หากจำเป็นต้องย้อนกลับ ให้ใช้กระบวนการแจ้งเหตุและอนุมัติขององค์กร เอกสารของ SUSE sudo fips-mode-setup --disableระบุไว้ จากนั้นทำการรีบูตเพื่อปิดใช้งานโหมดดังกล่าว ประเมินสถานะการปฏิบัติตามข้อกำหนดอีกครั้งหลังจากย้อนกลับแล้ว
ก่อนปิดการเปลี่ยนแปลง ให้บันทึกข้อมูลการระบุ Service Pack, ข้อมูลแพ็กเกจ, ผลลัพธ์คำสั่ง, บันทึกการรีบูต และผลการทดสอบแอปพลิเคชันลงในบันทึกการเปลี่ยนแปลงของระบบ ในสถานการณ์ตัวอย่างนี้ หลักฐานดังกล่าวช่วยให้ทีมสามารถแยกแยะข้อเท็จจริงสามประการได้ คือ โฮสต์รายงานว่าเปิดใช้งานโหมด FIPS แล้ว บริการที่ตั้งใจไว้ทำงานได้ และโมดูลการเข้ารหัสที่เลือกตรงตามข้อกำหนดการปฏิบัติตามกฎระเบียบ มีเพียงผู้ประเมินที่รับผิดชอบเท่านั้นที่จะตัดสินใจได้ว่าข้อเท็จจริงเหล่านั้นตรงตามข้อกำหนดที่เกี่ยวข้องหรือไม่
สำหรับขั้นตอนที่ถูกต้องและข้อควรระวังเฉพาะรุ่น โปรดศึกษาคู่มือความปลอดภัยและการเสริมความแข็งแกร่งของ SUSE Linux Enterprise Server 15 SP7 ข้อมูลการรับรอง FIPS ของ SUSEและบันทึกโปรแกรมการตรวจสอบโมดูลการเข้ารหัสลับของ NIST ที่เกี่ยวข้อง