วิธีป้องกันคอมพิวเตอร์ Linux ของคุณจากไดรฟ์ USB ปลอม
เผยแพร่แล้ว: 2023-01-23สามารถใช้แท่งหน่วยความจำ 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 จะมีความปรารถนาทันทีที่จะเสียบเข้ากับบางอย่างเพื่อดูว่ามีอะไรอยู่ในนั้น ภัยคุกคามทางไซเบอร์ที่กำหนดเป้าหมายไปยังคอมพิวเตอร์ 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
แย่แล้ว
ที่เกี่ยวข้อง: วิธีแสดงรายการอุปกรณ์คอมพิวเตอร์ของคุณจาก Linux Terminal
การติดตั้ง USBGuard
USBGuard มีการพึ่งพา usbutils
และ udisks2
ในรุ่นล่าสุดของ Manjaro, Fedora และ Ubuntu ที่เราทดสอบ สิ่งเหล่านี้ได้รับการติดตั้งแล้ว
ในการติดตั้ง USBGuard บน Ubuntu ให้ใช้คำสั่งนี้:
sudo apt ติดตั้ง usbguard
ใน Fedora คุณต้องพิมพ์:
sudo dnf ติดตั้ง usbguard
บน Manjaro คำสั่งคือ:
sudo pacman -S usbguard
การกำหนดค่านโยบายพื้นฐาน
USBGuard มีเคล็ดลับที่เรียบร้อย มีคำสั่งที่สร้างกฎเพื่อให้อุปกรณ์ USB ที่เชื่อมต่ออยู่ทั้งหมดสามารถทำงานต่อไปได้โดยไม่มีข้อจำกัด ซึ่งหมายความว่าคุณสามารถสร้างการกำหนดค่าพื้นฐานสำหรับอุปกรณ์ที่จำเป็นเสมอทั้งหมดของคุณ ชุดของกฎนี้เรียกว่านโยบายพื้นฐาน
USBGuard ใช้กฎสามประเภท
- อนุญาต : กฎการอนุญาตอนุญาตให้อุปกรณ์ที่ระบุทำงานได้อย่างไม่มีข้อจำกัดตามปกติ ใช้สำหรับอุปกรณ์ที่เชื่อมต่อตลอดเวลา เช่น แป้นพิมพ์แบบมีสาย เมาส์ แทร็กบอล เว็บแคม และอื่นๆ นอกจากนี้ยังใช้สำหรับอุปกรณ์ที่เชื่อมต่อเป็นระยะๆ ซึ่งเป็นที่รู้จักและเชื่อถือได้
- บล็อก : กฎการบล็อกป้องกันไม่ให้อุปกรณ์ USB ทำงาน ผู้ใช้มองไม่เห็นอุปกรณ์ USB เลย
- ปฏิเสธ : กฎการปฏิเสธยังป้องกันไม่ให้อุปกรณ์ USB ทำงาน แต่ผู้ใช้สามารถมองเห็นอุปกรณ์ USB ได้โดยใช้
lsusb
USBGuard มีเคล็ดลับที่เรียบร้อย มีคำสั่งที่จะสร้างนโยบายพื้นฐานพร้อมกฎการอนุญาตสำหรับอุปกรณ์ USB ที่ เชื่อมต่ออยู่ในปัจจุบัน นี่เป็นวิธีที่ยอดเยี่ยมในการกำหนดค่าอุปกรณ์ที่เชื่อมต่อกับคอมพิวเตอร์ของคุณตลอดเวลาอย่างรวดเร็ว เช่น แป้นพิมพ์และเว็บแคม นอกจากนี้ยังเป็นวิธีที่สะดวกในการจับภาพอุปกรณ์ที่เชื่อถือได้และไม่ต่อเนื่อง เพียงตรวจสอบให้แน่ใจว่าอุปกรณ์ที่เชื่อถือได้ทั้งหมดของคุณเชื่อมต่อกับคอมพิวเตอร์เมื่อคุณออกคำสั่ง
การเล่นโวหารแปลก ๆ ทำให้คุณต้องทำเช่นนี้ในฐานะรูท การใช้ sudo
กับคำสั่งไม่ทำงาน เราจำเป็นต้องใช้คำสั่ง sudo -i
(เข้าสู่ระบบ) เพื่อเปิดเชลล์ในฐานะ root จากนั้น ออกคำสั่ง ตรวจสอบให้แน่ใจว่าคุณใช้คำสั่ง exit
เพื่อออกจากเซสชันการเข้าสู่ระบบรูทเมื่อคุณทำเสร็จแล้ว
sudo -i
usbguard สร้างนโยบาย -X -t ปฏิเสธ > /etc/usbguard/rules.conf
ทางออก
ตัวเลือก -X
(–no-hash) ป้องกันไม่ให้ USBGuard สร้างแอตทริบิวต์แฮชสำหรับแต่ละอุปกรณ์ ตัวเลือก -t
(เป้าหมาย) กำหนดเป้าหมายเริ่มต้นสำหรับอุปกรณ์ USB ที่ไม่รู้จักทั้งหมด ในกรณีของเรา เราได้เลือก "ปฏิเสธ" เรายังสามารถเลือก "บล็อก"
หากต้องการดูกฎใหม่ของเรา เราสามารถใช้ cat
sudo cat /etc/usbguard/rules.conf
ในคอมพิวเตอร์ทดสอบของเรา ตรวจพบอุปกรณ์ USB สามเครื่องและสร้างกฎ "อนุญาต" สำหรับอุปกรณ์เหล่านั้น เพิ่ม "ปฏิเสธ" เป็นเป้าหมายสำหรับอุปกรณ์ USB อื่น ๆ ทั้งหมด
การเพิ่มอุปกรณ์ USB อื่น
ตอนนี้ หากเราเสียบ USB เมมโมรี่สติ๊กแบบเดียวกับที่เราใช้ก่อนหน้านี้ มันจะไม่ได้รับอนุญาตให้ทำงาน มันไม่ได้ถูกเพิ่มไปยังท่าเรือ ไม่ได้ถูกเพิ่มไปยังไฟล์เบราว์เซอร์ และเราจะไม่ได้รับเสียงเตือน
แต่เนื่องจากเราใช้เป้าหมาย "ปฏิเสธ" สำหรับอุปกรณ์ที่ไม่รู้จัก lsusb
จึงสามารถแสดงรายละเอียดได้
แย่แล้ว
หากเราใช้เป้าหมาย "บล็อก" ในนโยบายพื้นฐาน เราจะต้องใช้คำสั่ง list-devices
พร้อมด้วยตัวเลือก -b
(อุปกรณ์ที่ถูกบล็อก)
sudo usbguard รายการอุปกรณ์ -b
นี่แสดงอุปกรณ์ USB ที่เชื่อมต่ออยู่แต่ถูกบล็อก
เราจะใช้ข้อมูลบางส่วนจากคำสั่งนี้เพื่ออนุญาตให้อุปกรณ์ USB ที่ถูกปฏิเสธเข้าถึงชั่วคราวหรือถาวร เพื่อให้อุปกรณ์ของเราเข้าถึงได้ชั่วคราว เราจะใช้หมายเลขรหัสอุปกรณ์ ในตัวอย่างของเรา นี่คือ “10”
sudo usbguard อนุญาตอุปกรณ์ 10
อุปกรณ์ของเราเชื่อมต่อแล้วและปรากฏในแท่นวางและเบราว์เซอร์ไฟล์ หากเราขอให้ USBGuard แสดงรายการอุปกรณ์ที่ถูกบล็อก จะไม่มีรายการใดอยู่ในรายการ
sudo usbguard รายการอุปกรณ์ -b
เราสามารถทำการอนุญาตแบบถาวรได้โดยใช้ตัวเลือก -p
(ถาวร) สิ่งนี้สร้างกฎสำหรับเราและเพิ่มลงในนโยบายของเรา
sudo usbguard อนุญาตอุปกรณ์ 10 -p
ตอนนี้เราสามารถใช้อุปกรณ์ USB นี้ได้ตามปกติ
การลบการเข้าถึงอุปกรณ์ USB
หากคุณเปลี่ยนใจเกี่ยวกับอุปกรณ์ USB—บางทีคุณอาจทำเมมโมรี่สติ๊ก USB หายและต้องการลบการเข้าถึงอุปกรณ์นั้น—คุณสามารถทำได้ด้วยคำสั่ง block-device
เราจำเป็นต้องทราบ ID เครื่อง เราสามารถหาได้จากรายการอุปกรณ์ที่อนุญาต โปรดทราบว่าหมายเลขนี้อาจไม่เหมือนกับหมายเลขที่คุณใช้ในการเพิ่มกฎในรายการ ดังนั้นให้ตรวจสอบก่อนที่จะออกคำสั่ง block-device
sudo usbguard รายการอุปกรณ์ -a
ในกรณีของเรา รหัสคือ “13” เราจะใช้สิ่งนี้กับคำสั่ง block-device และตัวเลือก -p
(ถาวร) เพื่อลบการเข้าถึงตลอดไป
sudo usbguard block-device 13 -p
โปรดทราบว่าสิ่งนี้จะตัดการเชื่อมต่ออุปกรณ์ทันที ใช้คำสั่งนี้เมื่อคุณใช้ข้อมูลใดๆ ในอุปกรณ์เสร็จแล้วเท่านั้น
USBGuard มอบวิธีที่มีประสิทธิภาพและแข็งแกร่งในการควบคุมและจัดการอุปกรณ์ USB ที่สามารถใช้บนคอมพิวเตอร์ของคุณได้
มันเป็นคอมพิวเตอร์ของคุณ ดังนั้นมันยุติธรรมแล้วที่คุณจะต้องเลือก
ที่เกี่ยวข้อง: วิธีการเมานต์และยกเลิกการต่อเชื่อมอุปกรณ์เก็บข้อมูลจาก Linux Terminal