四、系統加固
1、為OpenBoot設置密碼
在Solaris中設置密碼 # eeprom security-password
在OpenBoot中設置密碼 ok password
在Solaris中設置安全級別(command) # eeprom security-mode=command
在OpenBoot中設置安全級別(command) ok setenv security-mode command
在OpenBoot中設置安全級別(full) ok setenv security-mode full
2、取消不必須賬號
移去或者鎖定那些不是必須的帳號,比如sysuucp uucplisten等等,簡單的辦法是在/etc/shadow的password域中放上NP字符。
(簡單辦法是 passwd -l username)
3、文件系統
/etc目錄中應該沒有文件是組或者其他用戶可寫的
find /etc/ -type f –perm –g+w –print (查找組可寫文件)
find /etc/ -type f –perm –o+w –print (查找其他用戶可寫文件)
chmod –R go-w /etc (改變任何錯誤的組/其他用戶的寫權限)
/var/adm/utmp和/var/adm/utmpx文件的權限應該是644
4、X-Windows手工鎖定(當管理員離開電腦的時候)
CDE中面板上的加鎖圖標
OpenWindows中-鼠標右鍵-Utilities-Lock Screen
5、/etc的存取權限
用chmod -R g-w /etc命令來移去組用戶對/etc的寫權限。
6、打開數據包轉發
#ndd –set /dev/ip ip_forwarding 1 (在系統作為路由器的情況中執行)
關閉數據包轉發
#ndd –set /dev/ip ip_forwarding 0 (建議把這條命令加入/etc/init.d/inetinit中)
忽略重定向數據包(否則有遭到DOS的隱患)
#ndd –set /dev/ip ip_ignore_redirects 1 (加入/etc/init.d/inetinit)
不發送重定向數據包
#ndd –set /dev/ip ip_send_redirects 0 (加入/etc/init.d/inetinit)
禁止轉發定向廣播(如果網橋連結則不禁止)
#ndd –set /dev/ip ip_forward_directed_broadcasts 0 (加入/etc/init.d/inetinit)
禁止轉發在數據源設置了路由的數據包
#ndd –set /dev/ip ip_forward_src_routed 0 (加入/etc/init.d/inetinit)
7、利用/etc/notrouter關閉IP轉發
創建/etc/notrouter文件,重啟計算機(入侵者如果可以訪問根目錄,可以使用ndd命令重新開啟IP轉發)
/etc/inet/hosts中的配置
127.0.0.1 Localhost (所有系統都有這一項)
192.168.0.13 Loghost (syslog使用的)
192.168.0.109 wy_solaris (主機IP和主機名)
/etc/defaultrouter包含了默認路由器的名稱或者IP
如果使用了默認路由器,在/etc/inet/hosts文件中必須包含路由器的名稱,因為如果設置了路由表,系統將不會運行任何目錄服務(DNS、NIS或者NIS+)
8、cron(任務在/var/spool/cron/crontabs/ 一般行為在/etc/default/cron)
格式:minute hour day-of-month month day-of-week command
(每項間用空格,同一項兩個數字間用逗號,每項為數字或者星號)
配置:
查看命令 crontab –l
(1)進入只有本用戶可讀的目錄
(2)crontab –l > mycronfile
(3)編輯mycronfile
(4)crontab < mycronfile
不要使用crontab –e命令,因為它會在/tmp下建立所有用戶都可讀的crontab副本
訪問cron系統
/etc/cron.d/cron.allow (允許)
/etc/cron.d/cron.deny (不允許)
存在cron.allow,其中沒有某用戶,則不允許此用戶訪問cron系統
存在cron.deny,其中沒有某用戶,則允許此用戶訪問cron系統
在/etc/default/cron里設置了"CRONLOG=yes" 來記錄corn的動作
PATH中不應包含“/tmp”“——”“。”字樣
at(任務在/var/spool/cron/atjobs)
/etc/cron.d/at.allow和/etc/cron.d/at.deny和cron文件完全一樣
9、增加靜態路由
格式: route add net net-address subnet-mask router hops
例如: route add net 10.15.0.0 255.255.0.0 10.14.48.2 1
(要到達10.15.x.x的網絡,需要將數據包送往路由器10.14.48.2,距離10.15.x.x有一個躍點。這個命令將增加到啟動文件/etc/rc2.d/S72inetsvc)
增加動態路由(會帶來安全隱患)
在/etc/rc2.d/S72inetsvc中增加和是的命令行
運行in.routed或者in.rdisc
診斷工具snoop可以sniff,只有root可以使用,可以把snoop從不需要的UNIX機器上刪除
10、root的umask設置錯誤
修改/etc/profile文件,將umask設為077或者027
11、堆棧緩沖溢出攻擊防護設置
在/etc/system里加上如下語句,禁止緩沖溢出:
echo "set noexec_user_stack=1" >> /etc/system
echo "set noexec_user_stack_log=1" >> /etc/system
(對 Solaris 9,可以對單個程序設定堆棧不可執行屬性,前提是有該程序的源碼,例如:# cc -M /usr/lib/ld/map.noexstk myprogram.c)
12、使IP forwarding和sourec routing(源路)由無效
在Inetinit中使IP forwarding和sourec routing(源路)由無效(假如有超過一個網絡接口的話)。在/etc/init.d/inetinit中增加下面所示設置:
ndd -set /dev/ip ip_forward_directed_broadcasts 0
ndd -set /dev/ip ip_forward_src_routed 0
ndd -set /dev/ip ip_forwarding 0
13、防止TCP序列號預測攻擊(ip欺騙)
建議在/etc/default/inetinit中增加如下的生成初始化序列號設置來防止TCP序列號預測攻擊(ip欺騙):TCP_STRONG_ISS=2
14、(如果有ftp服務)不要使用匿名ftp
/etc/inet/inetd.conf中的ftpd為(記錄)
ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd –dl
決不能用root身份使用ftp(口令不加密)
/etc/ftpusers中的增加超級用戶(這里的賬號禁止用ftp連接系統)
FTP 服務暴露系統敏感信息
編輯/etc/default/ftpd文件,假如文件不存在就新建一個,在文件中的加進以下一項:BANNER=XXXX(XXXX可以任意改變為任何一個版本信息),將該系統版本信息屏蔽。
15、關閉NFS服務
16、用SSH替代Telnet服務
17、限制。rhosts、。netrc和/etc/hosts.equiv文件的使用
限制。rhosts、。netrc和/etc/hosts.equiv文件的使用。r系列命令使用這些文件來訪問系統。要為這些文件加鎖,先創建它們,然后修改其屬性為零即可。這樣除了root用戶就沒有其它用戶能創建或修改它們了。
/usr/bin/touch /.rhosts /.netrc /etc/hosts.equiv
/usr/bin/chmod 0 /.rhosts /.netrc /etc/hosts.equiv
.rhosts文件可以作為一個典型的后門文件使用,在某用戶的目錄下存在。rhosts文件的話,任何用戶都可以通過rlogin不需要口令以該用戶的身份登錄到系統。
運行下面的命令全局查找。rhosts文件
# find –name “。rhosts” –print
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答