講解Unix操作系統(tǒng)UUCP系統(tǒng)程序的安全
在Unix操作系統(tǒng)中有很多值得學(xué)習(xí)的地方,今天我們主要介紹Unix操作系統(tǒng)中的uucp,UUCP系統(tǒng)是一組程序,完成文件傳輸,執(zhí)行系統(tǒng)之間的命令,維護系統(tǒng)使用情況的統(tǒng)計,保護安全.今天,我們就來講解下UUCP系統(tǒng)程序的安全問題。大家一起來學(xué)習(xí)下吧!
Unix操作系統(tǒng)UUCP系統(tǒng)程序的安全問題
UUCP系統(tǒng)未設(shè)置限制,允許任何本系統(tǒng)外的用戶執(zhí)行任何命令和拷貝進/出uucp用戶可讀/寫的任何文件.在具體的uucp應(yīng)用環(huán)境中應(yīng)了解這點,根據(jù)需要設(shè)置保護.
在UUCP中,有兩個程序處理安全問題.***個是uucico程序,該程序在其它系統(tǒng)調(diào)用本系統(tǒng)時啟動.這個程序是Unix操作系統(tǒng)uucp安全的關(guān)鍵,完成本系統(tǒng)文件傳輸?shù)膫鬟M和傳出.第二個程序是uuxqt,該程序為所有的遠程命令執(zhí)行服務(wù).
1 USERFILE文件
uucico用文件/usr/lib/uucp/USERFILE確定遠程系統(tǒng)發(fā)送或接收什么文件,其格式為: login,sys[c] path_name [path_name...] 其中l(wèi)ogin是本系統(tǒng)的登錄名,sys是遠程系統(tǒng)名,c是可選的call_back標(biāo)志,path_name是目錄名.
uucico作為登錄shell啟動時,將得到遠程系統(tǒng)名和所在Unix操作系統(tǒng)的登錄名,并在USERFILE文件中找到匹配login和sys的行.如果該行含有call_back標(biāo)志c, uucico將不傳送文件,連接斷開,調(diào)用遠程系統(tǒng)即,任何系統(tǒng)可以告訴本系統(tǒng) 它的名是xyz,于是本系統(tǒng)掛起,調(diào)用實際的xyz執(zhí)行文件傳輸,若無c,uucico 將執(zhí)行遠程系統(tǒng)請求的文件傳送,被傳送的文件名被假定為以path_name開頭的.
用戶需要了解以下幾點:
* 如果遠程Unix操作系統(tǒng)使用的登錄名未列于USERFILE的登錄域中,uucico將拒絕允許其它系統(tǒng)做任何事,并掛起.
* 如果系統(tǒng)名未列于sys域中,uucico將使用USERFILE中有匹配的登錄名 和空系統(tǒng)名的***行,
如:nuucp,/usr/spool/uucppublic應(yīng)用到作為 nuucp登錄的所有Unix操作系統(tǒng).cbuucp,c將迫使作為cbuucp登錄的所有系統(tǒng)自 己執(zhí)行文件傳輸?shù)恼埱?
* 若調(diào)用系統(tǒng)名不匹配sys系統(tǒng)中的任何一個,并且無空入口項,uucico也將拒絕做任何事.
* 若兩個機器都設(shè)置了call_back標(biāo)志,傳送文件的請求決不會被執(zhí)行,兩個系統(tǒng)一直互相調(diào)用,
直到兩個Unix操作系統(tǒng)中的一個取消call_back時,才能進行文件傳送.
* 如果一個用戶的登錄名列于USERFILE文件的login域中,則當(dāng)調(diào)用本系 統(tǒng)的uucico為該用戶傳送文件時,uucico只傳送至path_name指定的目錄中的文件
* 空登錄名用于所有未明確列于USERFILE文件中的用戶進行登錄.所以pat,/usr/pat只允許pat傳送/usr/pat目錄結(jié)構(gòu)中的文件.其他用戶僅允許傳送目錄/usr/spool/uucppublic和/tmp中的文件. 不要允許uucico將文件
拷進/出到除了/usr/spool/uucppublic目錄以 外的其它任何目錄,否則可能會有人用下面的命令拷貝走本系統(tǒng)的重要信息:
2 L.cmds文件
uuxqt利用/usr/lib/uucp/L.cmds文件確定要執(zhí)行的遠程執(zhí)行請求命令.該文件的格式是每行一條命令.如果只需uuxqt處理電子郵件,該文件中就只須 一行命令:
系統(tǒng)管理員可允許登錄用戶執(zhí)行netnewsrnews的命令或遠程打印命令lp,但決不能允許用戶執(zhí)行拷貝文件到標(biāo)準(zhǔn)輸出的命令,如cat命令或網(wǎng)絡(luò)命令uucp,否則這些人只需在他們自己的系統(tǒng)上敲入:
然后就可等待Unix操作系統(tǒng)發(fā)送出命令文件.
3 uucp登錄
UUCP系統(tǒng)需要兩個登錄戶頭,一個是其它系統(tǒng)登錄的戶頭,另一個是系統(tǒng) 管理使用的戶頭.例如,數(shù)據(jù)傳輸?shù)卿洃纛^是nuucp,管理登錄戶頭是uucp,則在/etc/passwd文件中應(yīng)當(dāng)有二行.UID和GID的5號通常留給uucp,由于uucico具有管理登錄的SUID許可,因此nuucp戶頭的UID和GID應(yīng)當(dāng)用其它值.
4uucp使用的文件和目錄
/usr/lib/uucp用于存放不能由用戶直接運行的各種uucp,如uuxqt和uucico.該目錄還含有若干個確定uucp如何操作的文件,如L.cmds和USERFILE. 這些文件只能對uucp管理戶頭可寫系統(tǒng)管理員一定不愿讓用戶更改遠程可執(zhí)行命令表:根據(jù)安全的觀點,該目錄中另一個系統(tǒng)管理員必須清楚的文件是 L.sys.該文件中含有uucico能調(diào)用的每個Unix操作系統(tǒng)的入口項.
入口項數(shù)據(jù)包括 uucico所調(diào)用系統(tǒng)的電話號碼,登錄名,未加密的口令.不用說,L.sys應(yīng)當(dāng)屬于uucp管理戶頭所有,且應(yīng)當(dāng)具有400或600存取許可. uucp用/usr/spool/uucp目錄存放工作文件.文件名以C.開頭的文件是送到其它系統(tǒng)的命令文件,含有在其它系統(tǒng)上拷入/出數(shù)據(jù)和執(zhí)行命令的請求.文件名以D.開頭的文件用作C.文件的數(shù)據(jù)文件.文件名以X.開頭的文件是來自其它Unix操作系統(tǒng)的遠程執(zhí)行請求,由uuxqt解釋.文件名以TM.
開始的文件是從其它Unix操作系統(tǒng)傳送數(shù)據(jù)到本Unix操作系統(tǒng)過程中uucp所使用的暫存文件.XQTDIR是uuxqt用于執(zhí)行X. 文件的目錄.LOGFILE可有助于管理uucp的安全,它含有執(zhí)行uucp請求成功與否 的信息.系統(tǒng)管理員可時常查看該文件,了解有哪些系統(tǒng)正登錄入本系統(tǒng)執(zhí)行 uucp請求?是什么請求?特別要檢查這些請求是否試圖做不允許的操作.
這樣,我們就講解了Unix操作系統(tǒng)的網(wǎng)絡(luò)安全問題。希望對大家有所幫助。
【編輯推薦】