เข้ารหัส Swap ของ Debian 12 ด้วยคีย์ใหม่ทุกครั้งที่บูตเครื่อง

ใน Debian 12 พาร์ติชั่น swap เฉพาะสามารถเข้ารหัสด้วยคีย์สุ่มใหม่ทุกครั้งที่ระบบเริ่มต้น เพิ่มการแมปคีย์สุ่มในไฟล์ `.py` /etc/crypttabจากนั้นชี้/etc/fstabไปยังอุปกรณ์ที่แมปไว้ การตั้งค่าด้านล่างใช้พาร์ติชั่นที่มีอยู่แล้วและไม่จำเป็นต้องติดตั้ง Debian ใหม่

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

ก่อนที่คุณจะเปลี่ยนการตั้งค่าการสลับข้อมูล

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

ตรวจสอบพื้นที่สวอปที่ใช้งานอยู่และจับคู่กับรายการอุปกรณ์บล็อก:

swapon --show --output=NAME,TYPE,SIZE,USED,PRIO
lsblk -o NAME,PATH,TYPE,FSTYPE,UUID,PARTUUID,SIZE

ค้นหาแถวที่TYPEและpartคือFSTYPEบันทึกswapค่าของมันPARTUUIDและยืนยันว่าเป็นพาร์ติชันเดียวกันกับที่แสดงโดย ค่าswapon --showA PARTUUIDระบุพาร์ติชันนั้นเองและจะคงที่เมื่อพื้นที่สวอปถูกสร้างขึ้นใหม่ UUID ของระบบไฟล์สวอปอาจเปลี่ยนแปลงได้เนื่องจากการแมปที่เข้ารหัสจะถูกเริ่มต้นใหม่อีกครั้งเมื่อเริ่มต้นระบบ

เอาต์พุตเทอร์มินัลของ Debian แสดงรายการพาร์ติชั่น swap ที่ใช้งานอยู่ และแถว lsblk ที่มี FSTYPE swap
เอาต์พุตจากเทอร์มินัลจะระบุอุปกรณ์สวอปที่ใช้งานอยู่ และแยกแยะแถวพาร์ติชันของอุปกรณ์สวอปออกจากระบบไฟล์รูทและระบบไฟล์ข้อมูล

สำรองข้อมูล/etc/fstabก่อนแก้ไข หากพาร์ติชั่นกำลังใช้งานอยู่ ให้ปิดเฉพาะพื้นที่สวอป (swap area) นั้น:

sudo cp -a /etc/fstab "/etc/fstab.before-cryptswap.$(date +%s)"
sudo swapoff /dev/nvme0n1p3

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

เทอร์มินัล Debian แสดงคำสั่ง swapoff ที่กำลังทำงานอยู่บนพาร์ติชั่น swap ที่เลือกไว้
ปิดใช้งานพาร์ติชั่นสวอปที่ได้รับการยืนยันแล้ว ก่อนที่จะเปลี่ยนการตั้งค่าขณะบูตเครื่อง

กำหนดค่าการแมปที่เข้ารหัสด้วยคีย์แบบสุ่ม

เปิดไฟล์ crypttab ด้วยโปรแกรมแก้ไขข้อความระดับรูท:

sudoedit /etc/crypttab

เพิ่มบรรทัดใหม่หนึ่งบรรทัด โดยแทนที่YOUR-PARTUUIDด้วยตัวระบุพาร์ติชันจริง รักษาชื่อการแมปให้cryptswapสอดคล้องกันในขั้นตอนถัดไป

cryptswap PARTUUID=YOUR-PARTUUID /dev/urandom plain,cipher=aes-xts-plain64,size=256,hash=sha1,swap

/etc/crypttabคำสั่ง นี้จะบอก Debian ว่าควรสร้างอุปกรณ์บล็อกที่เข้ารหัสใดเมื่อเริ่มต้นPARTUUID=ระบบ แหล่งที่มาจะชี้ไปยังพาร์ติชันแบบ raw; /dev/urandomระบุคีย์ใหม่; plainเลือก dm-crypt โดยไม่มีส่วนหัว LUKS แบบถาวร; และswapขอให้ตัวช่วย crypttab เริ่มต้นอุปกรณ์ที่แมปไว้เป็น swap มีการระบุรหัสเข้ารหัส ขนาดคีย์ และแฮชอย่างชัดเจน ตามตัวอย่าง crypttab ของ Debian Bookwormการแมปจะปรากฏเป็น ตัวเลือก /dev/mapper/cryptswapนี้swapจะทำงานmkswapบนอุปกรณ์ที่แมปไว้เมื่อเริ่มต้นระบบ ดังนั้นเนื้อหาจะถูกเริ่มต้นใหม่ทุกครั้งที่บูต ชี้แหล่งที่มาไปยังพาร์ติชัน swap เฉพาะที่คุณตรวจสอบแล้วเท่านั้น ตัวเลือกนี้จะทำให้เกิดความเสียหายหากชี้ไปยังพาร์ติชันที่มีไฟล์อยู่

ไฟล์ crypttab ที่แสดงรายการ cryptswap ที่ใช้ PARTUUID, urandom, AES-XTS และตัวเลือก swap
รายการใน crypttab ใช้ตัวระบุพาร์ติชันที่เสถียรและคีย์สุ่มใหม่สำหรับแมปปิ้งที่มีชื่อว่า cryptswap

ตอนนี้เปิด/etc/fstabไฟล์ . ลบหรือคอมเมนต์บรรทัดเก่าที่เปิดใช้งานพาร์ติชั่นสวอปแบบดิบ รวมถึงบรรทัดใดๆ ที่อ้างอิงถึง UUID สวอปปัจจุบัน แล้วเพิ่มรายการนี้แทน:

/dev/mapper/cryptswap none swap sw 0 0

อย่าเปิดใช้งานทั้งสองรายการพร้อมกัน: เพราะอาจทำให้พาร์ติชันที่ไม่ได้เข้ารหัสทำงานควบคู่ไปกับการแมปที่เข้ารหัสได้fstabไฟล์นี้อธิบายถึงพื้นที่สวอปที่เปิดใช้งานระหว่างการเริ่มต้นระบบ ในขณะที่ตัวสร้าง cryptsetup ของ systemd ใน Debian จะอ่าน/etc/crypttabและสร้างหน่วยที่เกี่ยวข้อง ดูคู่มือตัวสร้าง cryptsetup ของ systemd จาก Bookwormและคู่มือfstab ของ Debian

การตั้งค่าในไฟล์ fstab จะเปิดใช้งาน swap ผ่านทาง /dev/mapper/cryptswap และเทอร์มินัลจะแสดงว่าการแมปนั้นใช้งานอยู่
หลังจากสร้างแผนที่เสร็จแล้ว fstab จะเปิดใช้งานการสลับข้อมูลผ่านทาง /dev/mapper/cryptswap แทนที่จะใช้พาร์ติชันดิบ

รีบูตเครื่องและตรวจสอบไฟล์สวอปที่เข้ารหัส

บันทึกไฟล์ทั้งสองไฟล์แล้วรีบูตเครื่อง เพื่อให้ Debian สร้างการแมปในระหว่างการเริ่มต้นระบบ:

sudo reboot

หลังจากล็อกอินอีกครั้ง ให้ตรวจสอบทั้งเส้นทางสวอปที่ใช้งานอยู่และการแมป dm-crypt:

swapon --show
sudo cryptsetup status cryptswap

รายการสวอปควรระบุชื่อ/dev/mapper/cryptswapไม่ใช่พาร์ติชันดิบ ผลลัพธ์สถานะ cryptsetup ควรแสดงการแมปแบบธรรมดาที่ใช้งานอยู่และพาร์ติชันพื้นฐานที่คาดหวัง การตรวจสอบครั้งที่สองนี้มีความสำคัญ: รายการสวอปที่ปรากฏในswapon --showเพียงอย่างเดียวไม่ได้พิสูจน์ว่ามีการเข้ารหัส

หากไม่พบการแมป ให้ตรวจสอบการสะกดคำPARTUUIDและlsblkตรวจสอบบันทึกการบูตด้วยคำสั่ง `boot log` sudo journalctl -b -u systemd-cryptsetup@cryptswap.serviceยืนยันว่ารายการ raw-device เก่าไม่ได้ใช้งานอยู่ใน ` boot log` อีกต่อไป /etc/fstabอย่ารันmkswapคำสั่ง `boot log` โดยตรงบนพาร์ติชัน raw หลังจากตั้งค่าการแมปแล้ว

โปรดทราบว่าการเปลี่ยนแปลงนี้ช่วยปกป้องอะไรบ้าง

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

คู่มือการติดตั้ง Bookworm ของ Debian อธิบายว่าการเข้ารหัสแบบสุ่มคีย์นั้นเหมาะสมสำหรับ swap และระบุว่าการเข้ารหัสแบบนี้จะป้องกันการกู้คืนภาพจำศีลหลังจากการรีบูต โปรดดูส่วน encrypted-volume ในคู่มือการติดตั้ง Debian 12สำหรับอุปกรณ์ที่ใช้งานอยู่ ให้ใช้คำสั่งตรวจสอบสองคำสั่งข้างต้น: mapper ควรทำงานอยู่ และอุปกรณ์ที่รองรับควรตรงกับพาร์ติชันที่คุณเลือก

ฝากความเห็น

แก้ไขข้อผิดพลาดลายเซ็น APT โดยการซ่อมแซมคีย์ที่เก็บข้อมูล

แก้ไขข้อผิดพลาดลายเซ็น APT โดยการซ่อมแซมคีย์ที่เก็บข้อมูล

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

วิธีการแปลงค่าแรงดันไฟฟ้าสามเฟส กระแสไฟฟ้า กำลังไฟฟ้า (kW) กำลังไฟฟ้าแรงสูง (kVA) และตัวประกอบกำลัง

วิธีการแปลงค่าแรงดันไฟฟ้าสามเฟส กระแสไฟฟ้า กำลังไฟฟ้า (kW) กำลังไฟฟ้าแรงสูง (kVA) และตัวประกอบกำลัง

เรียนรู้สูตรสมดุลสามเฟสและวิธีการแปลงแรงดัน กระแส กำลังไฟฟ้า (kW) กำลังไฟฟ้าแรงสูง (kVA) และตัวประกอบกำลังทีละขั้นตอน พร้อมตัวอย่างการคำนวณและข้อจำกัดที่ต้องตรวจสอบ

จำกัดการใช้งาน CPU และหน่วยความจำของคำสั่งด้วย cgroups ใน Ubuntu

จำกัดการใช้งาน CPU และหน่วยความจำของคำสั่งด้วย cgroups ใน Ubuntu

เรียกใช้งานเวิร์กโหลดภายในขอบเขต systemd ด้วย CPUQuota และ MemoryMax จากนั้นตรวจสอบขีดจำกัดผ่าน cgroup v2

เข้ารหัส Pi-hole Upstream DNS บน Ubuntu Server 24.04

เข้ารหัส Pi-hole Upstream DNS บน Ubuntu Server 24.04

ตั้งค่า dnscrypt-proxy เป็นบริดจ์ DoH ในเครื่องของ Pi-hole บน Ubuntu 24.04 โดยกำหนดให้รับฟังเฉพาะ localhost เลือกตัวแก้ไข และตรวจสอบก่อนเปลี่ยน DNS

วิธีใช้งานท่าทางสัมผัสบนทัชแพดใน Ubuntu 24.04 บน Wayland

วิธีใช้งานท่าทางสัมผัสบนทัชแพดใน Ubuntu 24.04 บน Wayland

ตรวจสอบการตั้งค่าทัชแพดของ Ubuntu ยืนยันการใช้งาน Wayland และทดสอบการปัดนิ้วในตัวของ GNOME ก่อนที่จะแก้ไขปัญหาแอปหรือฮาร์ดแวร์

สร้าง RAID 1 Mirror สำหรับ Debian 12 โดยใช้ mdadm

สร้าง RAID 1 Mirror สำหรับ Debian 12 โดยใช้ mdadm

สร้างและตรวจสอบความถูกต้องของอาร์เรย์ข้อมูล RAID 1 สองดิสก์สำหรับ Debian 12 ฟอร์แมตอย่างปลอดภัย และกำหนดค่าให้ประกอบและเมานต์หลังจากรีบูต

เข้ารหัส Swap ของ Debian 12 ด้วยคีย์ใหม่ทุกครั้งที่บูตเครื่อง

เข้ารหัส Swap ของ Debian 12 ด้วยคีย์ใหม่ทุกครั้งที่บูตเครื่อง

ตั้งค่าการเข้ารหัสแบบสุ่มคีย์สำหรับพาร์ติชัน swap ที่มีอยู่ของ Debian 12 ตรวจสอบการแมป dm-crypt ที่ใช้งานอยู่ และทำความเข้าใจข้อดีข้อเสียของการจำศีล

วิธีจำกัดสิทธิ์การเข้าถึง SSH ให้กับผู้ใช้เฉพาะในไดเร็กทอรีที่กำหนดบน Ubuntu 24.04 (คู่มือ SFTP Chroot)

วิธีจำกัดสิทธิ์การเข้าถึง SSH ให้กับผู้ใช้เฉพาะในไดเร็กทอรีที่กำหนดบน Ubuntu 24.04 (คู่มือ SFTP Chroot)

จำกัดการเข้าถึงบัญชี SSH ของ Ubuntu 24.04 ให้เฉพาะโฟลเดอร์ SFTP ที่กำหนดไว้ โดยใช้ chroot, สิทธิ์การเข้าถึงที่เหมาะสม, กฎการจับคู่ และการทดสอบที่ปลอดภัย โดยไม่ให้สิทธิ์การเข้าถึงเชลล์

ปลดล็อก APT ของ Ubuntu อย่างปลอดภัยและทำการอัปเดตให้เสร็จสมบูรณ์

ปลดล็อก APT ของ Ubuntu อย่างปลอดภัยและทำการอัปเดตให้เสร็จสมบูรณ์

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

วิธีตั้งค่าการสร้างสแนปช็อต Btrfs อัตโนมัติบน Ubuntu Desktop

วิธีตั้งค่าการสร้างสแนปช็อต Btrfs อัตโนมัติบน Ubuntu Desktop

ตั้งค่าการสร้างสแนปช็อตระบบ Btrfs ตามกำหนดเวลาบน Ubuntu Desktop ด้วย Timeshift ตรวจสอบโครงสร้างซับโวลุ่มของ Ubuntu เลือกช่วงเวลาการเก็บรักษา และทำความเข้าใจว่าสแนปช็อตไม่สามารถปกป้องอะไรได้บ้าง