- 论坛徽章:
- 0
|
二 系统安全性实施步骤
2.1 操作系统Recommended patches Cluster 的安装
1、 补丁前必须作全系统的备份,包括操作系统、应用软件、数据库数据的备份,假如不具备备份条件的至少要备份应用软件和数据库数据;
2、 必须确保补丁不影响正常的在线服务,也就是打完补丁后机器重起服务必须能正常启动;
3、 假如系统是主备Cluster架构的主机系统,先对备机进行补丁和关闭相关服务,并将服务切换到备机观察服务能够正常服务,才能对主机进行打补丁。
2.2 关闭无用的系统服务
安装时可以打开某些必要的服务,但安装完毕后应在inetd.conf中注释所有服务。
安装调试阶段的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 移除不需要的服务进程的启动(/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设置系统文件,防止堆栈溢出漏洞
在/etc/system增加以下
set noexec_user_stack=1
set noexec_user_stack_log=1
2.5 打开系统性能监控日志
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 察看系统中有哪些SUID和SGID文件,将这些文件备份,便于以后查看比较。用下面的命令可以实现:
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 创建notroute文件
#touch /etc/notroute
2.10 Acct设置
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 安装设置SSH
2.12 如果没有必要保留,删除/etc/hosts.equiv, /.rhosts.
#rm /etc/hosts.equiv
#rm /.rhosts
2.13 编辑/etc/default/passwd,设置:
PASSLENGTH=8 # 最短密码长度
2.14 用的crontabs,主要包括lp、uucp等;
对root的crontabs文件作重点检测,查看内容是否有非法内容。
在/etc/default/cron文件中增加如下行: CRONLOG=YES
2.15 在/etc/init.d/inetsvc文件中增加如下相关内容:
# 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中做如下参数调整:
缩短ARP的cache保存时间:
ndd -set /dev/arp arp_cleanup_interval 60000 /* 1 min (default is 5 min)*/
关闭echo广播来防止ping攻击
ndd -set /dev/ip ip_respond_to_echo_broadcast 0 # default is 1
关闭原路由寻址
ndd -set /dev/ip ip_forward_src_routed 0 # default is 1
禁止系统转发IP包
ndd -set /dev/ip ip_forwarding 0 # default is 1
禁止系统转发定向广播包
ndd -set /dev/ip ip_forward_directed_broadcasts 0 # default is 1
使系统忽略重定向IP包
ndd -set /dev/ip ip_ignore_redirect 1 # default is 0
使系统限制多宿主机
ndd -set /dev/ip ip_strict_dst_multihoming 1 # default is 0
再次确保系统关闭ICMP广播响应
ndd -set /dev/ip ip_respond_to_address_mask_broadcast 0 # default is 1
关闭系统对ICMP时戳请求的响应
ndd -set /dev/ip ip_respond_to_timestamp 0 # default is 1
关闭系统对ICMP时戳广播的响应
ndd -set /dev/ip ip_respond_to_timestamp_broadcast 0 # default is 1
禁止系统发送ICMP重定向包
ndd -set /dev/ip ip_send_redirects 0 # default is 1
关闭响应地址掩码广播
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
上述配置在系统重新启动后生效。
2.18 创建/etc/ftpusers文件:
把所有的系统账户加入到这个文件里:
root daemon sys bin adm lp uucp nuucp listen nobody
2.19 审计并日志所有以root身份的登陆情况
添加或编辑/etc/default/login文件如下入口:
SYSLOG= YES
#syslog记录root的登陆失败,成功的情况。
2.20设置远程登陆会话超时时间
添加或编辑/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提示符,使用启动盘可以进入单用户模式,防止攻击者物理接触机器。 |
|