Linux上如何禁用USB存儲(chǔ)設(shè)備
為了保護(hù)數(shù)據(jù)不被泄漏,我們使用軟件和硬件防火墻來(lái)限制外部未經(jīng)授權(quán)的訪(fǎng)問(wèn),但是數(shù)據(jù)泄露也可能發(fā)生在內(nèi)部。 為了消除這種可能性,機(jī)構(gòu)會(huì)限制和監(jiān)測(cè)訪(fǎng)問(wèn)互聯(lián)網(wǎng),同時(shí)禁用 USB 存儲(chǔ)設(shè)備。
在本教程中,我們將討論三種不同的方法來(lái)禁用 Linux 機(jī)器上的 USB 存儲(chǔ)設(shè)備。所有這三種方法都在 CentOS 6&7 機(jī)器上通過(guò)測(cè)試。那么讓我們一一討論這三種方法。
(另請(qǐng)閱讀: Ultimate guide to securing SSH sessions)
方法 1 – 偽安裝
在本方法中,我們往配置文件中添加一行 install usb-storage /bin/true
, 這會(huì)讓安裝 usb-storage 模塊的操作實(shí)際上變成運(yùn)行 /bin/true
, 這也是為什么這種方法叫做偽安裝
的原因。 具體來(lái)說(shuō)就是,在文件夾 /etc/modprobe.d
中創(chuàng)建并打開(kāi)一個(gè)名為 block_usb.conf
(也可能叫其他名字) ,
$ sudo vim /etc/modprobe.d/block_usb.conf
然后將下行內(nèi)容添加進(jìn)去:
install usb-storage /bin/true
***保存文件并退出。
方法 2 – 刪除 USB 驅(qū)動(dòng)
這種方法要求我們將 USB 存儲(chǔ)的驅(qū)動(dòng)程序(usb_storage.ko
)刪掉或者移走,從而達(dá)到無(wú)法再訪(fǎng)問(wèn) USB 存儲(chǔ)設(shè)備的目的。 執(zhí)行下面命令可以將驅(qū)動(dòng)從它默認(rèn)的位置移走:
$ sudo mv /lib/modules/$(uname -r)/kernel/drivers/usb/storage/usb-storage.ko /home/user1
現(xiàn)在在默認(rèn)的位置上無(wú)法再找到驅(qū)動(dòng)程序了,因此當(dāng) USB 存儲(chǔ)器連接到系統(tǒng)上時(shí)也就無(wú)法加載到驅(qū)動(dòng)程序了,從而導(dǎo)致磁盤(pán)不可用。 但是這個(gè)方法有一個(gè)小問(wèn)題,那就是當(dāng)系統(tǒng)內(nèi)核更新的時(shí)候,usb-storage
模塊會(huì)再次出現(xiàn)在它的默認(rèn)位置。
方法 3 - 將 USB 存儲(chǔ)器納入黑名單
我們也可以通過(guò) /etc/modprobe.d/blacklist.conf
文件將 usb-storage 納入黑名單。這個(gè)文件在 RHEL/CentOS 6 是現(xiàn)成就有的,但在 7 上可能需要自己創(chuàng)建。 要將 USB 存儲(chǔ)列入黑名單,請(qǐng)使用 vim 打開(kāi)/創(chuàng)建上述文件:
$ sudo vim /etc/modprobe.d/blacklist.conf
并輸入以下行將 USB 納入黑名單:
blacklist usb-storage
保存文件并退出。usb-storage
就在就會(huì)被系統(tǒng)阻止加載,但這種方法有一個(gè)很大的缺點(diǎn),即任何特權(quán)用戶(hù)都可以通過(guò)執(zhí)行以下命令來(lái)加載 usb-storage
模塊,
$ sudo modprobe usb-storage
這個(gè)問(wèn)題使得這個(gè)方法不是那么理想,但是對(duì)于非特權(quán)用戶(hù)來(lái)說(shuō),這個(gè)方法效果很好。
在更改完成后重新啟動(dòng)系統(tǒng),以使更改生效。請(qǐng)嘗試用這些方法來(lái)禁用 USB 存儲(chǔ),如果您遇到任何問(wèn)題或有什么疑問(wèn),請(qǐng)告知我們。