วิธีป้องกันคอมพิวเตอร์ Linux ของคุณจากไดรฟ์ USB ปลอม

เผยแพร่แล้ว: 2023-01-23
มือของคนที่เสียบไดรฟ์ USB เข้ากับคอมพิวเตอร์
ฟรีเออร์/Shutterstock.com
ติดตั้ง USBGuard เพื่อควบคุมและจัดการธัมบ์ไดรฟ์ที่สามารถใช้กับคอมพิวเตอร์ Linux ของคุณได้ ทำหน้าที่เป็นไฟร์วอลล์ประเภทหนึ่งสำหรับอุปกรณ์ USB ช่วยให้คุณสร้างชุดกฎที่อนุญาต บล็อก หรือปฏิเสธไดรฟ์ใดไดรฟ์หนึ่ง

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

สารบัญ

USB Memory Stick และอันตรายของมัน
USBGuard คืออะไร?
การทำงานปกติกับ USB Sticks บน Linux
การติดตั้ง USBGuard
การกำหนดค่านโยบายพื้นฐาน
การเพิ่มอุปกรณ์ USB อื่น
การลบการเข้าถึงอุปกรณ์ USB

USB Memory Stick และอันตรายของมัน

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

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

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

ไดรฟ์ USB อาจเป็นอันตรายต่อคอมพิวเตอร์ของคุณได้อย่างไร
ที่เกี่ยวข้อง ไดรฟ์ USB อาจเป็นอันตรายต่อคอมพิวเตอร์ของคุณได้อย่างไร

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

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

USBGuard คืออะไร?

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

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

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

การทำงานปกติกับ USB Sticks บน Linux

ก่อนที่เราจะทำอะไร เราจะตรวจสอบพฤติกรรมเริ่มต้นบนคอมพิวเตอร์ Ubuntu 22.10 ของเรา มันเป็นกระบวนการง่ายๆ เราเสียบแท่งหน่วยความจำ USB และดูว่าเกิดอะไรขึ้น

เราได้ยินเสียงเตือนที่ได้ยิน และไอคอนเมมโมรี่สติ๊กปรากฏขึ้นที่แท่น

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

การเปิดเทอร์มินัลและใช้คำสั่ง lsusb จะแสดงรายการอุปกรณ์ USB ที่เชื่อมต่อ รายการอันดับต้น ๆ คือแท่งหน่วยความจำที่เป็นปัญหาซึ่งเป็นอุปกรณ์ที่มีตราสินค้า TDK

 แย่แล้ว 

ใช้ lsusb เพื่อแสดงรายการอุปกรณ์ USB ที่เชื่อมต่อ

ที่เกี่ยวข้อง: วิธีแสดงรายการอุปกรณ์คอมพิวเตอร์ของคุณจาก Linux Terminal

การติดตั้ง USBGuard

USBGuard มีการพึ่งพา usbutils และ udisks2 ในรุ่นล่าสุดของ Manjaro, Fedora และ Ubuntu ที่เราทดสอบ สิ่งเหล่านี้ได้รับการติดตั้งแล้ว

ในการติดตั้ง USBGuard บน Ubuntu ให้ใช้คำสั่งนี้:

 sudo apt ติดตั้ง usbguard 

การติดตั้ง USBGuard บน Ubuntu ด้วย apt

ใน Fedora คุณต้องพิมพ์:

 sudo dnf ติดตั้ง usbguard 

การติดตั้ง USBGuard บน Fedora ด้วย dnf

บน Manjaro คำสั่งคือ:

 sudo pacman -S usbguard 

การติดตั้ง USBGuard บน Manjaro ด้วย pacman

การกำหนดค่านโยบายพื้นฐาน

USBGuard มีเคล็ดลับที่เรียบร้อย มีคำสั่งที่สร้างกฎเพื่อให้อุปกรณ์ USB ที่เชื่อมต่ออยู่ทั้งหมดสามารถทำงานต่อไปได้โดยไม่มีข้อจำกัด ซึ่งหมายความว่าคุณสามารถสร้างการกำหนดค่าพื้นฐานสำหรับอุปกรณ์ที่จำเป็นเสมอทั้งหมดของคุณ ชุดของกฎนี้เรียกว่านโยบายพื้นฐาน

USBGuard ใช้กฎสามประเภท

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

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

วิธีควบคุม sudo Access บน Linux
ที่เกี่ยวข้อง วิธีควบคุม sudo Access บน Linux

การเล่นโวหารแปลก ๆ ทำให้คุณต้องทำเช่นนี้ในฐานะรูท การใช้ sudo กับคำสั่งไม่ทำงาน เราจำเป็นต้องใช้คำสั่ง sudo -i (เข้าสู่ระบบ) เพื่อเปิดเชลล์ในฐานะ root จากนั้น ออกคำสั่ง ตรวจสอบให้แน่ใจว่าคุณใช้คำสั่ง exit เพื่อออกจากเซสชันการเข้าสู่ระบบรูทเมื่อคุณทำเสร็จแล้ว

 sudo -i
 usbguard สร้างนโยบาย -X -t ปฏิเสธ > /etc/usbguard/rules.conf
 ทางออก

ตัวเลือก -X (–no-hash) ป้องกันไม่ให้ USBGuard สร้างแอตทริบิวต์แฮชสำหรับแต่ละอุปกรณ์ ตัวเลือก -t (เป้าหมาย) กำหนดเป้าหมายเริ่มต้นสำหรับอุปกรณ์ USB ที่ไม่รู้จักทั้งหมด ในกรณีของเรา เราได้เลือก "ปฏิเสธ" เรายังสามารถเลือก "บล็อก"

การสร้างนโยบาย USBGuard พื้นฐานด้วยเซสชันเทอร์มินัลรูท

หากต้องการดูกฎใหม่ของเรา เราสามารถใช้ cat

 sudo cat /etc/usbguard/rules.conf 

ใช้ cat เพื่อแสดงรายการกฎที่สร้างขึ้นโดยอัตโนมัติใน /etc/usbguard/rules.conf

ในคอมพิวเตอร์ทดสอบของเรา ตรวจพบอุปกรณ์ USB สามเครื่องและสร้างกฎ "อนุญาต" สำหรับอุปกรณ์เหล่านั้น เพิ่ม "ปฏิเสธ" เป็นเป้าหมายสำหรับอุปกรณ์ USB อื่น ๆ ทั้งหมด

การเพิ่มอุปกรณ์ USB อื่น

ตอนนี้ หากเราเสียบ USB เมมโมรี่สติ๊กแบบเดียวกับที่เราใช้ก่อนหน้านี้ มันจะไม่ได้รับอนุญาตให้ทำงาน มันไม่ได้ถูกเพิ่มไปยังท่าเรือ ไม่ได้ถูกเพิ่มไปยังไฟล์เบราว์เซอร์ และเราจะไม่ได้รับเสียงเตือน

แต่เนื่องจากเราใช้เป้าหมาย "ปฏิเสธ" สำหรับอุปกรณ์ที่ไม่รู้จัก lsusb จึงสามารถแสดงรายละเอียดได้

 แย่แล้ว 

ใช้ lsusb เพื่อแสดงรายการอุปกรณ์ USB ที่เชื่อมต่อ

หากเราใช้เป้าหมาย "บล็อก" ในนโยบายพื้นฐาน เราจะต้องใช้คำสั่ง list-devices พร้อมด้วยตัวเลือก -b (อุปกรณ์ที่ถูกบล็อก)

 sudo usbguard รายการอุปกรณ์ -b 

การใช้คำสั่ง list-devices เพื่อแสดงรายการอุปกรณ์ที่ถูกบล็อก เชื่อมต่อ

นี่แสดงอุปกรณ์ USB ที่เชื่อมต่ออยู่แต่ถูกบล็อก

เราจะใช้ข้อมูลบางส่วนจากคำสั่งนี้เพื่ออนุญาตให้อุปกรณ์ USB ที่ถูกปฏิเสธเข้าถึงชั่วคราวหรือถาวร เพื่อให้อุปกรณ์ของเราเข้าถึงได้ชั่วคราว เราจะใช้หมายเลขรหัสอุปกรณ์ ในตัวอย่างของเรา นี่คือ “10”

 sudo usbguard อนุญาตอุปกรณ์ 10 

ให้การเข้าถึงอุปกรณ์ USB ชั่วคราว

อุปกรณ์ของเราเชื่อมต่อแล้วและปรากฏในแท่นวางและเบราว์เซอร์ไฟล์ หากเราขอให้ USBGuard แสดงรายการอุปกรณ์ที่ถูกบล็อก จะไม่มีรายการใดอยู่ในรายการ

 sudo usbguard รายการอุปกรณ์ -b 

USBGUard ไม่พบอุปกรณ์ที่ถูกบล็อก

เราสามารถทำการอนุญาตแบบถาวรได้โดยใช้ตัวเลือก -p (ถาวร) สิ่งนี้สร้างกฎสำหรับเราและเพิ่มลงในนโยบายของเรา

 sudo usbguard อนุญาตอุปกรณ์ 10 -p 

ให้สิทธิ์เข้าถึงอุปกรณ์อย่างถาวรโดยเพิ่มกฎการอนุญาตในนโยบาย

ตอนนี้เราสามารถใช้อุปกรณ์ USB นี้ได้ตามปกติ

การลบการเข้าถึงอุปกรณ์ USB

หากคุณเปลี่ยนใจเกี่ยวกับอุปกรณ์ USB—บางทีคุณอาจทำเมมโมรี่สติ๊ก USB หายและต้องการลบการเข้าถึงอุปกรณ์นั้น—คุณสามารถทำได้ด้วยคำสั่ง block-device

เราจำเป็นต้องทราบ ID เครื่อง เราสามารถหาได้จากรายการอุปกรณ์ที่อนุญาต โปรดทราบว่าหมายเลขนี้อาจไม่เหมือนกับหมายเลขที่คุณใช้ในการเพิ่มกฎในรายการ ดังนั้นให้ตรวจสอบก่อนที่จะออกคำสั่ง block-device

 sudo usbguard รายการอุปกรณ์ -a 

การรับหมายเลข ID ของอุปกรณ์ USB โดยใช้คำสั่ง list-devices

ในกรณีของเรา รหัสคือ “13” เราจะใช้สิ่งนี้กับคำสั่ง block-device และตัวเลือก -p (ถาวร) เพื่อลบการเข้าถึงตลอดไป

 sudo usbguard block-device 13 -p 

บล็อกการเข้าถึงอุปกรณ์ USB อย่างถาวรโดยใช้คำสั่ง block-device

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


USBGuard มอบวิธีที่มีประสิทธิภาพและแข็งแกร่งในการควบคุมและจัดการอุปกรณ์ USB ที่สามารถใช้บนคอมพิวเตอร์ของคุณได้

มันเป็นคอมพิวเตอร์ของคุณ ดังนั้นมันยุติธรรมแล้วที่คุณจะต้องเลือก

ที่เกี่ยวข้อง: วิธีการเมานต์และยกเลิกการต่อเชื่อมอุปกรณ์เก็บข้อมูลจาก Linux Terminal