日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

服务器管理安全(上)

發(fā)布時(shí)間:2024/4/15 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 服务器管理安全(上) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
(上) 本文從系統(tǒng)管理員的角度討論安全問題.系統(tǒng)管理員是管理系統(tǒng)的人:啟動(dòng)系統(tǒng),停止系統(tǒng)運(yùn)行,安裝新軟件,增加新用戶,刪除老用戶,以及完成保持系統(tǒng)發(fā)展和運(yùn)行的日常事務(wù)工作.
1.安全管理
  安全管理主要分為四個(gè)方面:
  (1)防止未授權(quán)存取:這是計(jì)算機(jī)安全最重要的問題:未被使
用系統(tǒng)的人進(jìn)入系統(tǒng).用戶意識(shí),良好的口令管理(由系統(tǒng)管理員和用戶雙方配合),登錄活動(dòng)記錄和報(bào)告,用戶和網(wǎng)絡(luò)活動(dòng)的周期檢查,這些都是防止未授權(quán)存取的關(guān)鍵.
  (2)防止泄密:這也是計(jì)算機(jī)安全的一個(gè)重要問題.防止已授權(quán)或未授權(quán)的用戶相互存取相互的重要信息.文件系統(tǒng)查帳,su登錄和報(bào)告,用戶意識(shí),加密都是防止泄密的關(guān)鍵.
  (3)防止用戶拒絕系統(tǒng)的管理:這一方面的安全應(yīng)由操作系統(tǒng)來完成.一個(gè)系統(tǒng)不應(yīng)被一個(gè)有意試圖使用過多資源的用戶損害.不幸的是,UNIX不能很好地限制用戶對(duì)資源的使用,一個(gè)用戶能夠使用文件系統(tǒng)的整個(gè)磁盤空間,而UNIX基本不能阻止用戶這樣做.系統(tǒng)管理員最好用PS命令,記帳程序df和du周期地檢查系統(tǒng).查出過多占用CUP的進(jìn)程和大量占用磁盤的文件.
  (4)防止丟失系統(tǒng)的完整性:這一安全方面與一個(gè)好系統(tǒng)管理員的實(shí)際工作(例如:周期地備份文件系統(tǒng),系統(tǒng)崩潰后運(yùn)行fsck檢查,修復(fù)文件系統(tǒng),當(dāng)有新用戶時(shí),檢測該用戶是否可能使系統(tǒng)崩潰的軟件)和保持一個(gè)可靠的操作系統(tǒng)有關(guān)(即用戶不能經(jīng)常性地使系統(tǒng)崩潰).
  本文其余部分主要涉及前兩個(gè)問題,第三個(gè)問題在"安全查帳"一節(jié)討論.
  
2.超級(jí)用戶
  一些系統(tǒng)管理命令只能由超級(jí)用戶運(yùn)行.超級(jí)用戶擁有其他用戶所沒有的特權(quán),超級(jí)用戶不管文件存取許可方式如何,都可以讀,寫任何文件,運(yùn)行任何程序. 系統(tǒng)管理員通常使用命令: /bin/su 或以 root 進(jìn)入系統(tǒng)從而成為超級(jí)用戶.在后面文章中以#表示應(yīng)敲入必須由超級(jí)用戶運(yùn)行的命令,用$表示應(yīng)敲入由所有其他用戶運(yùn)行的命令.
    
3.文件系統(tǒng)安全
  (1)UNIX文件系統(tǒng)概述
  UNIX文件系統(tǒng)是UNIX系統(tǒng)的心臟部分,提供了層次結(jié)構(gòu)的目錄和文件.文件系統(tǒng)將磁盤空間劃分為每1024個(gè)字節(jié)一組,稱為塊(block)(也有用512字節(jié)為一塊的,如:SCO XENIX).編號(hào)從0到整個(gè)磁盤的最大塊數(shù).
  全部塊可劃分為四個(gè)部分,塊0稱為引導(dǎo)塊,文件系統(tǒng)不用該塊;塊1稱為專用塊,專用塊含有許多信息,其中有磁盤大小和全部塊的其它兩部分的大小.從塊2開始是i節(jié)點(diǎn)表,i節(jié)點(diǎn)表中含有i節(jié)點(diǎn),表的塊數(shù)是可變的,后面將做討論. i節(jié)點(diǎn)表之后是空閑存儲(chǔ)塊(數(shù)據(jù)存儲(chǔ)塊),可用于存放文件內(nèi)容.
  文件的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)是十分不同的,邏輯結(jié)構(gòu)是用戶敲入cat命令后所看到的文件,用戶可得到表示文件內(nèi)容的字符流.物理結(jié)構(gòu)是文件實(shí)際上如何存放在磁盤上的存儲(chǔ)格式.用戶認(rèn)為自己的文件是邊疆的字符流,但實(shí)際上文件可能并不是以邊疆的方式存放在磁盤上的,長于一塊的文件通常將分散地存放在盤上.然而當(dāng)用戶存取文件時(shí),UNIX文件系統(tǒng)將以正確的順序取各塊, 給用戶提供文件的邏輯結(jié)構(gòu).
  當(dāng)然,在UNIX系統(tǒng)的某處一定會(huì)有一個(gè)表,告訴文件系統(tǒng)如何將物理結(jié)構(gòu)轉(zhuǎn)換為邏輯結(jié)構(gòu).這就涉及到i節(jié)點(diǎn)了.i節(jié)點(diǎn)是一個(gè)64字節(jié)長的表,含有有關(guān)一個(gè)文件的信息,其中有文件大小,文件所有者,文件存取許可方式,以及文件為普通文件,目錄文件還是特別文件等.在i節(jié)點(diǎn)中最重要的一項(xiàng)是磁盤地址表. 該表中有13個(gè)塊號(hào).前10個(gè)塊號(hào)是文件前10塊的存放地址.這10個(gè)塊號(hào)能給出一個(gè)至多10塊長的文件的邏輯結(jié)構(gòu),文件將以塊號(hào)在磁盤地址表中出現(xiàn)的順序依次取相應(yīng)的塊.
  當(dāng)文件長于10塊時(shí)又怎樣呢?磁盤地址表中的第十一項(xiàng)給出一個(gè)塊號(hào),這個(gè)塊號(hào)指出的塊中含有256個(gè)塊號(hào),至此,這種方法滿足了至多長于266塊的文件(272,384字節(jié)).如果文件大于266塊,磁盤地址表的第十二項(xiàng)給出一個(gè)塊號(hào), 這個(gè)塊號(hào)指出的塊中含有256個(gè)塊號(hào),這256個(gè)塊號(hào)的每一個(gè)塊號(hào)又指出一塊, 塊中含256個(gè)塊號(hào),這些塊號(hào)才用于取文件的內(nèi)容.磁盤地址中和第十三項(xiàng)索引尋址方式與第十二項(xiàng)類似,只是多一級(jí)間接索引.
  這樣,在UNIX系統(tǒng)中,文件的最大長度是16,842,762塊,即17,246,988,288字節(jié),有幸是是UNIX系統(tǒng)對(duì)文件的最大長度(一般為1到2M字節(jié))加了更實(shí)際的限制,使用戶不會(huì)無意中建立一個(gè)用完整個(gè)磁盤窨所有塊的文件.
  文件系統(tǒng)將文件名轉(zhuǎn)換為i節(jié)點(diǎn)的方法實(shí)際上相當(dāng)簡單.一個(gè)目錄實(shí)際上是一個(gè)含有目錄表的文件:對(duì)于目錄中的每個(gè)文件,在目錄表中有一個(gè)入口項(xiàng), 入口項(xiàng)中含有文件名和與文件相應(yīng)的i節(jié)點(diǎn)號(hào).當(dāng)用戶敲入cat xxx時(shí),文件系統(tǒng)就在當(dāng)前目錄表中查找名為xxx的入口項(xiàng),得到與文件xxx相應(yīng)的i節(jié)點(diǎn)號(hào),然后開始取含有文件xxx的內(nèi)容的塊. (2)設(shè)備文件
  UNIX系統(tǒng)與邊在本系統(tǒng)上的各種設(shè)備之間的通訊,通過特別文件來實(shí)現(xiàn),就程序而言,磁盤是文件,MODEM是文件,甚至內(nèi)存也是文件.所有連接到系統(tǒng)上的設(shè)備都在/dev目錄中有一個(gè)文件與其對(duì)應(yīng).當(dāng)在這些文件上執(zhí)行I/O操作時(shí),由UNIX系統(tǒng)將I/O操作轉(zhuǎn)換成實(shí)際設(shè)備的動(dòng)作.例如,文件/dev/mem是系統(tǒng)的內(nèi)存,如果cat這個(gè)文件,實(shí)際上是在終端顯示
系統(tǒng)的內(nèi)存.為了安全起見,這個(gè)文件對(duì)普通用戶是不可讀的.因?yàn)樵谌我唤o定時(shí)間,內(nèi)存區(qū)可能含有用戶登錄口令或運(yùn)行程序的口令,某部分文件的編輯緩沖區(qū),緩沖區(qū)可能含有用ed -x命令解密后的文本,以及用戶不愿讓其他人存取的種種信息.
  在/dev中的文件通常稱為設(shè)備文件,用ls /dev命令可以看看系統(tǒng)中的一些設(shè)備:
  acuo 呼叫自動(dòng)撥號(hào)器
  console 系統(tǒng)控制臺(tái)
  dsknn 塊方式操作磁盤分區(qū)
  kmem 核心內(nèi)存
  mem 內(nèi)存
  lp   打印機(jī)
  mto 塊方式操作磁帶
  rdsknn 流方式操作的磁盤分區(qū)
  rmto 流方式操作的磁帶
  swap 交換區(qū)
  syscon 系統(tǒng)終端
  ttynn 終端口 x25 網(wǎng)絡(luò)端口
  等等
(3)/etc/mknod命令
  用于建立設(shè)備文件.只有root能使用這個(gè)命令建立設(shè)備文件.其參數(shù)是文件名,字母c或b分別代表字符特別文件或塊特別文件,主設(shè)備號(hào),次設(shè)備號(hào).塊特別文件是像磁帶,磁盤這樣一些以塊為單位存取數(shù)據(jù)的設(shè)備.字符特別文件是如像終端,打印機(jī),MODEM,或者其它任何與系統(tǒng)通訊時(shí),一次傳輸一個(gè)字符的設(shè)備,包括模仿對(duì)磁盤進(jìn)行字符方式存取的磁盤驅(qū)動(dòng)器.主設(shè)備號(hào)指定了系統(tǒng)子程序(設(shè)備驅(qū)動(dòng)程序),當(dāng)在設(shè)備上執(zhí)行I/O時(shí),系統(tǒng)將調(diào)用這個(gè)驅(qū)動(dòng)程序.調(diào)用設(shè)備驅(qū)動(dòng)程序時(shí),次設(shè)備號(hào)將傳遞給該驅(qū)動(dòng)程序(次設(shè)備規(guī)定具體的磁盤驅(qū)動(dòng)器,帶驅(qū)動(dòng)器,信號(hào)線編號(hào),或磁盤分區(qū)).每種類型的設(shè)備一般都有自己的設(shè)備驅(qū)動(dòng)程序.
  文件系統(tǒng)將主設(shè)備號(hào)和次設(shè)備號(hào)存放在i節(jié)點(diǎn)中的磁盤地址表內(nèi),所以沒有磁盤空間分配給設(shè)備文件(除i節(jié)點(diǎn)本身占用的磁盤區(qū)外).當(dāng)程序試圖在設(shè)備文件上執(zhí)行I/O操作時(shí),系統(tǒng)識(shí)別出該文件是一個(gè)特別文件,并調(diào)用由主設(shè)備號(hào)指定的設(shè)備驅(qū)動(dòng)程序,次設(shè)備號(hào)作為調(diào)用設(shè)備驅(qū)動(dòng)程序的參數(shù).
(4)安全考慮
  將設(shè)備處理成文件,使得UNIX程序獨(dú)立于設(shè)備,即程序不必一定要了解正使用的設(shè)備的任何特性,存取設(shè)備也不需要記錄長度,塊大小,傳輸速度,網(wǎng)絡(luò)協(xié)議等這樣一些信息,所有煩人的細(xì)節(jié)由設(shè)備驅(qū)動(dòng)程序去關(guān)心考慮,要存取設(shè)備,程序只須打開設(shè)備文件,然后作為普通的UNIX文件來使用.
  從安全的觀點(diǎn)來看這樣處理很好,因?yàn)槿魏卧O(shè)備上進(jìn)行的I/O操作只經(jīng)過了少量的渠道(即設(shè)備文件).用戶不能直接地存取設(shè)備.所以如果正確地設(shè)置了磁盤分區(qū)的存取許可,用戶就只能通過UNIX文件系統(tǒng)存取磁盤.文件系統(tǒng)有內(nèi)部安全機(jī)制(文件許可).不幸的是,如果磁盤分區(qū)設(shè)備得不正確,任何用戶都能夠?qū)懸粋€(gè)程序讀磁盤分區(qū)中的每個(gè)文件,作法很簡單:讀一i節(jié)點(diǎn),然后以磁盤地址表中塊號(hào)出現(xiàn)的順序,依次讀這些塊號(hào)指出的存有文件內(nèi)容的塊.故除了root以外,決不要使盤分區(qū)對(duì)任何人可寫.因?yàn)樗姓?文件存取許可方式這樣一些信息存放于i節(jié)點(diǎn)中,任何人只要具有已安裝分區(qū)的寫許可,就能設(shè)置任何文件的SUID許可,而不管文件的所有者是誰,也不必用chmod()命令,還可避過系統(tǒng)建立的安全檢查.
  以上所述對(duì)內(nèi)存文件mem,kmem和對(duì)換文件swap也是一樣的.這些文件含有用戶信息,一個(gè)"耐心"的程序可以將用戶信息提取出來.
  要避免磁盤分區(qū)(以及其它設(shè)備)可讀可寫,應(yīng)當(dāng)在建立設(shè)備文件前先用umask命令設(shè)置文件建立屏蔽值.
  一般情況下,UNIX系統(tǒng)上的終端口對(duì)任何人都是可寫的,從而使用戶可以用write命令發(fā)送信息.雖然write命令易引起安全方面的問題,但大多數(shù)用戶覺得用write得到其他用戶的信息很方便,所以系統(tǒng)將終端設(shè)備的存取許可設(shè)置成對(duì)所有用戶可寫. /dev目錄應(yīng)當(dāng)是755存取許可方式,且屬root所有.
  不允許除root外的任何用戶讀或?qū)懕P分區(qū)的原則有一例外,即一些程序(通常是數(shù)據(jù)庫系統(tǒng))要求對(duì)磁盤分區(qū)直接存取,解決這個(gè)問題的經(jīng)驗(yàn)的盤分區(qū)應(yīng)當(dāng)由這種程序?qū)S?不安裝文件系統(tǒng)),而且應(yīng)當(dāng)告知使用這種程序的用戶,文件安全保護(hù)將由程序自己而不是UNIX文件系統(tǒng)完成.
(5)find命令
  find命令用于搜索目錄樹,并對(duì)目錄樹上的所有文件執(zhí)行某種操作,參數(shù)是目錄名表(指出從哪些起點(diǎn)開始搜索),還可給出一個(gè)或多個(gè)選項(xiàng),規(guī)定對(duì)每個(gè)文件執(zhí)行什么操作.
  find . -print 將列出當(dāng)前工作目錄下的目錄樹的每一個(gè)文件.
  find / -user bob -print 將列出在系統(tǒng)中可找到的屬于bob用戶的所有文件.
  find /usr/bob -perm 666 -print 將列出/usr/bob目錄樹下所有存取許可為666的文件.若將666改為-666則將列出所有具有包含了666在內(nèi)的存取許可方式的文件(如777).
  find /usr/bob -type b -print 將列出/usr/bob目錄樹下所有塊特別文件(c為字符特別文件).
  find / -user root -perm -4000 -exec ls -l {} ; 是一個(gè)較復(fù)雜一點(diǎn)的命令,-exec COMMAND ;允許對(duì)所找到的每個(gè)文件運(yùn)行指定的命令COMMAND.若COMMAND中含有{},則{}將由find所找到的文件名替換.COMMAND必須以;結(jié)束.
  以上舉例介紹find的用法,各選項(xiàng)可組合使用以達(dá)到更強(qiáng)的功能. (6)secure程序
  系統(tǒng)管理員應(yīng)當(dāng)做一個(gè)程序以定期檢查系統(tǒng)中的各個(gè)系統(tǒng)文件,包括檢查設(shè)備文件和SUID,SGID程序,尤其要注意檢查SUID,SGID程序,檢查/etc/passwd和/etc/group文件,尋找久未登錄的戶頭和校驗(yàn)各重要文件是否被修改. (源程序清單將在今后發(fā)表)
  (7)n
check命令
  用于檢查文件系統(tǒng),只用一個(gè)磁盤分區(qū)名作為參數(shù),將列出i節(jié)點(diǎn)號(hào)及相應(yīng)的文件名.i節(jié)點(diǎn)相同的文件為建鏈文件.
  注意:所列出的清單文件名與mount命令的第一個(gè)域相同的文件名前部分將不會(huì)列出來.因?yàn)槭亲鑫募到y(tǒng)內(nèi)部的檢查,ncheck并不知道文件系統(tǒng)安裝點(diǎn)以上部分的目錄.
  也可用此命令來搜索文件系統(tǒng)中所有的SUID和SGID程序和設(shè)備文件,使用-s選項(xiàng)來完成此項(xiàng)功能.
  (8)安裝和拆卸文件系統(tǒng)
  UNIX文件系統(tǒng)是可安裝的,這意味著每個(gè)文件系統(tǒng)可以連接到整個(gè)目錄樹的任意節(jié)點(diǎn)上(根目錄總是被安裝上的).安裝文件系統(tǒng)的目錄稱為安裝點(diǎn).
  /etc/mount命令用于安裝文件系統(tǒng),用這條命令可將文件系統(tǒng)安裝在現(xiàn)有目錄結(jié)構(gòu)的任意處.
  安裝文件系統(tǒng)時(shí),安裝點(diǎn)的文件和目錄都是不可存取的,因此未安裝文件系統(tǒng)時(shí),不要將文件存入安裝點(diǎn)目錄.文件系統(tǒng)安裝后,安裝點(diǎn)的存取許可方式和所有者將改變?yōu)樗惭b的文件根目錄的許可方式和所有者.
安裝文件系統(tǒng)時(shí)要小心:安裝點(diǎn)的屬性會(huì)改變!還要注意新建的文件,除非新文件系統(tǒng)是由標(biāo)準(zhǔn)文件建立的,系統(tǒng)標(biāo)準(zhǔn)文件會(huì)設(shè)置適當(dāng)?shù)拇嫒≡S可方式, 否則新文件系統(tǒng)的存取許可將是777! 可用-r選項(xiàng)將文件系統(tǒng)安裝成只讀文件系統(tǒng).需要寫保護(hù)的帶驅(qū)動(dòng)器和磁盤應(yīng)當(dāng)以這種方式來安裝.
  不帶任何參數(shù)的/etc/mount可獲得系統(tǒng)中所安裝的文件系統(tǒng)的有關(guān)信息.包括:文件系統(tǒng)被安裝的安裝點(diǎn)目錄,對(duì)應(yīng)/dev中的哪個(gè)設(shè)備,只讀或可讀寫, 安裝時(shí)間和日期等.
  從安全的觀點(diǎn)來講,可安裝系統(tǒng)的危險(xiǎn)來自用戶可能請(qǐng)求系統(tǒng)管理員為其安裝用戶自己的文件系統(tǒng).如果安裝了用戶的文件系統(tǒng),則應(yīng)在允許用戶存取文件系統(tǒng)前,先掃描用戶的文件系統(tǒng),搜索SUID/SGID程序和設(shè)備文件.在除了root外任何人不能執(zhí)行的目錄中安裝文件系統(tǒng),用find命令或secure列出可疑文件,刪除不屬用戶所有的文件的SUID/SGID許可.
  用戶的文件系統(tǒng)用完后,可用umount命令卸下文件系統(tǒng).并將安裝點(diǎn)目錄的所有者改回root,存取許可改為755.
  (9)系統(tǒng)目錄和文件
  UNIX系統(tǒng)中有許多文件不允許用戶寫,如:/bin,/usr/bin,/usr/lbin, /etc/passwd, /usr/lib/crontab, /unix, /etc/rc, /etc/inittab這樣一些文件和目錄(大多數(shù)的系統(tǒng)目錄),可寫的目錄允許移動(dòng)文件,會(huì)引起安全問題. 統(tǒng)管理員應(yīng)經(jīng)常檢查系統(tǒng)文件和目錄的許可權(quán)限和所有者.可做一個(gè)程
序根據(jù)系統(tǒng)提供的規(guī)則文件(在/etc/permlist文件中)所描述的文件所有者和許可權(quán)規(guī)則檢查各文件.
(源程序清單將在今后發(fā)表)
  注意:如果系統(tǒng)的安全管理不好,或系統(tǒng)是新安裝的,其安全程序不夠高, 可以用make方式在安全強(qiáng)的系統(tǒng)上運(yùn)行上述程序,將許可規(guī)則文件拷貝到新系統(tǒng)來,再以設(shè)置方式在新系統(tǒng)上運(yùn)行上述程序,就可提高本系統(tǒng)的安全程序.但要記住,兩個(gè)系統(tǒng)必須運(yùn)行相同的UNIX系統(tǒng)版本.
  4.作為root運(yùn)行的程序
在UNIX系統(tǒng)中,有些程序由系統(tǒng)作為root進(jìn)程運(yùn)行.這些程序并不總是具有SUID許可,因?yàn)槠洳簧俪绦騼H由root運(yùn)行,系統(tǒng)管理員需要清楚這些程序做什么, 以及這些程序還將運(yùn)行其它什么程序. (1)啟動(dòng)系統(tǒng)
  當(dāng)某些UNIX系統(tǒng)(如SCO UNIX/XENIX)啟動(dòng)時(shí),是以被稱為單用戶的方式運(yùn)行,在這種方式中普通用戶不能登錄,唯有的進(jìn)程是init,swapper,以及一些由系統(tǒng)管理員從控制臺(tái)運(yùn)行的進(jìn)程.UNIX系統(tǒng)的單用戶方式啟動(dòng),使系統(tǒng)管理員能在允許普通用戶登錄以前,先檢查系統(tǒng)操作,確保系統(tǒng)一切正常,當(dāng)系統(tǒng)處于單用戶方式時(shí),控制臺(tái)作為超級(jí)用戶,命令揭示是"#",有些UNIX系統(tǒng)不要確認(rèn)超級(jí)用戶口令就認(rèn)可控制臺(tái)是root,給出#提示符.這就可能成為一個(gè)安全問題.
  (2)init進(jìn)程
  UNIX系統(tǒng)總是以某種方式或稱為某種級(jí)運(yùn)行,系統(tǒng)有若干種運(yùn)行級(jí),這些運(yùn)行級(jí)由init進(jìn)程控制.
  UNIX系統(tǒng)啟動(dòng)時(shí)以單用戶方式運(yùn)行,也叫1級(jí)或S級(jí).
  對(duì)于其他用戶登錄進(jìn)入系統(tǒng),UNIX有一種多用戶運(yùn)行方式,也叫2級(jí).
  init進(jìn)程控制系統(tǒng)運(yùn)行級(jí),它讀入文件/etc/inittab,該文件詳細(xì)地規(guī)定了哪些進(jìn)程在哪一級(jí)運(yùn)行.當(dāng)root敲入init n(數(shù)字),系統(tǒng)就進(jìn)入n級(jí).init讀該文件以確定終止哪些進(jìn)程,啟動(dòng)哪些進(jìn)程.
  有效的運(yùn)行級(jí)的數(shù)值是從0到6與s.
  注意:由init建立的進(jìn)程以UID為0運(yùn)行(root)從/etc/inittab運(yùn)行的程序也作為root運(yùn)行,所以系統(tǒng)管理員要確保自己知道/etc/inittab中的程序做什么工作,確保這些程序以及這些程序所在的目錄直到/和/etc/inittab除root外無人可寫.
  (3)進(jìn)入多用戶
  當(dāng)UNIX系統(tǒng)進(jìn)入多用戶方式時(shí),將寢化一系列事件,接著開始執(zhí)行g(shù)ettys, 允許其他用戶登錄進(jìn)入系統(tǒng).如果再看看/etc/inittab文件,會(huì)看到gettys定義在運(yùn)行級(jí)2,至少三個(gè)shell程序/etc/brc, /etc/bcheckrc, /etc/rc*也定義在運(yùn)行級(jí)2.這些程序都在gettys啟動(dòng)前運(yùn)行.
  這些shell程序作為root運(yùn)行,也不能僅對(duì)root可寫還應(yīng)當(dāng)檢查shell程序運(yùn)行的命令,因?yàn)檫@些命令也將作為root運(yùn)行. (4)shutdown命令
  用shutdown命令關(guān)系統(tǒng),shutdown shell程序發(fā)送警告通知所有用戶離開系統(tǒng),在"給定的期限時(shí)間"到了后,就終止進(jìn)程,拆卸文件系統(tǒng),進(jìn)入單用戶方式或關(guān)機(jī)狀態(tài).一旦進(jìn)入單用戶方式,所有的gettys停止運(yùn)行,用戶再不能登錄. 進(jìn)入關(guān)機(jī)狀態(tài)后可將系統(tǒng)關(guān)電. shutdown僅能由作為root登
錄的用戶從系統(tǒng)控制臺(tái)上運(yùn)行.所以任何的shutdown運(yùn)行的命令僅能對(duì)root可寫.
  (5)系統(tǒng)V的cron程序
  cron在UNIX系統(tǒng)是多用戶方式時(shí)運(yùn)行,根據(jù)規(guī)定的時(shí)間安排執(zhí)行指定的命令,每隔一分鐘檢查一次文件/usr/lib/crontab,尋找是否有應(yīng)當(dāng)運(yùn)行的程序. 如果找到要運(yùn)行的程序,就運(yùn)行該程序,否則睡眠等待一分鐘.
  實(shí)際的/usr/lib/crontab用于根據(jù)全天的規(guī)則時(shí)間表運(yùn)行程序,也可在夜晚運(yùn)行白天不愿運(yùn)行怕降低其他用戶速度的程序.通常由cron運(yùn)行的程序是如記帳,存文件這樣的程序.cron一般在系統(tǒng)進(jìn)入多用戶后由/etc/rc啟動(dòng),當(dāng)shutdown運(yùn)行killall命令時(shí)便終止運(yùn)行.由cron運(yùn)行的程序作為root,所以應(yīng)當(dāng)注意放什么程序在crontab中,還要確保/usr/lib/crontab和該表中列出的任何程序?qū)θ魏稳瞬豢蓪?
  如果用戶需要由cron執(zhí)行一個(gè)程序,系統(tǒng)管理員可用su命令在crontab表中建立一個(gè)入口,使用戶的程序不能獲得root的權(quán)限.
  (6)系統(tǒng)V版本2之后的cron程序
  在系統(tǒng)V版本2中,cron被修改成允許用戶建立自己的crontab入口, /usr/lib/crontab文件不再存在,由目錄/usr/spool/cron/crontabs中的文件代替.這些文件的格式與crontab相同,但每個(gè)文件與系統(tǒng)中的一個(gè)用戶對(duì)應(yīng), 并以某用戶的名義由cron運(yùn)行.
  如果想限制能建立crontab的用戶,可在文件/usr/lib/cron/cron.allow文件中列出允許運(yùn)行crontab命令的用戶.任何未列于該文件的用戶不能運(yùn)行crontab.反之,若更愿意列出不允許運(yùn)行crontab命令的用戶,則可將他們列入/usr/lib/cron/cron.deny文件中,未列于該文件的其他用戶將被允許建立crontab.
  注意:若兩個(gè)文件都存在,系統(tǒng)將使用cron.allow,忽略cron.deny.如果兩個(gè)文件都不存在,則只有root可運(yùn)行crontab.所以,若要允許系統(tǒng)中的所有用戶都可運(yùn)行crontab命令,應(yīng)當(dāng)建立一個(gè)空的cron.deny文件,如果cron.allow也存在,則刪除該文件.
  這個(gè)版本的cron命令的安全程度比前一個(gè)高,因?yàn)橛脩糁荒芸醋约旱腸rontab,系統(tǒng)管理員也不必?fù)?dān)心其他用戶的程序是否會(huì)作為root運(yùn)行,由于允許每個(gè)系統(tǒng)登錄用戶有自己的crontab,也簡化了對(duì)程序必須由cron運(yùn)行,但不必作為root運(yùn)行的系統(tǒng)程序的處理.
  必須確保root的crontab文件僅對(duì)root可寫,并且該文件所在的目錄及所有的父目錄也僅對(duì)root可寫. (7)/etc/profile
  每當(dāng)用戶(包括root在內(nèi))登錄時(shí),由shell執(zhí)行/etc/profile文件,應(yīng)確保這個(gè)文件以及從這個(gè)文件運(yùn)行的程序和命令都僅對(duì)root可寫.
  5./etc/passwd文件
  /etc/passwd文件是UNIX安全的關(guān)鍵文件之一.該文件用于用戶登錄時(shí)校驗(yàn)用戶的口令,當(dāng)然應(yīng)當(dāng)僅對(duì)root可寫.文件中每行的一般格式為:
LOGNAME:PASSWORD:UID:GID:USERINFO:HOME:SHELL
每行的頭兩項(xiàng)是登錄名和加密后的口令,后面的兩個(gè)數(shù)是UID和GID,接著的一項(xiàng)是系統(tǒng)管理員想寫入的有關(guān)該用戶的任何信息,最后兩項(xiàng)是兩個(gè)路徑名: 一個(gè)是分配給用戶的HOME目錄,第二個(gè)是用戶登錄后將執(zhí)行的shell(若為空格則缺省為/bin/sh).
  (1)口令時(shí)效
  /etc/passwd文件的格式使系統(tǒng)管理員能要求用戶定期地改變他們的口令. 在口令文件中可以看到,有些加密后的口令有逗號(hào),逗號(hào)后有幾個(gè)字符和一個(gè)冒號(hào).如:
  steve:xyDfccTrt180x,M.y8:0:0:admin:/:/bin/sh
  restrict:pomJk109Jky41,.1:0:0:admin:/:/bin/sh
  pat:xmotTVoyumjls:0:0:admin:/:/bin/sh
  可以看到,steve的口令逗號(hào)后有4個(gè)字符,restrict有2個(gè),pat沒有逗號(hào). 逗號(hào)后第一個(gè)字符是口令有效期的最大周數(shù),第二個(gè)字符決定了用戶再次修改口信之前,原口令應(yīng)使用的最小周數(shù)(這就防止了用戶改了新口令后立刻又改回成老口令).其余字符表明口令最新修改時(shí)間. 要能讀懂口令中逗號(hào)后的信息,必須首先知道如何用passwd_esc計(jì)數(shù),計(jì)數(shù)的方法是: .=0 /=1 0-9=2-11 A-Z=12-37 a-z=38-63
  系統(tǒng)管理員必須將前兩個(gè)字符放進(jìn)/etc/passwd文件,以要求用戶定期的修改口令,另外兩個(gè)字符當(dāng)用戶修改口令時(shí),由passwd命令填入.
  注意:若想讓用戶修改口令,可在最后一次口令被修改時(shí),放兩個(gè)".",則下一次用戶登錄時(shí)將被要求修改自己的口令.
  有兩種特殊情況:
  . 最大周數(shù)(第一個(gè)字符)小于最小周數(shù)(第二個(gè)字符),則不允許用戶修改口令,僅超級(jí)用戶可以修改用戶的口令.
  . 第一個(gè)字符和第二個(gè)字符都是".",這時(shí)用戶下次登錄時(shí)被要求修改口令,修改口令后,passwd命令將"."刪除,此后再不會(huì)要求用戶修改口令.
  (2)UID和GID
  /etc/passwd中UID信息很重要,系統(tǒng)使用UID而不是登錄名區(qū)別用戶.一般來說,用戶的UID應(yīng)當(dāng)是獨(dú)一無二的,其他用戶不應(yīng)當(dāng)有相同的UID數(shù)值.根據(jù)慣例,從0到99的UID保留用作系統(tǒng)用戶的UID(root, bin, uucp等).
  如果在/etc/passwd文件中有兩個(gè)不同的入口項(xiàng)有相同的UID,則這兩個(gè)用戶對(duì)相互的文件具有相同的存取權(quán)限.

轉(zhuǎn)載于:https://blog.51cto.com/suifeng/57204

總結(jié)

以上是生活随笔為你收集整理的服务器管理安全(上)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。