Linux系統(tǒng)上對(duì)其他用戶隱藏進(jìn)程的簡(jiǎn)單方法
我使用的是多用戶系統(tǒng),大部分的用戶通過(guò)ssh客戶端訪問(wèn)他們的資源。我如何(怎么樣)避免泄露進(jìn)程信息給他們?如何(怎么樣)在Debian/Ubuntu/RHEL/CentOS linux服務(wù)器器上阻止/避免他們看到不屬于他們的進(jìn)程?對(duì)linux上的其他用戶隱藏進(jìn)程的方法
解決方法/方案:
如果你使用的linux kernel(內(nèi)核)是3.2以上的版本(或者使用的RHEL/CentOS是6.5以上的版本),你就可以對(duì)其他用戶隱藏進(jìn)程。只有root用戶可以看到所有的進(jìn)程,而非root用戶,只能看到屬于自己的進(jìn)程信息。你所需要做的僅僅是開(kāi)啟linux kernel加固選項(xiàng) "hidepid "來(lái)重新掛載 /proc文件系統(tǒng)。
認(rèn)識(shí) hidepid 選項(xiàng)
這個(gè)選項(xiàng)定義了我們想讓非進(jìn)程的所有者能看到多少這些進(jìn)程信息。
hidepid的值代表的意義如下:
1. hidepid=0 ———默認(rèn)的模式(經(jīng)典模式),任何人都可以查看 /proc/PID/* 中的world-readable文件
解釋:world-readable files:指linux中的我們把文件權(quán)限分成user,group和other三組,other又被叫做world。所以world-readables表示other這組有-r權(quán)限。
2. hidepid=1 ———表示用戶不能進(jìn)入/proc/下的,而只能進(jìn)入屬于自己的目錄。所以一些敏感文件,如cmdline,sched*,status被保護(hù)起來(lái)了。當(dāng)用戶輸入ps,top等命令,用戶是看不到那些不屬于自己的進(jìn)程的?。〔贿^(guò)還是能夠看到/proc下的process IDs
3. hidepid=2 ———表示對(duì)hidepid=1的文件訪問(wèn)權(quán)限加強(qiáng)限制,這種設(shè)定下,/proc/PID/ 對(duì)于任何用戶都是不可見(jiàn)的——哪怕是入侵到/proc 目錄下,也看不到process IDs。無(wú)論是否有部分守護(hù)進(jìn)程是以提升的權(quán)限運(yùn)行,是否有其他用戶運(yùn)行一些敏感程序,是否有其他用戶運(yùn)行任何程序等,這個(gè)參數(shù)的設(shè)定都使得入侵者收集系統(tǒng)運(yùn)行進(jìn)程信息變得更復(fù)雜,難度加大。
Linux kernel protection(linux內(nèi)核保護(hù)):對(duì)linux上的其他用戶隱藏進(jìn)程的方法
輸入下面的命令來(lái)設(shè)置hidepid選項(xiàng)的值,以重新掛在/proc
編輯 /etc/fstab 文件,在系統(tǒng)重啟后依然按上面那樣來(lái)掛在/proc:
將 proc掛載的那一行改成下面的樣子:
然后保存關(guān)閉文件。
接下來(lái)是演示“對(duì)linux上的其他用戶隱藏進(jìn)程的方法”是否有效
在這個(gè)例子中,我分別以dabu和root同時(shí)登陸vps,只需在xshell開(kāi)連個(gè)窗口或者是直接在命令行下ssh命令登陸。這里假設(shè)我dabu和root已經(jīng)同時(shí)登陸了,那么,此時(shí)hidepid=0是默認(rèn)的。
先在root中打開(kāi)一個(gè)a.txt文件
不關(guān)閉文件,然后去dabu那進(jìn)行操作,執(zhí)行
得到的結(jié)果又一條,如下:
同樣,執(zhí)行:
也可以看到有一條root使用vi的進(jìn)程:
上面兩個(gè)結(jié)果都證明在hidepid=0(默認(rèn)值)時(shí),這個(gè)屬于root用的進(jìn)程可以被dabu看到。
接著,繼續(xù)用root執(zhí)行下面的命令:
再次用dabu執(zhí)行下面的命令查看進(jìn)程;
返回結(jié)果中看不到剛才那條進(jìn)程了,所有非dabu用戶的都看不到了
至于top,htop之類的,更是看不到了
還有,如果你想ls /proc ,會(huì)提示你不能進(jìn)入。
gid=xxx的配合hidepid使用:
如果我們?cè)O(shè)置了hidepid=2,就使得只能root看到所有的進(jìn)程信息,有的情況下,我們還希望某個(gè)管理組也可以看到所有進(jìn)程信息。
假設(shè)我們這里這個(gè)組是admin組,它的gid是1001 :我們可以講/etc/fstab文件中的proc那行改成;
或者是
查看某個(gè)組的id,執(zhí)行命令:
查看某個(gè)用戶的id,執(zhí)行命令:
id命令的用法,自行help
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信