วิธีการตรวจสอบผลรวมตรวจสอบของ Linux ISO และยืนยันว่าไม่ได้รับผลกระทบใด ๆ
เมื่อเดือนที่แล้วเว็บไซต์ของ Linux Mint ถูกแฮ็คและ ISO ที่ผ่านการดัดแปลงนั้นได้ถูกนำไปดาวน์โหลดซึ่งรวมถึงแบ็คดอร์ ในขณะที่ปัญหาได้รับการแก้ไขอย่างรวดเร็วก็แสดงให้เห็นถึงความสำคัญของการตรวจสอบไฟล์ Linux ISO ที่คุณดาวน์โหลดก่อนเรียกใช้และติดตั้ง นี่คือวิธี.
การแจกแจงลินุกซ์เผยแพร่ checksums เพื่อให้คุณสามารถยืนยันไฟล์ที่คุณดาวน์โหลดเป็นสิ่งที่พวกเขาอ้างว่าเป็นและเหล่านี้มักจะลงนามเพื่อให้คุณสามารถตรวจสอบการตรวจสอบตัวเองไม่ได้รับการดัดแปลง สิ่งนี้มีประโยชน์อย่างยิ่งหากคุณดาวน์โหลด ISO จากที่อื่นนอกเหนือจากไซต์หลักเช่นมิเรอร์ของบุคคลที่สามหรือผ่าน BItTorrent ซึ่งเป็นเรื่องง่ายสำหรับคนที่จะยุ่งเกี่ยวกับไฟล์.
กระบวนการนี้ทำงานอย่างไร
กระบวนการตรวจสอบ ISO นั้นค่อนข้างซับซ้อนดังนั้นก่อนที่เราจะเข้าสู่ขั้นตอนที่แน่นอนเราจะอธิบายอย่างชัดเจนถึงกระบวนการที่เกี่ยวข้อง:
- คุณจะดาวน์โหลดไฟล์ Linux ISO จากเว็บไซต์จำหน่าย Linux หรือที่อื่น ๆ ตามปกติ.
- คุณจะดาวน์โหลด checksum และลายเซ็นดิจิทัลจากเว็บไซต์ของการแจกจ่าย Linux อาจเป็นไฟล์ TXT สองไฟล์แยกกันหรือคุณอาจได้รับไฟล์ TXT ไฟล์เดียวที่มีข้อมูลทั้งสองชิ้น.
- คุณจะได้รับคีย์ PGP สาธารณะที่เป็นของลินุกซ์ คุณอาจได้รับสิ่งนี้จากเว็บไซต์การแจกจ่าย Linux หรือเซิร์ฟเวอร์หลักแยกต่างหากที่จัดการโดยบุคคลเดียวกันโดยขึ้นอยู่กับการแจกจ่าย Linux ของคุณ.
- คุณจะใช้คีย์ PGP เพื่อตรวจสอบว่าลายเซ็นดิจิตอลของ checksum นั้นถูกสร้างขึ้นโดยบุคคลเดียวกันกับผู้สร้างคีย์ในกรณีนี้ผู้ดูแลการกระจาย Linux นั้น สิ่งนี้เป็นการยืนยันว่าการตรวจสอบตัวเองไม่ได้ถูกแก้ไข.
- คุณจะสร้าง checksum ของไฟล์ ISO ที่คุณดาวน์โหลดและตรวจสอบว่าตรงกับไฟล์ TXT checksum ที่คุณดาวน์โหลด สิ่งนี้เป็นการยืนยันว่าไฟล์ ISO ไม่ได้ถูกดัดแปลงหรือเสียหาย.
กระบวนการอาจแตกต่างกันเล็กน้อยสำหรับ ISO ที่แตกต่างกัน แต่โดยทั่วไปจะเป็นไปตามรูปแบบทั่วไปนั้น ตัวอย่างเช่นมีเช็คซัมหลายประเภท ตามเนื้อผ้าจำนวน MD5 ได้รับความนิยมมากที่สุด อย่างไรก็ตามตอนนี้ผลรวมของ SHA-256 นั้นถูกใช้บ่อยกว่าโดยการแจกแจงลินุกซ์สมัยใหม่เนื่องจาก SHA-256 นั้นต้านทานการโจมตีทางทฤษฎีได้มากกว่า เราจะหารือเกี่ยวกับผลรวมของ SHA-256 เป็นหลักที่นี่แม้ว่ากระบวนการที่คล้ายกันจะใช้งานได้กับผลรวมของ MD5 Linux distros บางตัวอาจให้ผลรวม SHA-1 ถึงแม้ว่าสิ่งเหล่านี้จะเป็นเรื่องธรรมดาน้อยกว่า.
ทำนองเดียวกันบาง distros ไม่ได้ลงนามใน checksums ของพวกเขาด้วย PGP คุณจะต้องทำตามขั้นตอนที่ 1, 2 และ 5 แต่กระบวนการนั้นมีความเสี่ยงมากกว่า ท้ายที่สุดหากผู้โจมตีสามารถแทนที่ไฟล์ ISO เพื่อดาวน์โหลดพวกเขายังสามารถแทนที่การตรวจสอบ.
การใช้ PGP มีความปลอดภัยมากกว่า แต่ไม่สามารถป้องกันได้ ผู้โจมตียังสามารถแทนที่กุญแจสาธารณะนั้นด้วยตนเอง แต่พวกเขาก็ยังสามารถหลอกให้คุณคิดว่า ISO นั้นถูกต้อง อย่างไรก็ตามหากรหัสสาธารณะโฮสต์อยู่บนเซิร์ฟเวอร์ที่แตกต่างกันซึ่งเป็นกรณีของ Linux Mint - สิ่งนี้จะมีโอกาสน้อยกว่ามาก (เนื่องจากพวกเขาต้องการแฮ็คเซิร์ฟเวอร์สองเครื่องแทนที่จะเป็นเซิร์ฟเวอร์เดียว) แต่ถ้ารหัสสาธารณะถูกเก็บไว้ในเซิร์ฟเวอร์เดียวกับ ISO และการตรวจสอบเช่นเดียวกับกรณีที่มี distros บางอย่างก็ไม่ได้ให้ความปลอดภัยมาก.
อย่างไรก็ตามหากคุณพยายามตรวจสอบลายเซ็น PGP ในไฟล์ checksum จากนั้นตรวจสอบการดาวน์โหลดของคุณด้วย checksum นั้นนั่นคือทั้งหมดที่คุณสามารถทำได้อย่างสมเหตุสมผลในฐานะผู้ใช้ปลายทางดาวน์โหลด Linux ISO คุณยังปลอดภัยกว่าคนที่ไม่ใส่ใจ.
วิธีตรวจสอบ Checksum บน Linux
เราจะใช้ Linux Mint เป็นตัวอย่างที่นี่ แต่คุณอาจต้องค้นหาเว็บไซต์ของการแจกจ่าย Linux ของคุณเพื่อค้นหาตัวเลือกการตรวจสอบที่เสนอ สำหรับ Linux Mint จะมีไฟล์สองไฟล์พร้อมกับดาวน์โหลด ISO บนมิร์เรอร์ดาวน์โหลด ดาวน์โหลด ISO จากนั้นดาวน์โหลดไฟล์“ sha256sum.txt” และ“ sha256sum.txt.gpg” ไฟล์ไปยังคอมพิวเตอร์ของคุณ คลิกขวาที่ไฟล์และเลือก“ บันทึกลิงค์เป็น” เพื่อดาวน์โหลด.
บนเดสก์ท็อป Linux ของคุณให้เปิดหน้าต่างเทอร์มินัลแล้วดาวน์โหลดคีย์ PGP ในกรณีนี้คีย์ PGP ของ Linux Mint โฮสต์บนเซิร์ฟเวอร์หลักของ Ubuntu และเราต้องเรียกใช้คำสั่งต่อไปนี้เพื่อรับ.
gpg - keyserver hkp: //keyserver.ubuntu.com --recv-keys 0FF405B2
เว็บไซต์ Linux distro ของคุณจะนำคุณไปสู่สิ่งที่คุณต้องการ.
ตอนนี้เรามีทุกสิ่งที่เราต้องการ: ISO, ไฟล์ checksum, ไฟล์ลายเซ็นดิจิตอลของ checksum และคีย์ PGP ดังนั้นต่อไปเปลี่ยนเป็นโฟลเดอร์ที่พวกเขาถูกดาวน์โหลดเป็น ...
cd ~ / ดาวน์โหลด
…และเรียกใช้คำสั่งต่อไปนี้เพื่อตรวจสอบลายเซ็นของไฟล์ checksum:
gpg - ยืนยัน sha256sum.txt.gpg sha256sum.txt
หากคำสั่ง GPG แจ้งให้คุณทราบว่าไฟล์ sha256sum.txt ที่ดาวน์โหลดมานั้นมี“ ลายเซ็นที่ดี” คุณสามารถดำเนินการต่อได้ ในบรรทัดที่สี่ของภาพหน้าจอด้านล่าง GPG แจ้งให้เราทราบว่านี่เป็น“ ลายเซ็นที่ดี” ที่อ้างว่าเกี่ยวข้องกับ Clement Lefebvre ผู้สร้าง Linux Mint.
ไม่ต้องกังวลว่ากุญแจจะไม่ได้รับการรับรองด้วย“ ลายเซ็นที่เชื่อถือได้” นี่เป็นเพราะวิธีการเข้ารหัส PGP - คุณยังไม่ได้ตั้งค่าเว็บที่ไว้ใจได้โดยการนำเข้าคีย์จากคนที่เชื่อถือได้ ข้อผิดพลาดนี้จะเกิดขึ้นบ่อยมาก.
สุดท้ายตอนนี้เรารู้แล้วว่า checksum ถูกสร้างขึ้นโดยผู้ดูแลระบบ Linux Mint ให้รันคำสั่งต่อไปนี้เพื่อสร้าง checksum จากไฟล์. iso ที่ดาวน์โหลดมาและเปรียบเทียบกับไฟล์ checksum TXT ที่คุณดาวน์โหลด:
sha256sum - ตรวจสอบ sha256sum.txt
คุณจะเห็นข้อความ“ ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว” หากคุณดาวน์โหลดไฟล์ ISO ไฟล์เดียว แต่คุณควรเห็นข้อความ“ ตกลง” สำหรับไฟล์ที่คุณดาวน์โหลดหากตรงกับเช็คซัม.
คุณยังสามารถเรียกใช้คำสั่ง checksum โดยตรงบนไฟล์. iso มันจะตรวจสอบไฟล์. iso และแยกการตรวจสอบออก จากนั้นคุณสามารถตรวจสอบได้ว่าตรงกับการตรวจสอบที่ถูกต้องโดยดูทั้งสองด้วยตาของคุณ.
ตัวอย่างเช่นในการรับผลรวม SHA-256 ของไฟล์ ISO:
sha256sum /path/to/file.iso
หรือถ้าคุณมีค่า md5sum และต้องการรับ md5sum ของไฟล์:
md5sum /path/to/file.iso
เปรียบเทียบผลลัพธ์กับไฟล์เช็คซัม TXT เพื่อดูว่าตรงกันหรือไม่.
วิธีตรวจสอบ Checksum บน Windows
หากคุณกำลังดาวน์โหลด Linux ISO จากเครื่อง Windows คุณสามารถตรวจสอบการตรวจสอบได้แม้ว่า Windows จะไม่มีซอฟต์แวร์ที่จำเป็นในตัว ดังนั้นคุณจะต้องดาวน์โหลดและติดตั้งเครื่องมือ Gpg4win แบบโอเพ่นซอร์ส.
ค้นหาไฟล์คีย์การลงชื่อของ Linux distro และไฟล์ checksum เราจะใช้ Fedora เป็นตัวอย่างที่นี่ เว็บไซต์ของ Fedora ให้บริการดาวน์โหลด checksum และบอกเราว่าเราสามารถดาวน์โหลดรหัสลงนาม Fedora ได้จาก https://getfedora.org/static/fedora.gpg.
หลังจากดาวน์โหลดไฟล์เหล่านี้แล้วคุณจะต้องติดตั้งรหัสลงนามโดยใช้โปรแกรม Kleopatra ที่มาพร้อมกับ Gpg4win เรียกใช้งาน Kleopatra แล้วคลิกไฟล์> นำเข้าใบรับรอง เลือกไฟล์. gpg ที่คุณดาวน์โหลด.
ตอนนี้คุณสามารถตรวจสอบว่าไฟล์เช็คซัมที่ดาวน์โหลดถูกเซ็นชื่อด้วยหนึ่งในไฟล์สำคัญที่คุณนำเข้า หากต้องการทำเช่นนั้นให้คลิกไฟล์> ถอดรหัส / ตรวจสอบไฟล์ เลือกไฟล์เช็คซัมที่ดาวน์โหลด ยกเลิกการเลือกตัวเลือก“ ไฟล์อินพุตเป็นลายเซ็นเดี่ยว” และคลิก“ ถอดรหัส / ตรวจสอบ”
คุณแน่ใจหรือไม่ว่าจะเห็นข้อความแสดงข้อผิดพลาดหากคุณทำเช่นนี้เนื่องจากคุณไม่ได้ประสบปัญหาในการยืนยันว่าใบรับรอง Fedora นั้นถูกต้องตามกฎหมาย นั่นเป็นงานที่ยากขึ้น นี่คือวิธีที่ PGP ออกแบบมาเพื่อทำงานตามที่คุณพบและแลกเปลี่ยนกุญแจด้วยตนเองเช่นและรวมเว็บไว้วางใจ คนส่วนใหญ่ไม่ใช้วิธีนี้.
อย่างไรก็ตามคุณสามารถดูรายละเอียดเพิ่มเติมและยืนยันว่าไฟล์เช็คซัมถูกเซ็นชื่อด้วยหนึ่งในคีย์ที่คุณนำเข้า นี่เป็นสิ่งที่ดีกว่าเพียงแค่เชื่อถือไฟล์ ISO ที่ดาวน์โหลดมาโดยไม่ตรวจสอบ.
ตอนนี้คุณควรจะสามารถเลือกไฟล์> ตรวจสอบไฟล์เช็คซัมและยืนยันข้อมูลในไฟล์เช็คซัมที่ตรงกับไฟล์. iso ที่ดาวน์โหลด อย่างไรก็ตามสิ่งนี้ไม่ได้ผลสำหรับเรา - อาจเป็นเพียงวิธีการวางไฟล์เช็คซัมของ Fedora เมื่อเราลองกับไฟล์ sha256sum.txt ของ Linux Mint มันก็ใช้งานได้.
หากวิธีนี้ใช้ไม่ได้กับการกระจาย Linux ที่คุณเลือกนี่เป็นวิธีแก้ปัญหา ก่อนอื่นคลิกการตั้งค่า> กำหนดค่า Kleopatra เลือก“ Crypto Operations” เลือก“ File Operations” และตั้งค่า Kleopatra เพื่อใช้โปรแกรม“ sha256sum” checksum เพราะนั่นคือสิ่งที่ checksum นี้ถูกสร้างขึ้นมา หากคุณมีการตรวจสอบ MD5 ให้เลือก“ md5sum” ในรายการที่นี่.
ตอนนี้คลิกไฟล์> สร้างไฟล์ Checksum และเลือกไฟล์ ISO ที่คุณดาวน์โหลด คลีโอพัตราจะสร้างการตรวจสอบจากไฟล์. iso ที่ดาวน์โหลดและบันทึกลงในไฟล์ใหม่.
คุณสามารถเปิดไฟล์ทั้งสองนี้ - ไฟล์เช็คซัมที่ดาวน์โหลดมาและไฟล์ที่คุณเพิ่งสร้างขึ้นในเท็กซ์เอดิเตอร์เช่น Notepad ยืนยันการตรวจสอบที่เหมือนกันในทั้งสองด้วยสายตาของคุณเอง หากเหมือนกันคุณได้ยืนยันว่าไฟล์ ISO ที่คุณดาวน์โหลดไม่ได้ถูกดัดแปลง.
วิธีการตรวจสอบเหล่านี้ไม่ได้มีจุดประสงค์เพื่อป้องกันมัลแวร์ พวกเขาถูกออกแบบมาเพื่อยืนยันว่าไฟล์ ISO ของคุณดาวน์โหลดถูกต้องและไม่เสียหายระหว่างการดาวน์โหลดดังนั้นคุณสามารถเขียนและใช้งานได้โดยไม่ต้องกังวล พวกเขาไม่ได้เป็นโซลูชั่นที่จะเข้าใจผิดอย่างสมบูรณ์ในขณะที่คุณต้องเชื่อถือคีย์ PGP ที่คุณดาวน์โหลด อย่างไรก็ตามสิ่งนี้ยังให้ความมั่นใจมากกว่าการใช้ไฟล์ ISO โดยไม่ตรวจสอบเลย.
เครดิตรูปภาพ: Eduardo Quagliato บน Flickr