文章導航綠軟下載站軟件下載安卓資源蘋果資源專題

您當前所在位置:首頁操作系統LINUX → Linux下的Root權限控制

Linux下的Root權限控制

時間:2015/6/28來源:IT貓撲網作者:網管聯盟我要評論(0)

Linux是當前比較流行的網絡服務器操作系統,它繼承了UNIX系統安全、穩定、高效等優點。在Linux系統中Root擁有最高權限,正因如此攻擊者往往以獲取Root權限為目標。作為管理員如何有效地對Root進行有效管理呢?本文將從權限控制的角度,提供幾個安全技巧。

  演示環境

  Red Hat Enterprise Linux 5

  1、遠程登錄

  我們知道在RHEL系統中,默認是允許Root用戶直接遠程登錄的。假若攻擊者獲取了Root的密碼,然后進行遠程登錄,那整個服務器就淪陷了。因此,我們要做好Root的權限限制,拒絕其遠程登錄。這樣,就算攻擊者獲取了Root密碼,也不能通過遠程登錄控制服務器。限制Root遠程登錄的方法有很多種,筆者向大家推薦兩種。

  (1)SSH限制

  我們知道SSH是Linux系統中用于遠程維護管理的一個服務,類似于Windows系統中的Telnet或者遠程桌面3389。通過SSH限制Root遠程登錄,我們需要做的就是修改SSH的配置文件。找/etc/ssh/sshd_config文件,在其中添加PermitRootLogin no。需要注意的是Linux系統是大小寫敏感的,不要輸錯。輸入完畢后,保存并退出,然后輸入命令service sshd restart重啟SSH服務使修改生效。這樣當通過Root遠程連接Linux服務器時,就會拒絕連接。(圖1)

SSH限制

  (2)PAM認證

  我們還可以使用PAM認證模塊來拒絕Root用戶直接登錄系統,可通過下面的操作來實現。打開/etc/pam.d/sshd文件,在第一行加入auth required /lib/security/pam_listfile.so item=user sense=deny file=/etc/sshduser onerr=succeed這條語句。其含義是,在登錄時認證帳戶和密碼是否有效,只有認證通過才能登錄系統,否則結束認證拒絕登錄。它的認證模塊是/lib/security/pam_listfile.so,認證的用戶是用戶(user),當然也可以是組(group),認證的方式是拒絕(deny),認證文件是/etc/sshduser,文件名及目錄隨意,如果認證成功就返回(succeed)。(圖2)

PAM認證

  然后我們創建一個認證文件,可以在終端中運行命令echo "root" > /etc/sshduser來創建,當然我們也可以使用vi打開sshduser文件來加入用戶。需要說明的是,當有多個用戶時,每個用戶占用一行。添加完成后,再使用Root直接登錄服務器就可以看到登錄被拒絕了。(圖3)

PAM認證

  2、su限制

  我們知道在Linux系統中有個su命令,利用該命令只要知道Root用戶的密碼,默認情況下任何人都可以切換到Root用戶中進行操作。例如,一個屬于users組的普通用戶gslw可以通過su命令切換到Root用戶中。(圖4)

su限制

  因此,我們需要對SU進行限制,只允許特定組的用戶才能SU到Root用戶。使用的方法還是通過PAM認證模塊來實現。我們先前控制ssh服務,是使用/etc/pam.d/sshd文件,當然控制用戶使用su命令就需要對

  /etc/pam.d/su文件進行修改。直接打開該文件進行修改,或者在終端命令窗口輸入命令vi /etc/pam.d/su,然后去掉其中#auth required pam_wheel.so use_uid的注釋即可。(圖5)

su限制

  其含義是,使用pam_wheel.so文件來檢查當前用戶的UID,如果不是whell組的用戶就直接拒絕,F在我們通過gslw用戶登錄系統,然后su到Root可以看到被拒絕。當然,要使其可以su到Root需要將其加入了wheel組才可以。(圖6)

su限制

  3、Root分權

  大家知道,由于Root具有最高的權限,經常用root用戶來管理系統,會給系統帶來一定的安全隱患。比如,一條無意識輸入的破壞性的命令有可能會給系統帶來毀滅性的打擊。另外,如果系統被植入了嗅探工具,如果用root登錄會造成root口令被竊取。因此我們要消減Root的權限,可以讓其它用戶來完成Root的一些工作,避免過多地使用Root用戶。

  如何為Root分權,要根據服務器的性質來確定。比如一個Linux平臺的apache服務器,作為管理員經常使用的命令應該是諸如/usr/local/apache2/bin/apachect1 start/stop/restart這樣的是啟動/重啟/停止服務器的命令。我們可以為此創建一個用戶gslw來管理apache服務器,我們知道普通用戶是沒有權限來啟動apache服務器的。這里要用到sudo命令,通過它為gslw用戶加入擴展權限使其可以管理apache服務器。

  利用Vi或者直接進入/etc/pam.d打開sudo文件,然后在其中添加一行gslw ALL=(ALL) /usr/local/apache2/bin/apachectl命令就可以了。該命令分成四個字段,依次為用戶名、作用對象、以誰的身份運行以及運行的命令。當然,我們也可以加入gslw localhost=(root) /usr/local/apache2/bin/apachectl start,這樣過濾更嚴格一些。最后保存退出后,使用gslw用戶登錄系統就可以運行/usr/local/apache2/bin/apachectl start命令了。上面只是舉例,大家可以根據自己的需要在sudo文件中添加相應的命令行。不過,需要說明的是命令一定要嚴格過濾,不要賦權過大。(圖7)

Root分權

  總結:Linux下的權限控制是非常嚴格的,但也非常靈活,我們可以根據自己的安全需求進行布防。當然,關于Root權限的控制策略和方法還有很多,希望本文提供的思路對大家有所幫助。(

關鍵詞標簽:控制,權限,用戶,Root,

相關閱讀

文章評論
發表評論

熱門文章 使用Clonezilla遷移到虛擬Linux環境使用Clonezilla遷移到虛擬Linux環境Linux服務器:設計高性能網站架構-LLMPLinux服務器:設計高性能網站架構-LLMP安裝配置MRTG監控Linux網絡安裝配置MRTG監控Linux網絡Linux下的Root權限控制Linux下的Root權限控制

相關軟件

人氣排行 Linux下獲取CPUID、硬盤序列號與MAC地址linux tc實現ip流量限制dmidecode命令查看內存型號linux下解壓rar文件安裝紅帽子RedHat Linux9.0操作系統教程Ubuntu linux 關機、重啟、注銷 命令lcx.exe、nc.exe、sc.exe入侵中的使用方法查看linux服務器硬盤IO讀寫負載

野心不大怎样赚钱呢 上证指数每日行情300727 吉林快三app平台官网下载 甘肃快三走势图 快乐十分专家技巧视频 双色球什么叫三角码 华夏配资网ok杨方配资靠谱 大发快三彩票注册 重庆幸运农场走势图 北京pk赛车开奖记录 四川快乐12开奖查询