一帳號和口令安全策略 更改口令文件
影像文件
組文件的權限
/etc/passwd 必須所有用戶都可讀
root用戶可寫 –rw
r—r—
/etc/shadow 只有root可讀 –r
/etc/group 必須所有用戶都可讀
root用戶可寫 –rw
r—r—
修改不必要的系統帳號
移去或者鎖定那些系統帳號
比如sys
uucp
nuucp
listen
lp
adm等等
簡單的辦法是在/etc/shadow的password域中放上NP字符
還可以考慮將/etc/passwd文件中的shell域設置成/bin/false
修改口令策略
修改/etc/default/passwd文件
MAXWEEKS=
口令至少每隔
星期更改一次
MINWEEKS=
口令至多每隔
星期更改一次
WARNWEEKS=
修改口令後第三個星期會收到快要修改口令的信息 PASSLENGTH=
用戶口令長度不少於
個字符
二用戶授權安全策略 移去組及其它用戶對/etc的寫權限
執行命令#chmod
R go
w /etc
禁止root遠程登錄
在/etc/default/login中設置
CONSOLE=/dev/concle
setuid和setgid特殊權限
Setuid是指設置程序的有效執行用戶身份(uid)為該文件的屬主
而不是調用該程序進程的用戶身份
Setgid與之類似
Setuid和setgid用
s
顯示出來為s權限
存在於主人和屬組的執行權限的位置上
系統設置特殊權限
使用戶執行某些命令時
具有root的執行權限
命令執行完成
root身份也隨之消失
因此特殊權限關系系統的安全
可執行命令#find /
perm
print 尋找系統中具有setuid權限的文件
存為列表文件
定時檢查有沒有這之外的文件被設置了setuid權限
審計並日志所有以root身份的登陸情況
添加或編輯/etc/default/login文件如下
SYSLOG= YES
syslog記錄root的登陸失敗
成功的情況
設置遠程登陸會話超時時間
添加或編輯/etc/default/login文件如下
TIMEOUT=
確定登陸需要密碼驗證
添加或編輯/etc/default/login文件如下
PASSREQ= YES
UMASK設置
umask命令設置用戶文件和目錄的文件創建缺省屏蔽值
若將此命令放入
profile文件
就可控制該用戶後續所建文件的存取許可
umask命令與chmod命令的作用正好相反
它告訴系統在創建文件時不給予什麼存取許可
安裝配置完操作系統之後確認root的umask設置是
或者
執行
/usr/bin/umask [
S] 確認
增加或修改/etc/default/login文件中如下行
UMASK=
並增加上行到如下的文件中
/etc/
login /etc/
profile /etc/skel/local
cshre
/etc/skel/local
login /etc/skel/local
profile
用戶環境配置文件的PATH或者LD_LIBRARY_PATH中移去
從如下的文件中移走
確認root的PATH環境變量設置是安全的
應該只包含/usr/bin:/sbin:/usr/sbin
避免當前工作目錄
出現在PATH環境變量中
這有助於對抗特洛伊木馬
#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
三網絡與服務安全策略 關閉不用的服務
在nf中關閉不用的服務
首先復制/etc/inet/nf
#cp /etc/inet/nf /etc/inet/nf
backup
然後用vi編輯器編輯nf文件
對於需要注釋掉的服務在相應行開頭標記
#
字符即可
在Services中關閉不用的服務
首先復制/etc/inet/services
#cp /etc/inet/services /etc/inet/services
backup
然後用vi編輯器編輯Services文件
對於需要注釋掉的服務在相應行開頭標記
#
字符即可
在nf
services中進行修改後
找到inetd進程的ID號
用kill向其發送HUP信號進行刷新
舉例如下
#ps
ef | grep inetd
#kill
HUP 進程號 或/usr/sbin/inetd –s –t
增加
t選項以加強網絡訪問控制
根據需要關閉不用的服務
可關閉如下服務
tftp
ypupdate(NIS程序)
dtspcd(郵
件收發程序)
rquotad
name
uucp(網絡實用系統)
snmp(簡單網絡管理協議)等
關閉系統的自啟動服務
在系統/etc/rc*
d的目錄下
根據需要停用以下服務:
sendmail 把/etc/rc
d/S
sendmai更名為tc/rc
d/X
sendmail
DNS 將/etc/rc
d/S
inetsv注釋掉in
named一項
lp 把/etc/rc
d/S
lp更名為 /etc/rc
d/X
lp
uucp 把/etc/rc
d/S
uucp更名為/etc/rc
d/x
uucp
snmp 把/etc/rc
d/S
snmpdx和 /etc/rc
d/S
dmi 更名 為/etc/rc
d/s
snmpdx和/etc/rc
d/s
dmi
autoinstall 把/etc/rc
d/S
autoinstallg更名為/etc/rc
d/s
autoinstall
加強FTP服務安全
禁止系統用戶的FTP服務
把所有的系統賬戶加入到/etc/ftpusers(solaris
的該文件現更改為/etc/ftpd/ftpusers)文件
root
daemon
sys
bin
adm
lp
uucp
nuucp
listen
nobody
禁止FTP&服務暴露系統敏感信息
編輯/etc/default/ftpd文件
假如文件不存在就新建一個
在文件中的加進入下一項
BANNER=XXXX(XXXX可以任意改變為任何一個版本信息)
將該系統版本信息屏蔽
ftp服務會話日志記錄
/etc/inet/nf中的ftpd為(記錄)
ftp stream tcp nowait root /usr/sbin/in
ftpd in
ftpd –dl
加強Telnet服務安全
禁止Telnet服務暴露系統敏感信息
防止telnetd banner洩露信息
修改/etc/default/telnetd文件
加入以下一項
BANNER=XXXX(XXXX可以任意改變為任何一個版本信息)
將該系統版本信息屏蔽
更改Telnet服務端口號
修改文件/etc/services的Telnet一項
將端口號改為非
使用Telnet服務時需注明端口號
加強NFS服務安全
檢查/etc/dfs/dfstab文件share語句
缺省時共享目錄為
可讀可寫
加入
o
選項增加安全
o rw
可讀可寫
o ro
只讀
可授權某系統和某用戶
防止TCP序列號預測攻擊(ip欺騙)
在/etc/default/inetinit中增加設置來防止TCP序列號預測攻擊(ip欺騙)TCP_STRONG_ISS=
系統路由安全
如果Solaris機器有超過一塊的網卡的話
它將會在不同網卡間轉發數據包
這一行為可以在/etc/init
d/inetinit中得到控制
要在Solaris
或者更低版本機器下關閉它
可以將ndd
set /dev/ip ip_forwarding
添加於在inetinit文件未尾
在Solaris
以上
只要touch /etc/notrouter
網絡系統用靜態路由比較安全
調整網絡參數
加強網絡安全
使IP forwarding和sourec routing(源路)由無效
在Inetinit中使IP forwarding和sourec routing(源路)由無效(假如有超過一個網絡接口的話)
在/etc/init
d/inetinit中增加下面所示設置:
禁止系統轉發定向廣播包
#ndd
set /dev/ip ip_forward_directed_broadcasts
關閉原路由尋址
#ndd
set /dev/ip ip_forward_src_routed
禁止系統轉發IP包
#ndd
set /dev/ip ip_forwarding
縮短ARP的cache保存時間: (default is
min)
#ndd
set /dev/arp arp_cleanup_interval
min
關閉echo廣播來防止ping攻擊( # default is
)
#ndd
set /dev/ip ip_respond_to_echo_broadcast
四防止堆棧緩沖益出安全策略 入侵者常常使用的一種利用系統漏洞的方式是堆棧溢出
他們在堆棧裡巧妙地插入一段代碼
利用它們的溢出來執行
以獲得對系統的某種權限
要讓你的系統在堆棧緩沖溢出攻擊中更不易受侵害
你可以在/etc/system裡加上如下語句
set noexec_user_stack=
set noexec_user_stack_log =
第一句可以防止在堆棧中執行插入的代碼
第二句則是在入侵者想運行exploit的時候會做記錄
五日志系統安全策略 定時檢查系統日志文件
Solaris系統通過syslogd進程運行日志系統
配置文件/etc/nf
可編輯此文件讓日志系統記錄更多信息
需重啟/usr/sbin/syslogd進程
重讀取配置文件
通常日志系統的文件分別存放在兩個位置
/var/adm保存本地系統日志
/var/log保存登錄其它系統時日志
設置utmpx和wtmpx文件權限
確保日志系統安全
文件/var/adm/utmpx記錄了所有當前登錄到系統中的用戶
文件/var/adm/wtmpx記錄了系統所有的登錄和注銷
這兩個文件是以數據庫的格式存在的
設置權限#chmod
/var/adm/utmpx
#chmod
/var/adm/wtmpx
六其它系統安全設置 crontab命令
不要使用crontab –e命令
因為它會在/tmp下建立所有用戶都可讀的crontab副本訪問cron系統
用如下的方法
編輯文件
mycronfile
crontab
6.1.2在/etc/default/cron文件中增加如下行: CRONLOG=YES 記錄所有的crontab行
From:http://tw.wingwit.com/Article/program/Java/gj/201311/27594.html