所謂系統(tǒng)加固就是利用手工配置及有關(guān)軟件來提高系統(tǒng)安全性的過程。本文將向讀者詳細(xì)介紹利用開源軟件sudo來對(duì)Root權(quán)限進(jìn)行控制和審計(jì)以加固Linux系統(tǒng)安全的具體操作方法。
一、sudo的功能
Sudo是一款開源安全工具,最常用于對(duì)Root權(quán)限進(jìn)行控制和審計(jì)。它的指導(dǎo)思想是“在保證人們能正常工作的條件下,盡量壓縮授予他們的權(quán)限”。系統(tǒng)管理員不僅可以讓指定的用戶或用戶組作為root用戶或其它用戶來運(yùn)行某些命令,還能將指定的用戶所輸入的命令和參數(shù)作詳細(xì)的記錄。當(dāng)然,該軟件是可以免費(fèi)下載的,具體地址是www.gratisoft.us/sudo/download.html。
Sudo程序是一款在命令行方式下工作的安全工具,并且我們每次只執(zhí)行一條命令。它支持的功能有:
◆命令日志:記錄命令和參數(shù)。該功能用于跟蹤用戶輸入的命令,尤其適合于進(jìn)行系統(tǒng)審計(jì)。因?yàn)閟udo 會(huì)記錄下所有作為root用戶(或者規(guī)定的其他用戶)的命令,所以許多管理員經(jīng)常用它來替代root shell,以便記錄下自己使用的命令,這不僅能增進(jìn)系統(tǒng)安全,還能用來進(jìn)行故障檢修。
◆集中記錄多個(gè)系統(tǒng)的日志:Sudo聯(lián)合系統(tǒng)日志守護(hù)進(jìn)程syslog后,能將所有日志集中存放在一個(gè)主機(jī)上。
◆命令限制:限定用戶或者用戶組能夠使用的命令。
◆檢票系統(tǒng):檢票系統(tǒng)通過在用戶登錄到sudo時(shí)所創(chuàng)建的票據(jù)來設(shè)定時(shí)間限制。票據(jù)只在規(guī)定的時(shí)間內(nèi)有效。每個(gè)新的命令都會(huì)刷新票據(jù)的預(yù)設(shè)時(shí)間,默認(rèn)的預(yù)設(shè)時(shí)間是五分鐘。現(xiàn)實(shí)中,該功能非常有用,有了它即使root用戶離開系統(tǒng)時(shí)忘了注銷的話,也不至于被其他可以接觸到鍵盤的用戶肆無忌憚的窺探系統(tǒng)。因?yàn)槠睋?jù)過期后,系統(tǒng)必須重新登錄。所以,我們最好把有效時(shí)間盡量設(shè)的短一點(diǎn),如默認(rèn)有效時(shí)間五分鐘。檢票系統(tǒng)還可以用來清除用戶的票據(jù)文件。
◆集中管理多個(gè)系統(tǒng):Sudo 的配置一般寫在/etc/sudoers這個(gè)文件中,而該文件可以供多個(gè)系統(tǒng)所用,這樣一來,我們就可以在一個(gè)主機(jī)上對(duì)這些系統(tǒng)進(jìn)行集中管理了。
Sudo幾乎支持所有的UNIX操作系統(tǒng)版本,但如果要從源代碼進(jìn)行安裝的話,必須準(zhǔn)備好C編譯器和make工具。
二、Sudo 命令參數(shù)詳解
利用Sudo,我們既可以讓某個(gè)用戶作為超級(jí)用戶來執(zhí)行某些命令,還可以讓他作為其他用戶來執(zhí)行某些命令——這一點(diǎn)對(duì)于系統(tǒng)管理格外有用。sudo命令的具體配置都可以在/etc/sudoers文件中找到,該文件規(guī)定了某個(gè)命令是否可以被某特定的用戶執(zhí)行。
使用sudo的前提條件是 ,用戶必須已經(jīng)具有了自己的用戶名和口令。如果一個(gè)用戶企圖通過sudo 來運(yùn)行命令,但該用戶卻沒有位于sudoers文件中的話,系統(tǒng)將自動(dòng)向管理員發(fā)送一封電子郵件,指出非授權(quán)用戶正在訪問系統(tǒng)。
如前所述,因?yàn)閟udo具有檢票功能,所以用戶登錄sudo 時(shí),會(huì)發(fā)給他一張票據(jù),默認(rèn)情況下其有效時(shí)間為五分鐘。不過,用戶也可以通過帶–v標(biāo)志的sudo命令來更新票據(jù),這會(huì)為票據(jù)申請(qǐng)另外五分鐘。命令如下所示:
sudo –v
如果有非授權(quán)用戶運(yùn)行上面的命令的話,管理員將收到一封反映該事件的電子郵件。
同時(shí),標(biāo)志-v也會(huì)通知非授權(quán)用戶,他是非法用戶。如果該用戶很頑固,又一次次輸入該sudo 命令,那么系統(tǒng)會(huì)再發(fā)一封電子郵件通知管理員。
無論登錄的企圖是否成功,Sudo 都會(huì)如實(shí)記錄到默認(rèn)的syslog(3)文件中。但是,我們也可以在Sudo 的配置文件改變這一行為。下表給出了sudo命令的一些選項(xiàng)。
選項(xiàng) |
選項(xiàng)名 |
描述 |
-V |
Version |
打印版本號(hào),然后退出。 |
-h |
Help |
打印幫助信息,然后退出。 |
-l |
List |
列出所有當(dāng)前用戶允許和禁止的命令。 |
-v |
Validate |
將用戶的票據(jù)更新為一個(gè)預(yù)配置的時(shí)間,默認(rèn)時(shí)五分鐘。如果需要的話,該用戶必須再次輸入用戶口令。 |
-k |
Kill |
作廢該用戶的票據(jù)。執(zhí)行該選項(xiàng)將命令用戶重新輸入用戶口令以更新票據(jù)。 |
-K |
Sure kill |
徹底刪除該用戶的票據(jù)。之后再運(yùn)行該選項(xiàng)時(shí),用戶必須用其用戶名和口令進(jìn)行登錄。 |
-u |
User |
作為用戶名規(guī)定的用戶來運(yùn)行特定的命令。這個(gè)由用戶名規(guī)定的用戶可以是root之外的任何用戶。 如果您想入口一個(gè)uid,入口#uid代替該用戶名。如果您想使用uid,可以用#uid代替該用戶名。 |
三、安裝Sudo 本新聞共
5頁,當(dāng)前在第
1頁
1 2 3 4 5