- 論壇徽章:
- 0
|
二 系統(tǒng)安全性實施步驟
2.1 操作系統(tǒng)Recommended patches Cluster 的安裝
1、 補丁前必須作全系統(tǒng)的備份,包括操作系統(tǒng)、應(yīng)用軟件、數(shù)據(jù)庫數(shù)據(jù)的備份,假如不具備備份條件的至少要備份應(yīng)用軟件和數(shù)據(jù)庫數(shù)據(jù);
2、 必須確保補丁不影響正常的在線服務(wù),也就是打完補丁后機器重起服務(wù)必須能正常啟動;
3、 假如系統(tǒng)是主備Cluster架構(gòu)的主機系統(tǒng),先對備機進行補丁和關(guān)閉相關(guān)服務(wù),并將服務(wù)切換到備機觀察服務(wù)能夠正常服務(wù),才能對主機進行打補丁。
2.2 關(guān)閉無用的系統(tǒng)服務(wù)
安裝時可以打開某些必要的服務(wù),但安裝完畢后應(yīng)在inetd.conf中注釋所有服務(wù)。
安裝調(diào)試階段的inetd.conf范本:
ftp stream tcp nowait root /usr/local/tcp_wrapper/tcpd in.ftpd
telnet stream tcp nowait root /usr/local/tcp_wrapper/tcpd in.telnetd
2.3 移除不需要的服務(wù)進程的啟動(/etc/rc)
/etc/rc2.d
mv S47asppp s47asppp
mv S73nfs.client s73nfs.client
mv S76nscd s76nscd
mv S85power s85power
mv S70uucp s70uucp
mv S72autoinstall s72autoinstall
mv S74autofs s74autofs
mv S80lp s80lp
mv S88sendmail s88sendmail
mv S74xntpd s74xntpd
mv K21dhcp k21dhcp
mv K28nfs.server k28nfs.server
mv S71ldcp.client s71ldap.client
mv S71sysid.sys s71sysid.sys
mv S72slpd s72slpd
mv S73cachefs.daemon s73cachefs.daemon
mv S75flashprom s75flashprom
mv S76ACT_dumpscript s76ACT_dumpscript
mv S80spc s80spc
mv S85power s85power
mv S93cacheos.finish s93cacheos.finish
mv S89bdconfig s89bdconfig
mv S99dtlogin s99dtlogin
/etc/rc3.d
mv S76snmpdx s76snmpdx
mv S15nfs.server s15nfs.server
mv S77dmi s77dmi
mv S34dhcp s34dhcp
mv S50apache s50apache
2.4設(shè)置系統(tǒng)文件,防止堆棧溢出漏洞
在/etc/system增加以下
set noexec_user_stack=1
set noexec_user_stack_log=1
2.5 打開系統(tǒng)性能監(jiān)控日志
root@hnboss1 # cat /etc/rc2.d/S21perf
#ident "@(#)perf.sh 1.7 97/12/08 SMI"
# Uncomment the following lines to enable system activity data gathering.
# You will also need to uncomment the sa entries in the system crontab
# /var/spool/cron/crontabs/sys. Refer to the sar(1) and sadc(1m) man pages
# for more information.
if [ -z "$_INIT_RUN_LEVEL" ]; then
set -- `/usr/bin/who -r`
_INIT_RUN_LEVEL="$7"
_INIT_RUN_NPREV="$8"
_INIT_PREV_LEVEL="$9"
fi
if [ $_INIT_RUN_LEVEL -ge 2 -a $_INIT_RUN_LEVEL -le 4 -a \
$_INIT_RUN_NPREV -eq 0 -a \( $_INIT_PREV_LEVEL = 1 -o \
$_INIT_PREV_LEVEL = S \) ]; then
/usr/bin/su sys -c "/usr/lib/sa/sadc /var/adm/sa/sa`date +%d`"
fi
root@hnboss1 # cat /var/spool/cron/crontabs/sys
#ident "@(#)sys 1.5 92/07/14 SMI" /* SVr4.0 1.2 */
#
# The sys crontab should be used to do performance collection. See cron
# and performance manual pages for details on startup.
#
0 * * * 0-6 /usr/lib/sa/sa1
20,40 8-17 * * 1-5 /usr/lib/sa/sa1
5 18 * * 1-5 /usr/lib/sa/sa2 -s 8:00 -e 18:01 -i 1200 -A
2.6 配置Coreadm和Dumpadm:
hnboss1主機dumpadm.conf文件配置樣板:
cat /etc/dumpadm.conf
DUMPADM_DEVICE=/dev/dsk/c0t0d0s1
DUMPADM_SAVDIR=/var/crash/hnboss1
DUMPADM_CONTENT=kernel
DUMPADM_ENABLE=yes
Coreadm.conf文件配置樣板:
root@qmccjf2 # cat coreadm.conf
#
# coreadm.conf
#
# Parameters for system core file configuration.
# Do NOT edit this file by hand -- use coreadm(1) instead.
#
COREADM_GLOB_PATTERN=/export/home/core/core.%f.%p.%u
COREADM_INIT_PATTERN=core.%f.%p.%u
COREADM_GLOB_ENABLED=yes
COREADM_PROC_ENABLED=no
COREADM_GLOB_SETID_ENABLED=yes
COREADM_PROC_SETID_ENABLED=no
COREADM_GLOB_LOG_ENABLED=yes
2.7 察看系統(tǒng)中有哪些SUID和SGID文件,將這些文件備份,便于以后查看比較。用下面的命令可以實現(xiàn):
find / -type f \( -perm -4000 -o -perm -2000 \) -ls >; /var/suid.file.20030626
2.8 Unix system V版本中,可以把不成功的登錄行為記錄在/var/adm/loginlog中。要登記不成功的注冊行為,可以用下列命令建立/var/adm/loginlog文件:
#touch /var/adm/loginlog
#chmod 600 /var/adm/loginlog
#chown root /var/adm/loginlog
2.9 創(chuàng)建notroute文件
#touch /etc/notroute
2.10 Acct設(shè)置
1. Install /etc/init.d/acct as the startup script for Run Level 2.
# ln /etc/init.d/acct /etc/rc2.d/S22acct
2. Install /etc/init.d/acct as the stop script for Run Level 0.
# ln /etc/init.d/acct /etc/rc0.d/K22acct
3. Add the following lines to the adm crontab file to start the ckpacct, runacct, and monacct programs automatically.
# EDITOR=vi; export EDITOR
# crontab -e adm
0 * * * * /usr/lib/acct/ckpacct
30 2 * * * /usr/lib/acct/runacct 2>; /var/adm/acct/nite/fd2log
30 7 1 * * /usr/lib/acct/monacct
4. Add the following line to the root crontab file to start the dodisk program automatically.
# crontab -e
30 22 * * 4 /usr/lib/acct/dodisk
2.11 安裝設(shè)置SSH
2.12 如果沒有必要保留,刪除/etc/hosts.equiv, /.rhosts.
#rm /etc/hosts.equiv
#rm /.rhosts
2.13 編輯/etc/default/passwd,設(shè)置:
PASSLENGTH=8 # 最短密碼長度
2.14 用的crontabs,主要包括lp、uucp等;
對root的crontabs文件作重點檢測,查看內(nèi)容是否有非法內(nèi)容。
在/etc/default/cron文件中增加如下行: CRONLOG=YES
2.15 在/etc/init.d/inetsvc文件中增加如下相關(guān)內(nèi)容:
# Run inetd in "standalone" mode (-s flag) so that it doesn't have
# to submit to the will of SAF. Why did we ever let them change inetd?
/usr/sbin/inetd -s -t &
2.15 將/etc/default/inetinit文件中的TCP_STRONG_ISS=1 改為
tcp_strong_ISS=2
2.17 network paramater
在/etc/rc2.d/S69inet中做如下參數(shù)調(diào)整:
縮短ARP的cache保存時間:
ndd -set /dev/arp arp_cleanup_interval 60000 /* 1 min (default is 5 min)*/
關(guān)閉echo廣播來防止ping攻擊
ndd -set /dev/ip ip_respond_to_echo_broadcast 0 # default is 1
關(guān)閉原路由尋址
ndd -set /dev/ip ip_forward_src_routed 0 # default is 1
禁止系統(tǒng)轉(zhuǎn)發(fā)IP包
ndd -set /dev/ip ip_forwarding 0 # default is 1
禁止系統(tǒng)轉(zhuǎn)發(fā)定向廣播包
ndd -set /dev/ip ip_forward_directed_broadcasts 0 # default is 1
使系統(tǒng)忽略重定向IP包
ndd -set /dev/ip ip_ignore_redirect 1 # default is 0
使系統(tǒng)限制多宿主機
ndd -set /dev/ip ip_strict_dst_multihoming 1 # default is 0
再次確保系統(tǒng)關(guān)閉ICMP廣播響應(yīng)
ndd -set /dev/ip ip_respond_to_address_mask_broadcast 0 # default is 1
關(guān)閉系統(tǒng)對ICMP時戳請求的響應(yīng)
ndd -set /dev/ip ip_respond_to_timestamp 0 # default is 1
關(guān)閉系統(tǒng)對ICMP時戳廣播的響應(yīng)
ndd -set /dev/ip ip_respond_to_timestamp_broadcast 0 # default is 1
禁止系統(tǒng)發(fā)送ICMP重定向包
ndd -set /dev/ip ip_send_redirects 0 # default is 1
關(guān)閉響應(yīng)地址掩碼廣播
ndd -set /dev/ip ip_respond_to_address_mask_broadcast 0 #default is 1
提高未連接隊列的大小
ndd -set /dev/tcp tcp_conn_req_max_q0 4096
提高已連接隊列的大小
ndd -set /dev/tcp tcp_conn_req_max_q 1024
上述配置在系統(tǒng)重新啟動后生效。
2.18 創(chuàng)建/etc/ftpusers文件:
把所有的系統(tǒng)賬戶加入到這個文件里:
root daemon sys bin adm lp uucp nuucp listen nobody
2.19 審計并日志所有以root身份的登陸情況
添加或編輯/etc/default/login文件如下入口:
SYSLOG= YES
#syslog記錄root的登陸失敗,成功的情況。
2.20設(shè)置遠程登陸會話超時時間
添加或編輯/etc/default/login文件如下入口:
TIMEOUT= 300
2.21確定登陸需要密碼驗證
添加或編輯/etc/default/login文件如下入口:
PASSREQ= YES
2.22 禁止Stop-‘A’鍵
在/etc/default/kbd中,改變或加入“KEYBOARD_ABORT=disable”。
此項防止啟動后,按stop-A或L1-A得到ok提示符,使用啟動盤可以進入單用戶模式,防止攻擊者物理接觸機器。 |
|