|
一、賬號和口令安全策略 1.1更改口令文件、影像文件、組文件的權(quán)限 /etc/passwd 必須所有用戶都可讀,root用戶可寫 –rw-r—r— /etc/shadow 只有root可讀 –r-------- /etc/group 必須所有用戶都可讀,root用戶可寫 –rw-r—r— 1.2修改不必要的系統(tǒng)賬號 移去或者鎖定那些系統(tǒng)賬號,比如sys、uucp、nuucp、listen、lp、adm等等,簡單的辦法是在/etc/shadow的password域中放上NP字符。還可以考慮將/etc/passwd文件中的shell域設(shè)置成/bin/false 1.3修改口令策略 修改/etc/default/passwd文件 MAXWEEKS=4 口令至少每隔4星期更改一次 MINWEEKS=1 口令至多每隔1星期更改一次 WARNWEEKS=3 修改口令后第三個星期會收到快要修改口令的信息 PASSLENGTH=6 用戶口令長度不少于6個字符 二、用戶授權(quán)安全策略 2.1移去組及其它用戶對/etc的寫權(quán)限。 執(zhí)行命令#chmod -R go-w /etc 2.2禁止root遠程登錄 在/etc/default/login中設(shè)置 CONSOLE=/dev/concle 2.3setuid和setgid特殊權(quán)限。 Setuid是指設(shè)置程序的有效執(zhí)行用戶身份(uid)為該文件的屬主,而不是調(diào)用該程序進程的用戶身份。Setgid與之類似。Setuid和setgid用1s -1顯示出來為s權(quán)限,存在于主人和屬組的執(zhí)行權(quán)限的位置上。系統(tǒng)設(shè)置特殊權(quán)限,使用戶執(zhí)行某些命令時,具有root的執(zhí)行權(quán)限, 命令執(zhí)行完成, root身份也隨之消失。因此特殊權(quán)限關(guān)系系統(tǒng)的安全,可執(zhí)行命令#find / -perm -4000 -print 尋找系統(tǒng)中具有setuid權(quán)限的文件,存為列表文件,定時檢查有沒有這之外的文件被設(shè)置了setuid權(quán)限。 2.4審計并日志所有以root身份的登陸情況 添加或編輯/etc/default/login文件如下: SYSLOG= YES syslog記錄root的登陸失敗,成功的情況。 2.5設(shè)置遠程登陸會話超時時間 添加或編輯/etc/default/login文件如下: TIMEOUT= 300 2.6確定登陸需要密碼驗證 添加或編輯/etc/default/login文件如下: PASSREQ= YES 2.7 UMASK設(shè)置 umask命令設(shè)置用戶文件和目錄的文件創(chuàng)建缺省屏蔽值,若將此命令放入.profile文件,就可控制該用戶后續(xù)所建文件的存取許可.umask命令與chmod命令的作用正好相反,它告訴系統(tǒng)在創(chuàng)建文件時不給予什么存取許可. 安裝配置完操作系統(tǒng)之后確認root的umask設(shè)置是077或者027,執(zhí)行 /usr/bin/umask [-S] 確認。 2.7.1增加或修改/etc/default/login文件中如下行 UMASK=027 2.7.2并增加上行到如下的文件中: /etc/.login /etc/.profile /etc/skel/local.cshre /etc/skel/local.login /etc/skel/local.profile 2.8用戶環(huán)境配置文件的PATH或者LD_LIBRARY_PATH中移去“.” 。 從如下的文件中移走”.”,確認root的PATH環(huán)境變量設(shè)置是安全的,應(yīng)該只包含/usr/bin:/sbin:/usr/sbin,避免當前工作目錄.出現(xiàn)在PATH環(huán)境變量中,這有助于對抗特洛伊木馬。 #echo $PATH | grep ":." 確認 /.login /etc/.login /etc/default/login /.cshrc /etc/skel/local.profile /etc/skel/local.cshrc /.profile /etc/skel/local.login /etc/profile 三、網(wǎng)絡(luò)與服務(wù)安全策略 3.1關(guān)閉不用的服務(wù) 3.1.1在inetd.conf中關(guān)閉不用的服務(wù) 首先復(fù)制/etc/inet/inetd.conf。 #cp /etc/inet/inetd.conf /etc/inet/inetd.conf.backup然后用vi編輯器編輯inetd.conf文件,對于需要注釋掉的服務(wù)在相應(yīng)行開頭標記“#”字符即可。 3.1.2在Services中關(guān)閉不用的服務(wù) 首先復(fù)制/etc/inet/services。 #cp /etc/inet/services /etc/inet/services.backup 然后用vi編輯器編輯Services文件,對于需要注釋掉的服務(wù)在相應(yīng)行開頭標記“#”字符即可。 在inetd.conf、services中進行修改后,找到inetd進程的ID號,用kill向其發(fā)送HUP信號進行刷新。舉例如下。 #ps -ef | grep inetd #kill -HUP 進程號 或/usr/sbin/inetd –s –t 增加-t選項以加強網(wǎng)絡(luò)訪問控制 3.1.3根據(jù)需要關(guān)閉不用的服務(wù) 可關(guān)閉如下服務(wù):tftp、ypupdate(NIS程序)、 dtspcd(郵件收發(fā)程序) 、rquotad、name、uucp(網(wǎng)絡(luò)實用系統(tǒng))、snmp(簡單網(wǎng)絡(luò)管理協(xié)議)等。 3.2關(guān)閉系統(tǒng)的自啟動服務(wù) 在系統(tǒng)/etc/rc*.d的目錄下,根據(jù)需要停用以下服務(wù): sendmail 把/etc/rc2.d/S88sendmai更名為tc/rc2.d/X88sendmail DNS 將/etc/rc2.d/S72inetsv注釋掉in.named一項 lp 把/etc/rc2.d/S80lp更名為 /etc/rc2.d/X80lp uucp 把/etc/rc2.d/S70uucp更名為/etc/rc2.d/x70uucp snmp把/etc/rc3.d/S76snmpdx和 /etc/rc3.d/S77dmi 更名 為/etc/rc3.d/s76snmpdx和/etc/rc3.d/s77dmi autoinstall 把/etc/rc2.d/S72autoinstallg更名為/etc/rc2.d/s72autoinstall 3.3加強FTP服務(wù)安全 3.3.1禁止系統(tǒng)用戶的FTP服務(wù) 把所有的系統(tǒng)賬戶加入到/etc/ftpusers(solaris 9的該文件現(xiàn)更改為/etc/ftpd/ftpusers)文件: root 、daemon、sys、bin、adm、lp、uucp、nuucp、listen、nobody 3.3.2禁止FTP&服務(wù)暴露系統(tǒng)敏感信息 編輯/etc/default/ftpd文件,假如文件不存在就新建一個,在文件中的加進入下一項: BANNER=XXXX(XXXX可以任意改變?yōu)槿魏我粋€版本信息),將該系統(tǒng)版本信息屏蔽. 3.3.3ftp服務(wù)會話日志記錄 /etc/inet/inetd.conf中的ftpd為(記錄) ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd –dl 3.4加強Telnet服務(wù)安全 3.4.1禁止Telnet服務(wù)暴露系統(tǒng)敏感信息 防止telnetd banner泄露信息 ,修改/etc/default/telnetd文件 ,加入以下一項:BANNER=XXXX(XXXX可以任意改變?yōu)槿魏我粋€版本信息),將該系統(tǒng)版本信息屏蔽. 3.4.2更改Telnet服務(wù)端口號 修改文件/etc/services的Telnet一項,將端口號改為非23,使用Telnet服務(wù)時需注明端口號。 3.5加強NFS服務(wù)安全 檢查/etc/dfs/dfstab文件share語句,缺省時共享目錄為可讀可寫,加入“-o”選項增加安全,“-o rw”可讀可寫,“-o ro”只讀,可授權(quán)某系統(tǒng)和某用戶。 3.6防止TCP序列號預(yù)測攻擊(ip欺騙) 在/etc/default/inetinit中增加設(shè)置來防止TCP序列號預(yù)測攻擊(ip欺騙)TCP_STRONG_ISS=2 3.7系統(tǒng)路由安全 如果Solaris機器有超過一塊的網(wǎng)卡的話,它將會在不同網(wǎng)卡間轉(zhuǎn)發(fā)數(shù)據(jù)包,這一行為可以在/etc/init.d/inetinit中得到控制。要在Solaris 2.4或者更低版本機器下關(guān)閉它,可以將ndd -set /dev/ip ip_forwarding 0添加于在inetinit文件未尾。在Solaris 2.5以上,只要touch /etc/notrouter.網(wǎng)絡(luò)系統(tǒng)用靜態(tài)路由比較安全。 3.8調(diào)整網(wǎng)絡(luò)參數(shù),加強網(wǎng)絡(luò)安全 使IP forwarding和sourec routing(源路)由無效 在Inetinit中使IP forwarding和sourec routing(源路)由無效(假如有超過一個網(wǎng)絡(luò)接口的話)。在/etc/init.d/inetinit中增加下面所示設(shè)置: 禁止系統(tǒng)轉(zhuǎn)發(fā)定向廣播包 #ndd -set /dev/ip ip_forward_directed_broadcasts 0 關(guān)閉原路由尋址 :#ndd -set /dev/ip ip_forward_src_routed 0 禁止系統(tǒng)轉(zhuǎn)發(fā)IP包:#ndd -set /dev/ip ip_forwarding 0 縮短ARP的cache保存時間: (default is 5 min) #ndd -set /dev/arp arp_cleanup_interval 2 min 關(guān)閉echo廣播來防止ping攻擊( # default is 1 ) #ndd -set /dev/ip ip_respond_to_echo_broadcast 0 四、防止堆棧緩沖益出安全策略 入侵者常常使用的一種利用系統(tǒng)漏洞的方式是堆棧溢出,他們在堆棧里巧妙地插入一段代碼,利用它們的溢出來執(zhí)行,以獲得對系統(tǒng)的某種權(quán)限。要讓你的系統(tǒng)在堆棧緩沖溢出攻擊中更不易受侵害,你可以在/etc/system里加上如下語句:set noexec_user_stack=1 set noexec_user_stack_log =1 第一句可以防止在堆棧中執(zhí)行插入的代碼,第二句則是在入侵者想運行exploit的時候會做記錄。 五、日志系統(tǒng)安全策略 5.1定時檢查系統(tǒng)日志文件 Solaris系統(tǒng)通過syslogd進程運行日志系統(tǒng),配置文件/etc/syslog.conf,可編輯此文件讓日志系統(tǒng)記錄更多信息,需重啟/usr/sbin/syslogd進程,重讀取配置文件。通常日志系統(tǒng)的文件分別存放在兩個位置,/var/adm保存本地系統(tǒng)日志,/var/log保存登錄其它系統(tǒng)時日志。 5.2設(shè)置utmpx和wtmpx文件權(quán)限,確保日志系統(tǒng)安全。 文件/var/adm/utmpx記錄了所有當前登錄到系統(tǒng)中的用戶,文件/var/adm/wtmpx記錄了系統(tǒng)所有的登錄和注銷。這兩個文件是以數(shù)據(jù)庫的格式存在的。 設(shè)置權(quán)限#chmod 544 /var/adm/utmpx #chmod 544 /var/adm/wtmpx 六、其它系統(tǒng)安全設(shè)置 6.1 crontab命令 6.1.1不要使用crontab –e命令,因為它會在/tmp下建立所有用戶都可讀的crontab副本訪問cron系統(tǒng)。用如下的方法: 編輯文件:mycronfile crontab<mycronfile 6.1.2在/etc/default/cron文件中增加如下行: CRONLOG=YES 記錄所有的crontab行為 6.2對su的紀錄 創(chuàng)建/etc/default/su文件 SULOG=/var/adm/sulog SYSLOG=YES CONSOLE=/dev/console PATH=/usr/bin: SUPATH=/usr/sbin:/usr/bin 6.3為OpenBoot設(shè)置密碼 在Solaris中設(shè)置密碼 #eeprom security-password 在OpenBoot中設(shè)置密碼 ok password 在Solaris中設(shè)置安全級別(command) #eeprom security-mode=command 在OpenBoot中設(shè)置安全級別(command) ok setenv security-mode command 在OpenBoot中設(shè)置安全級別(full) ok setenv security-mode full 6.4限制.rhosts和/etc/hosts.equiv文件的使用 配置文件具有兩種功能:r系列命令使用這些文件來訪問系統(tǒng);在某用戶的目錄下存在.rhosts文件或/etc/hosts.equiv文件配有某系統(tǒng),任何用戶都可以通過rlogin不需要口令以該用戶的身份登錄到系統(tǒng)。因此要為這些文件加鎖,先創(chuàng)建它們,然后修改其屬性為零即可。這樣除了root用戶就沒有其它用戶能創(chuàng)建或修改它們了。 /usr/bin/touch /.rhosts /etc/hosts.equiv /usr/bin/chmod 0 /.rhosts /etc/hosts.equiv .rhosts文件可以作為一個典型的后門文件使用,運行下面的命令全局查找.rhosts文件 #find -name“.rhosts”-print 6.5給系統(tǒng)打補丁 象其它的系統(tǒng)一樣,Solaris系統(tǒng)也有它的漏洞,其中的一些從性質(zhì)上來說是相當嚴重的。SUN公司長期向客戶提供各種版本的最新補丁,放在http://sunsolve.網(wǎng)站??捎?showrev –p命令檢查系統(tǒng)已打的補丁或到/var/sadm/patch目錄下查已打過的補丁號,用patchadd命令給系統(tǒng)打補丁。 七、Setuid設(shè)置和Solaris操作系統(tǒng)安全 http://bbs./forum/viewtopic.php?t=302945&highlight=Setuid 在Solaris中,文件除了讀、寫、執(zhí)行權(quán)限外,還有一些特殊權(quán)限。 Setuid和setgid是其中的一類。它與Solaris系統(tǒng)的安全關(guān)系緊密。 Setuid是指設(shè)置程序的有效的執(zhí)行用戶身份(uid)為該文件的主人,而不是調(diào)用該程序的進程的uid。Setgid與之類似。Setuid和setgid用ls –l顯示出來為s權(quán)限,存在于主人和屬組的執(zhí)行權(quán)限的位置上。 這種權(quán)限的設(shè)置方法如下: 只設(shè)setuid: chmod 4xxx filename (xxx為一般讀、寫、執(zhí)行權(quán)限) 只設(shè)setgid: chmod 2xxx filename 同時設(shè)setuid和setgid: chmod 6xxx filename 取消兩種權(quán)限: chmod 0xxx filename 這種權(quán)限怎么用? 舉個例子來說,假如某一命令(程序)的主人是root用戶,并且該文件有setuid屬性,但是該文件的讀、寫、執(zhí)行權(quán)限的屬性表明普通用戶user1可以執(zhí)行該命令,那么就表示:當該用戶執(zhí)行該命令時,他具有root的執(zhí)行身份,并獲得相應(yīng)的權(quán)限。一旦該命令執(zhí)行完成,該身份也隨之消失。 為什么系統(tǒng)中需要有這樣的權(quán)限呢?請執(zhí)行以下操作: 7.1. $ ls –l /etc/shadow /bin/passwd -r-sr-sr-x 3 root sys 99792 1999 2月 12 /bin/passwd -r-------- 1 root sys 261 1月 3 13:12 /etc/shadow /etc/shadow文件由于存有用戶的加密口令信息,對系統(tǒng)的安全至關(guān)重要,因此權(quán)限很嚴,只有root憑其對系統(tǒng)的至高無上的權(quán)限才得以對/etc/shadow可讀可寫。但是系統(tǒng)必須允許普通用戶也能修改自己的口令。要讓他們對/etc/shadow可寫,又不能可讀,而且可寫又不能允許他們改別人的口令,怎么辦?系統(tǒng)就采取這樣一個辦法:做一個程序, 也就是/bin/passwd,通過它可以在不顯示文件內(nèi)容的情況下直接修改/etc/shadow文件??墒沁@個程序怎么能有這樣的權(quán)限?因為系統(tǒng)賦予它setuid權(quán)限,而且它屬于root.這樣,用戶在使用/bin/passwd改口令時就有root權(quán)限.由于/bin/passwd命令本身功能的局限性,用戶并不能用它做更多的不利于系統(tǒng)安全的事。 7.2. 用普通用戶身份修改口令 $ passwd Enter login password: **** New password:****** Re-enter new password:****** Passwd(SYSTEM): passwd successfully changed for xxx . 可以成功。 7.3. 用超級用戶修改/bin/passwd的權(quán)限 # chmod 0555 /bin/passwd 7.4. 再重復(fù)2,是否還成功?當然不。 7.5.把/bin/passwd的權(quán)限恢復(fù)原狀。 # chmod 6555 /bin/passwd 對此可以打一個生動的比喻:有一個絕密機關(guān),不得已必須有一些不能見這些秘密的人進來做一些事情。于是授權(quán)一些特殊的“車輛”(沒有窗戶,門緊閉,所以看不到外面。只有一個小洞允許乘坐的人伸出一只手臂),帶著所乘坐的人開到要去的地方,允許它辦完事情馬上帶他出來。這樣是不是很安全?不一定。如果“車輛”沒有經(jīng)過精挑細選是有很多“門窗”,那系統(tǒng)可就危險了。 這種安全威脅在Solaris中也有可能出現(xiàn)。比如做一下下面這個實驗: 7.6. $ vi /etc/shadow /etc/shadow: Permission denied. 7.7. 用超級用戶身份 # chmod 6555 /bin/vi # chown root /bin/vi 7.8. 這次再用普通用戶身份試一試第6步,有什么結(jié)果?這次你能以普通用戶身份修改 /etc/shadow了?。〉? $ more /etc/shadow仍然不成功,說明在執(zhí)行/bin/passwd時有超級用戶權(quán)限,平時仍是普通用戶身份。 再來看一個令人不安的情況: 7.9.用超級用戶身份 # chmod 6555 /bin/ksh # chown root /bin/ksh 7.10. 用普通用戶身份 $ ksh # 發(fā)生了什么情況??普通用戶不需要root口令就變成了root?。?! 好可怕。如果有一個用戶曾有一次獲得超級用戶權(quán)限,并通過類似的方式給自己設(shè)置了后門(也可能放了一個類似的文件在他自己的家目錄中),以后他就可以隨時變成超級用戶了。 怎么能避免setuid的不安全影響,又利用其方便的地方?這里有幾點建議: 關(guān)鍵目錄應(yīng)嚴格控制寫權(quán)限。比如/,/usr等。 對不管是root賬號還是普通用戶賬號的保密都有足夠的重視。最好不要設(shè)置類似于guest、public、test之類公用的容易猜出口令的賬號。 對系統(tǒng)中應(yīng)該具有setuid權(quán)限的文件作一列表,定時檢查有沒有這之外的文件被設(shè)置了setuid權(quán)限。 下面有一個自己編的小程序與大家分享。 程序功能描述:檢查有沒有/usr/secu/masterlist文件記錄之外的其它文件被設(shè)置了setuid權(quán)限 事先要求:在系統(tǒng)調(diào)試完成,所有需要安裝的軟件安裝好以后,執(zhí)行下面命令生成檢查對照文件 # mkdir –p /usr/secu # find / -perm –4000 –print >; /usr/secu/masterlist 程序: cd /tmp [ -f secrcheck ] && rm secrcheck find / -perm -4000 -print >;secrcheck for f in `cat secrcheck` do grep -w $f /usr/secu/masterlist >;/dev/null if [ "$?" != "0" ]; then echo $f is not in list fi done rm secrcheck 在需要對系統(tǒng)做檢查時,執(zhí)行本shell程序。也可以放在定時進程中定時檢查。程序由于需要在整個文件系統(tǒng)中做查找操作,需要比較長的時間。 請您作完本文中的實驗后,別忘把文件的權(quán)限改回原狀。 八、Solaris系統(tǒng)安全之審計 作為C2安全等級操作系統(tǒng)(公安部二級),Solaris最主要的安全功能之一就是審計功能,本文將簡單介紹Solaris審計功能的使用和啟動。 目的:紀錄系統(tǒng)和用戶事件,并對審計過程自身進行保護。這里值得注意的就是紀錄事件的細度。Solaris提供了很強大的審計功能,甚至可以紀錄每一條調(diào)試信息,但是這樣做是不明智的,因為很多信息對用戶沒用,而且會使系統(tǒng)性能下降。審計細度需要管理員根據(jù)用途和需要自行訂制。 實現(xiàn): 8.1. 查看日志 1) history文件 通常在根目錄下,隱藏文件,記錄了root執(zhí)行的命令 2) /var/adm messages:記載來自系統(tǒng)核心的各種運行日志,可以記載的內(nèi)容是由/etc/syslog.conf決定的 sulog:記載著普通用戶嘗試su成為其它用戶的紀錄。它的格式為: 發(fā)生時間 +/-(成功/失敗) pts號 utmpx:這兩個文件是不具可讀性的,它們記錄著當前登錄在主機上的用戶,管理員可以用w,who等命令來看 wtmpx:相當于歷史紀錄,記錄著所有登錄過主機的用戶,時間,來源等內(nèi)容,可用last命令來看 3) /var/log syslog文件,這個文件的內(nèi)容一般是紀錄mail事件的 8.2. syslog 1) 實時錯誤檢查: tail –f /var/adm/messages -f在監(jiān)視器上允許看見每條記錄 /var/adm/messages記錄事件路徑 2) /etc/syslog.conf語法: *.err;kern.debug;deamon.notice;mail.crit /var/adm/messages 工具認可的值 值 描述 user 用戶進程產(chǎn)生的消息。這是來自沒有在文件列表中的設(shè)備的消息的默認優(yōu)先級 kern 由內(nèi)核產(chǎn)生的消息 mail 郵件系統(tǒng) daemon 系統(tǒng)守護進程 auth 授權(quán)系統(tǒng),如login、su lpr 行式打印機假脫機系統(tǒng) news 網(wǎng)絡(luò)新聞系統(tǒng)USENET保留值 uucp 為UUCP系統(tǒng)保留值,目前UUCP不使用syslog機制 cron Cron/at工具;crontab、at、cron local0-7 為本地使用保留 mark 內(nèi)部用于由syslog產(chǎn)生的時間戳消息 * 除標記工具之外的所有工具 級別認可的值(按重要性降序排列) emerg 用于通常必須廣播給所有用戶的恐慌情況 alert 必須立即被修正的情況,例如被損壞的系統(tǒng)數(shù)據(jù)庫 crit 用戶對關(guān)鍵情況的告警,例如設(shè)備錯誤 err 用于其他錯誤 warning 用于所有的警告信息 notice 用于沒有錯誤但是可能需要特別處理的情況。 info 通知消息 debug 用于通常只在調(diào)試時才使用的消息 none 不發(fā)送從指出的設(shè)備發(fā)來的消息到選定文件中 3) 例如如果要紀錄登錄信息(telnet),可以這樣做: /etc/default/login中:SYSLOG=YES /etc/syslog.conf中添加:auth.notice /export/home/wangyu/log (把日志記錄在/export/home/wangyu/log文件中,中間不是空格,是Tab) 重新啟動syslog守護進程 當telnet上去的時候,我們看到/export/home/wangyu/log中有: Sep 11 10:07:25 hlstar login: [ID 254462 auth.notice] ROOT LOGIN /dev/pts/1 FROM 192.168.0.9 8.3. Loghost 編輯/etc/syslog.conf,語法: *.err;kern.debug;deamon.notice;mail.crit @loghost (記錄登錄信息) 重新啟動syslog守護進程 假設(shè)這次我們使用linux做日志主機: [root@wangyu root]#/sbin/setup 打開配置界面-->;firewall configuration-->;custom-->;other ports: 寫入 syslog:udp 重新啟動防火墻 /etc/init.d/iptables restart或者/etc/init.d/ipchains restart 設(shè)置loghost接收網(wǎng)絡(luò)日志數(shù)據(jù),修改/etc/sysconfig/syslog配置文件: 修改 SYSLOGD_OPTIONS="-m 0" 為 SYSLOGD_OPTIONS="-r -m 0" 重新啟動syslog守護進程 此時/var/log/messages最下端附近會看到類似下面的信息 Aug 11 21:20:30 logserver syslogd 1.3-3: restart. (remote reception) 當telnet上去的時候,我們看到/var/log/messages中有類似下面的信息: Sep 5 11:08:31 mastadon login: [ID 507249 auth.notice] Login failure on /dev/pts/3 from 192.168.0.9, root 8.4. 記帳 Solaris操作系統(tǒng)可以通過設(shè)置日志文件可以對每個用戶的每一條命令進行紀錄,這一功能默認是不開放的 運行/usr/lib/acct/accton [路徑][文件名] (如/usr/lib/acct/accton /export/home/wangyu/test,將日志記錄到test中) 查看的時候?qū)⑽募苿拥?var/adm目錄下,改名為pacct 執(zhí)行查看命令lastcomm(比如查看用戶root,用命令lastcomm root) 8.5. BSM(以下部分節(jié)減自freedemon的“SecU Solaris p2.3 BSM審計系統(tǒng)”,詳見 http://bbs./index.php?act=ST&f=10&t=147174) 1) 開啟BSM: # init 1 (重新引導(dǎo)或改變運行級別到單用戶狀態(tài)) #/etc/security/bsmconv (運行BSM初始化腳本,開啟審計功能) # reboot (重新啟動系統(tǒng),或者Ctrl+D改變到多用戶狀態(tài)) 2) 關(guān)閉BSM審計功能: # init 1 # /etc/security/bsmunconv # reboot 3) 配置文件的功能: BSM所有的配置文件都存放在/etc/security目錄下( (4)代表詳細信息察看man (4) : audit_class(4) 審計類別定義 audit_control(4) 審計進程控制信息 audit_data(4) 審計進程當前信息 audit.log(4)審計日志格式 audit_event(4) 時間定義到類別的映射文件 audit_user(4) 按用戶審計時的用戶定義文件 除了上面的配置文件之外,系統(tǒng)中還有一些用于BSM管理的腳本。 audit_startup(1M) 啟動BSM進程運行。 auditconfig(1M) 讀取配置文件,重新配置audit進程。 auditd(1M) 審計監(jiān)控服務(wù)。 auditreduce(1M) 審計事件日志管理,可以調(diào)整日志格式,生成時間周期等信息。 auditstat(1M) 先是內(nèi)核審計進程狀態(tài)。 bsmconv(1M) 開啟BSM功能。 bsmunconv(1M) 關(guān)閉BSM功能。 praudit(1M) 打印BSM審計日志內(nèi)容。 4) BSM應(yīng)用 在默認配置情況下,BSM每天(24小時)會生成一個以當天日期為名字的審計日志,存放在 /var/audit目錄下,這個文件具有自己的數(shù)據(jù)結(jié)構(gòu),所以直接查看時是亂碼,必須使用系統(tǒng)命令 praudit來查看。 # praudit /var/audit/xxxxxx.xxxxxx.log 另一個可能用到的命令是auditreduce ,這個命令允許管理員對審計日志做一些設(shè)置,例如調(diào)整審計事件集或調(diào)整審計日志生成周期等等。auditreduce和praudit是系統(tǒng)中BSM管理最基本的兩個命令,組合起來可以完成相當多的功能: 用管道聯(lián)合兩個命令,會顯示系統(tǒng)中所有的歷史審計事件。 # auditreduce | praudit 再加上lp,將把所有審計事件直接打印出來。 # auditreduce | praudit | lp 如果系統(tǒng)中有相當多的審計信息的話,查找將是非常困難的事情,這條命令可以按照yymmdd的時間格式顯示目標時間段內(nèi)的審計事件,范例為顯示April 13, 1990, 用戶fred的登錄類別審計事件集。 # auditreduce -d 900413 -u fred -c lo | praudit 過濾目標時間所有的登錄日志信息(Class:lo),并且輸出到一個單獨的日志文件中: # auditreduce -c lo -d 870413 -O /usr/audit_summary/logins auditreduce的 -b 和 -a 選項允許用戶按照 yyyymmdd00:00:00 的時間格式制定一個時間段(Before & After)。 # auditreduce -a 91071500:00:00 | praudit # auditreduce -b 91071500:00:00 | praudit 5) 管理工具: eXpert-BSMTM 一個很強大的商業(yè)BSM分析工具,不過目前也可以免費使用,支持Solaris 7/8 (Sparc|Intel)平臺,可以在下面地址下載。 http://www.sdl./projects/emerald/releases/eXpert-BSM/download.html Sun WBEM Solaris內(nèi)置的圖形界面管理工具,也就是AdminConsole,在WBEM 2.3之后的版本支持對BSM信息的管理??梢杂孟旅婷铋_啟: # /usr/sadm/bin/wbemadmin (第一次運行時會安裝一系列的管理腳本) # /usr/sadm/bin/smc (開啟管理終端) 以上,對Solaris審計系統(tǒng)進行了配置,相信大部分用戶行為和入侵行為都被記錄下來了,并且對日志自身也進行了一定保護。如果管理員能及時分析日志,相信可以捕獲大部分入侵企圖和行為。 |
|
|