出處:http://www.xxlinux.com/linux/article/unix/rumen/2006-06-25/2116.html
一、帳號和口令安全策略?
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遠(yuǎn)程登錄?
????在/etc/default/login中設(shè)置?
????CONSOLE=/dev/concle?
2.3setuid和setgid特殊權(quán)限。?
????Setuid 是指設(shè)置程序的有效執(zhí)行用戶身份(uid)為該文件的屬主,而不是調(diào)用該程序進(jìn)程的用戶身份。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è)置遠(yuǎn)程登陸會話超時時間?
????添加或編輯/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)之后確認(rèn)root的umask設(shè)置是077或者027,執(zhí)行?
????/usr/bin/umask?[-S]?確認(rèn)。?
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中移去“.”?。?
? ???從如下的文件中移走”.”,確認(rèn)root的PATH環(huán)境變量設(shè)置是安全的,應(yīng)該只包含/usr/bin: /sbin:/usr/sbin,避免當(dāng)前工作目錄.出現(xiàn)在PATH環(huán)境變量中,這有助于對抗特洛伊木馬。?
????#echo?$PATH?|?grep?":."?確認(rèn)?
????/.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)行開頭標(biāo)記“#”字符即可。?
3.1.2在Services中關(guān)閉不用的服務(wù)?
????首先復(fù)制/etc/inet/services。?#cp?/etc/inet/services?/etc/inet/services.backup?
然后用vi編輯器編輯Services文件,對于需要注釋掉的服務(wù)在相應(yīng)行開頭標(biāo)記“#”字符即可。?
在inetd.conf、services中進(jìn)行修改后,找到inetd進(jìn)程的ID號,用kill向其發(fā)送HUP信號進(jìn)行刷新。舉例如下。?
????#ps?-ef?|?grep?inetd?
????#kill?-HUP?進(jìn)程號?或/usr/sbin/inetd?–s?–t?
????增加-t選項以加強(qiáng)網(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加強(qiáng)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文件,假如文件不存在就新建一個,在文件中的加進(jìn)入下一項:? ???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加強(qiáng)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加強(qiáng)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機(jī)器有超過一塊的網(wǎng)卡的話,它將會在不同網(wǎng)卡間轉(zhuǎn)發(fā)數(shù)據(jù)包,這一行為可以在/etc/init.d/inetinit中得到控制。要在 Solaris?2.4或者更低版本機(jī)器下關(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ù),加強(qiáng)網(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í)行插入的代碼,第二句則是在入侵者想運(yùn)行exploit的時候會做記錄。
五、日志系統(tǒng)安全策略?
5.1定時檢查系統(tǒng)日志文件?
????Solaris 系統(tǒng)通過syslogd進(jìn)程運(yùn)行日志系統(tǒng),配置文件/etc/syslog.conf,可編輯此文件讓日志系統(tǒng)記錄更多信息,需重啟 /usr/sbin/syslogd進(jìn)程,重讀取配置文件。通常日志系統(tǒng)的文件分別存放在兩個位置,/var/adm保存本地系統(tǒng)日志,/var/log 保存登錄其它系統(tǒng)時日志。
5.2設(shè)置utmpx和wtmpx文件權(quán)限,確保日志系統(tǒng)安全。?
????文件/var/adm/utmpx記錄了所有當(dāng)前登錄到系統(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的紀(jì)錄?
????創(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文件可以作為一個典型的后門文件使用,運(yùn)行下面的命令全局查找.rhosts文件?
#find?-name“.rhosts”-print?
6.5給系統(tǒng)打補(bǔ)丁?
???? 象其它的系統(tǒng)一樣,Solaris系統(tǒng)也有它的漏洞,其中的一些從性質(zhì)上來說是相當(dāng)嚴(yán)重的。SUN公司長期向客戶提供各種版本的最新補(bǔ)丁,放在http: //sunsolve.sun.com網(wǎng)站。可用#showrev?–p命令檢查系統(tǒng)已打的補(bǔ)丁或到/var/sadm/patch目錄下查已打過的補(bǔ)丁號,用patchadd命令給系統(tǒng)打補(bǔ)丁。?
七、Setuid設(shè)置和Solaris操作系統(tǒng)安全?
http://bbs.chinaunix.net/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)用該程序的進(jìn)程的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í)行該命令,那么就表示:當(dāng)該用戶執(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)限很嚴(yá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,是否還成功?當(dāng)然不。?
????7.5.把/bin/passwd的權(quán)限恢復(fù)原狀。?
?????#?chmod?6555?/bin/passwd?
???? 對此可以打一個生動的比喻:有一個絕密機(jī)關(guān),不得已必須有一些不能見這些秘密的人進(jìn)來做一些事情。于是授權(quán)一些特殊的“車輛”(沒有窗戶,門緊閉,所以看不到外面。只有一個小洞允許乘坐的人伸出一只手臂),帶著所乘坐的人開到要去的地方,允許它辦完事情馬上帶他出來。這樣是不是很安全?不一定。如果“車輛”沒有經(jīng)過精挑細(xì)選是有很多“門窗”,那系統(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)嚴(yán)格控制寫權(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程序。也可以放在定時進(jìn)程中定時檢查。程序由于需要在整個文件系統(tǒng)中做查找操作,需要比較長的時間。?
?????請您作完本文中的實驗后,別忘把文件的權(quán)限改回原狀。
八、Solaris系統(tǒng)安全之審計
作為C2安全等級操作系統(tǒng)(公安部二級),Solaris最主要的安全功能之一就是審計功能,本文將簡單介紹Solaris審計功能的使用和啟動。
目的:紀(jì)錄系統(tǒng)和用戶事件,并對審計過程自身進(jìn)行保護(hù)。這里值得注意的就是紀(jì)錄事件的細(xì)度。Solaris提供了很強(qiáng)大的審計功能,甚至可以紀(jì)錄每一條調(diào)試信息,但是這樣做是不明智的,因為很多信息對用戶沒用,而且會使系統(tǒng)性能下降。審計細(xì)度需要管理員根據(jù)用途和需要自行訂制。?
實現(xiàn):?
????8.1.?查看日志?
????1)?history文件?
????通常在根目錄下,隱藏文件,記錄了root執(zhí)行的命令?
????2)?/var/adm?
????messages:記載來自系統(tǒng)核心的各種運(yùn)行日志,可以記載的內(nèi)容是由/etc/syslog.conf決定的?
????sulog:記載著普通用戶嘗試su成為其它用戶的紀(jì)錄。它的格式為:?發(fā)生時間?+/-(成功/失敗)?pts號?
????utmpx:這兩個文件是不具可讀性的,它們記錄著當(dāng)前登錄在主機(jī)上的用戶,管理員可以用w,who等命令來看?
????wtmpx:相當(dāng)于歷史紀(jì)錄,記錄著所有登錄過主機(jī)的用戶,時間,來源等內(nèi)容,可用last命令來看?
????3)?/var/log?
????syslog文件,這個文件的內(nèi)容一般是紀(jì)錄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?
????工具認(rèn)可的值?
????值?描述?
????user?用戶進(jìn)程產(chǎn)生的消息。這是來自沒有在文件列表中的設(shè)備的消息的默認(rèn)優(yōu)先級?
????kern?由內(nèi)核產(chǎn)生的消息?
????mail?郵件系統(tǒng)?
????daemon?系統(tǒng)守護(hù)進(jìn)程?
????auth?授權(quán)系統(tǒng),如login、su?
????lpr?行式打印機(jī)假脫機(jī)系統(tǒng)?
????news?網(wǎng)絡(luò)新聞系統(tǒng)USENET保留值?
????uucp?為UUCP系統(tǒng)保留值,目前UUCP不使用syslog機(jī)制?
????cron?Cron/at工具;crontab、at、cron?
????local0-7?為本地使用保留?
????mark?內(nèi)部用于由syslog產(chǎn)生的時間戳消息?
????*?除標(biāo)記工具之外的所有工具?
????級別認(rèn)可的值(按重要性降序排列)?
????emerg?用于通常必須廣播給所有用戶的恐慌情況?
????alert?必須立即被修正的情況,例如被損壞的系統(tǒng)數(shù)據(jù)庫?
????crit?用戶對關(guān)鍵情況的告警,例如設(shè)備錯誤?
????err?用于其他錯誤?
????warning?用于所有的警告信息?
????notice?用于沒有錯誤但是可能需要特別處理的情況。?
????info?通知消息?
????debug?用于通常只在調(diào)試時才使用的消息?
????none?不發(fā)送從指出的設(shè)備發(fā)來的消息到選定文件中?
????3)?例如如果要紀(jì)錄登錄信息(telnet),可以這樣做:?
????/etc/default/login中:SYSLOG=YES?
????/etc/syslog.conf中添加:auth.notice?/export/home/wangyu/log?
????(把日志記錄在/export/home/wangyu/log文件中,中間不是空格,是Tab)?
????重新啟動syslog守護(hù)進(jìn)程?
????當(dāng)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守護(hù)進(jìn)程?
????假設(shè)這次我們使用linux做日志主機(jī):?
?????[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守護(hù)進(jìn)程?
????此時/var/log/messages最下端附近會看到類似下面的信息?
????Aug?11?21:20:30?logserver?syslogd?1.3-3:?restart.?(remote?reception)?
????當(dāng)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è)置日志文件可以對每個用戶的每一條命令進(jìn)行紀(jì)錄,這一功能默認(rèn)是不開放的?
????運(yùn)行/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.nsfocus.net/index.php?act=ST&f=10&t=147174)?
????1)?開啟BSM:?
????#?init?1?(重新引導(dǎo)或改變運(yùn)行級別到單用戶狀態(tài))?
????#/etc/security/bsmconv?(運(yùn)行BSM初始化腳本,開啟審計功能)?
????#?reboot?(重新啟動系統(tǒng),或者Ctrl+D改變到多用戶狀態(tài))?
????2)?關(guān)閉BSM審計功能:?
????#?init?1?
????#?/etc/security/bsmunconv?
????#?reboot?
????3)?配置文件的功能:?
????BSM所有的配置文件都存放在/etc/security目錄下(?(4)代表詳細(xì)信息察看man?(4)?:?
????audit_class(4)?
????審計類別定義?
????audit_control(4)?
????審計進(jìn)程控制信息?
????audit_data(4)?
????審計進(jìn)程當(dāng)前信息?
????audit.log(4)審計日志格式?
????audit_event(4)?
????時間定義到類別的映射文件?
????audit_user(4)?
????按用戶審計時的用戶定義文件?
????除了上面的配置文件之外,系統(tǒng)中還有一些用于BSM管理的腳本。?
????audit_startup(1M)?
????啟動BSM進(jìn)程運(yùn)行。?
????auditconfig(1M)?
????讀取配置文件,重新配置audit進(jìn)程。?
????auditd(1M)?
????審計監(jiān)控服務(wù)。?
????auditreduce(1M)?
????審計事件日志管理,可以調(diào)整日志格式,生成時間周期等信息。?
????auditstat(1M)?
????先是內(nèi)核審計進(jìn)程狀態(tài)。?
????bsmconv(1M)?
????開啟BSM功能。?
????bsmunconv(1M)?
????關(guān)閉BSM功能。?
????praudit(1M)?
????打印BSM審計日志內(nèi)容。?
????4)?BSM應(yīng)用?
? ???在默認(rèn)配置情況下,BSM每天(24小時)會生成一個以當(dāng)天日期為名字的審計日志,存放在?? ??/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管理最基本的兩個命令,組合起來可以完成相當(dāng)多的功能: ?
????用管道聯(lián)合兩個命令,會顯示系統(tǒng)中所有的歷史審計事件。?
????#?auditreduce?|?praudit?
????再加上lp,將把所有審計事件直接打印出來。
?? #?auditreduce?|?praudit?|?lp?
? ???如果系統(tǒng)中有相當(dāng)多的審計信息的話,查找將是非常困難的事情,這條命令可以按照yymmdd的時間格式顯示目標(biāo)時間段內(nèi)的審計事件,范例為顯示April?13,?1990,?用戶fred的登錄類別審計事件集。?
????#?auditreduce?-d?900413?-u?fred?-c?lo?|?praudit?
????過濾目標(biāo)時間所有的登錄日志信息(Class:lo),并且輸出到一個單獨(dú)的日志文件中:?
????#?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?
????一個很強(qiáng)大的商業(yè)BSM分析工具,不過目前也可以免費(fèi)使用,支持Solaris?7/8?(Sparc|Intel)平臺,可以在下面地址下載。?
http://www.sdl.sri.com/projects/emerald/releases/eXpert-BSM/download.html?
????Sun?WBEM?
????Solaris內(nèi)置的圖形界面管理工具,也就是AdminConsole,在WBEM?2.3之后的版本支持對BSM信息的管理。可以用下面命令開啟:?
????#?/usr/sadm/bin/wbemadmin?(第一次運(yùn)行時會安裝一系列的管理腳本)?
????#?/usr/sadm/bin/smc?(開啟管理終端)?
????以上,對Solaris審計系統(tǒng)進(jìn)行了配置,相信大部分用戶行為和入侵行為都被記錄下來了,并且對日志自身也進(jìn)行了一定保護(hù)。如果管理員能及時分析日志,相信可以捕獲大部分入侵企圖和行為。