- 论坛徽章:
- 0
|
[精彩] Solaris_build_document文档翻译认领开始
http://www.chinaunix.net 作者:
race
发表于:2003-09-05 16:50:31
【
发表评论
】【
查看原文
】【
Solaris讨论区
】【
关闭
】
下载地址
http://www.sun.com/bigadmin/content/submitted/Solaris_build_document.pdf
该书翻译地方不多,拷贝-粘贴的多。
blade7712
回复于:2003-07-07 11:49:25
系统配置
目的
本文档描述了对Solaris 操作系统进行配置、监控、弱点评估已经如何使系统变得更加文档可靠的方面的内容。同时,也可以作为一个配置标准或审计基线。在系统排错过程中,对配置细节层面的详细理解和掌握是非常重要的。通过使用Jumpstart和Solaris Security Toolkit,可以自动化安装,并且方便的配置系统安全性和可靠性。
安装Solaris 8
使用如下文件系统安装Solaris 8
(见P4的表)
swap分区应该等于系统内存的两倍。使用下列命令来确定系统的内存数量:
/usr/platform/sun4u/prtdiag –v
Volume Manager的具体配置超出本文的讨论范围,不再赘述。
安装补丁集(Patch Cluster)
安装最新的推荐补丁和安全补丁是十分必要的,可以从http://sunsolve.sun.com获得。最后找到所以硬件的补丁。
# cd /tmp
# unzip 8_recommended.zip
# cd 8_recommend
# ./install_cluster
# /usr/sbin/shudown –i6 –g0 –y
配置DNS客户端
# vi /etc/nsswitch.conf
host: files dns
# vi /etc/resolv.conf
domain domain.com
nameserver 192.168.1.105
nameserver 192.168.1.106
search domain.com
配置默认路由
运行时配置:(重启后无效)
# route add net default 192.168.1.1 1
最后一个“1”指定跳数。默认路由的跳数应该设定为1,因为服务器最先找的是网卡。
重启后生效的配置:
# vi /etc/defaultroute
192.168.1.1
在/etc/hosts中添加FQAN
# vi /etc/hosts
192.168.1.101 sunsrv01.domain.com sunsrv01 loghost
在/etc/hosts中添加完全的有资格的域名(Fully qualified domain name),可以避免sendmail报错。(我的无资格的域名是未知的(主机名);等待重试, My unqualified host name (hostname)unknown; sleeping for retry)
添加多个IP地址
5
# vi /etc/hosts
192.168.1.15 projqa
192.168.1.16 projdev
# vi hostname.eri0:1
projqa
# vi hostname.eri0:2
projdev
# ifconfig eri0:1 plumb
# ifconfig eri0:1 inet 192.168.1.15 broadcast 192.168.1.255 netmask 255.255.255.0 –
trailers
# ifconfig eri0:1 up
# ifconfig eri0:2 plumb
# ifconfig eri0:2 inet 192.168.1.16 broadcast 192.168.1.255 netmask 255.255.255.0 –
trailers
# ifconfig eri0:2 up
# ifconfig -a
lo0: flags=1000849; mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
eri0: flags=1000863; mtu 1500 index 2
inet 192.168.1.14 netmask ffffff00 broadcast 192.168.1.255
ether 0:3:ba:b:3:f5
eri0:1: flags=1000863; mtu 1500 index 2
inet 192.168.1.15 netmask ffffff00 broadcast 192.168.1.255
eri0:2: flags=1000863; mtu 1500 index 2
inet 192.168.1.16 netmask ffffff00 broadcast 192.168.1.255
强制网卡使用百兆全双工模式
可以通过在服务器网卡和交换机两端都配置使用100兆全双工模式通讯,避免自动协商过程。
确定可用的网卡:
# ifconfig –a
配置服务器开机时使用:
hme:
# ndd -set /dev/hme instance 0
# ndd -set /dev/hme adv_100fdx_cap 1
# ndd -set /dev/hme adv_autoneg_cap 0
qfe:
# ndd -set /dev/qfe instance 0
# ndd -set /dev/qfe adv_100fdx_cap 1
# ndd -set /dev/qfe adv_autoneg_cap 0
eri:
# ndd -set /dev/eri instance 0
# ndd -set /dev/eri adv_100fdx_cap 1
# ndd -set /dev/eri adv_autoneg_cap 0
ce:
# ndd -set /dev/ce instance 0
# ndd -set /dev/ce link_master 0
# ndd -set /dev/ce adv_1000fdx_cap 0
# ndd -set /dev/ce adv_1000hdx_cap 0
# ndd -set /dev/ce adv_100fdx_cap 1
# ndd -set /dev/ce adv_100hdx_cap 0
# ndd -set /dev/ce adv_10fdx_cap 0
# ndd -set /dev/ce adv_10hdx_cap 0
# ndd -set /dev/ce adv_autoneg_cap 0
配置重启后生效(注意:一定要确定网卡正确安装在服务器上)
hme, qfe & eri:
# vi /etc/system (ensure there are no blank lines)
* Force hme into 100 Mbps full duplex mode
set hme:hme_adv_100fdx_cap=1
* Don't negotiate operation mode with the network hub
set hme:hme_adv_autoneg_cap=0
* Force qfe into 100 Mbps full duplex mode
set qfe:qfe_adv_100fdx_cap=1
* Don't negotiate operation mode with the network hub
set qfe:qfe_adv_autoneg_cap=0
* Force eri into 100 Mbps full duplex mode
set eri:adv_100fdx_cap=1
* Don't negotiate operation mode with the network hub
set eri:adv_autoneg_cap=0
ce:
# vi /etc/rc2.d/S99net-tune
#!/sbin/sh
# Set NIC to 100 Mbps full duplex
ndd -set /dev/ce instance 0
ndd -set /dev/ce link_master 0
ndd -set /dev/ce adv_1000fdx_cap 0
ndd -set /dev/ce adv_1000hdx_cap 0
ndd -set /dev/ce adv_100fdx_cap 1
ndd -set /dev/ce adv_100hdx_cap 0
ndd -set /dev/ce adv_10fdx_cap 0
ndd -set /dev/ce adv_10hdx_cap 0
ndd -set /dev/ce adv_autoneg_cap 0
exit 0
# chmod 700 /etc/rc2.d/S99net-tune
确认配置参数:
hme, qfe and eri:
# ifconfig -a
ce:
# netstat -k ce0 | grep link_speed
link_speed 100 link_duplex 2 link_asmpause 0 link_pause 0
link_speed - speed in Mbps
link_duplex - 1 half duplex, 2 full duplex, 0 down
houji
回复于:2003-07-07 13:02:17
安装根启动文件(Installed Root Startup Files)
# vi /etc/profile
if [ “$LOGINNAME” = “root” ]; then
PATH=/usr/sbin:/usr/bin:/usr/local/bin:/usr/ucb
HISTFILE=/.sh_history
HISTSIZE=200
MANPATH=/usr/share/man:/usr/local/man:/opt/VRTSvmsa/man:/opt/VRTSvxvm/man
EDITOR=vi
PS1=”ROOT@`/usr/ucb/hostname`# “
ENV=/.kshrc
umask 077
export PATH HISTFILE HISTSIZE MANPATH EDITOR PS1 ENV
fi
TERM=vt100
export TERM
logger –p local0.info “User $LOGNAME has logged in”
trap 2 3
# touch /.profile
# chmod 700 /.profile
# vi /.kshrc (执行korn shell时使用,首先读/.profile)
HNAME=`uname –n`
PS1=”$HNAME ”’$PWD’”>;”;export PS1
set –o vi
set –o noclobber
alias rm=’rm –i’
stty ease ^h
# chmod 700 /.kshrc
生成手册数据库(Create the man Datebase)
# catman –w
修改后,命令man –k允许用户使用关键字查找命令。
houji
回复于:2003-07-07 14:17:48
生成E-mail别名
# vi /etc/aliases
# status sends to Administrator e-mail accounts
status: jsmith@domain.com,bsmith@domain.com
# monitor sends to Administrator e_mail accounts and cell phones
monitor:jsmith@domain.com,bsmith@domain.cm,6085551212@pagenet.net
# operations sends to the 24 hour operations staff
operations:operator@domain.com
# newaliases
/etc/mail.aliases: 6 aliases, longest 32 bytes, 170 bytes total
备注:确省时,本文档中的脚本将给status和 monitor邮件别名发通知。
给邮件服务器转发邮件
# vi /etc/mail/sendmail.cf
#DSmailhost.$m
DShostname.domain.com
使用邮件服务器的正式全名
生成Root用户的转发文件(create root’s .forward file)
# vi /.forward
status
所有的邮件将被转发到.forward文件指定的邮件账号,邮件服务器中不保留邮件。如果经中继转发给局域网邮件账号,在决定是否保留在服务器上前先通知管理员或用户。
产生主目录
#l ls –ld export
drwxrwxr-x 3 root sys 512 Aug 3 13:38 export/
# chmod 755 export
# cd /export
# mkdir home
# ls –ld /export/home
drwxr-x--- 4 root sys 52 Aug 3 13:39 export/home/
配置后允许sendmail使用用户的转发配置文件给局域网的用户发邮件。下面一节摘自sendmail的手册。
.forward 和:include:文件可以设置其他限制,同组和其他用户对这些文件和目录没有任何权限。
产生管理目录
# mkdir –p /var/adm/log/backup
# mkdir –p /var/adm/log/mon_perf
# mkdir –p /var/adm/log/perf_log
# mkdir –p /opt/admin/downloads
# mkdir –p /opt/admin/scripts/funcs
在/etc/shellsm文件中产生有效shell列表
# vi /etc/shells
/bin/sh
/bin/ksh
/bin/csh
/bin/bash
# chown root:other /etc/shells
# chmod 644 /etc/shells
如果某个用户的shell这个文件里没有列出,他就不能使用FTP,应确保可能使用的shell都包括在本文件中。
确保系统不会作为路由器
# touch /etc/notrouter
# chown root:sys /etc/notrouter
# chmod 444 /etc/notrouter
让系统定时执行
# su –sys
# EDITOR=vi; export EDITOR
# crontab –e
#(sys crontab 记录定时执行操作的,关于启动的详细信息请看cron performance手册)
0 * * * 0-6 /usr/lib/sa/sal
20,40 6-22 * * 1-5 /usr/lib/s/sal
5 18 * * 1-5 /usr/lib/sa/sa2 –s 8:00 –e 18:01 –I 1200 –A
禁止自动引导
# eeprom auto-boot?=false
当服务器加电引导时,会停在OK提示符下。
配置唯一网卡物理地址(MAC)
确省时solaris给所有的网卡指定同一个MAC地址,这样会潜藏故障隐患,(如地址冲突或
性能降低),使用以下命令避免隐患发生:
# eeprom local-mac-address\?=true
houji
回复于:2003-07-07 16:08:19
安全配置
安装SSH
Telnet和FTP明文传送用户的id和密码。这些敏感的信息会被探测到。SSH采用加密方式传送,有效地代替了Telnet和FTP。我仍推荐加强Telnet和FTP进行深程度的安全预防。
商用软件SSH: http://www.ssh.com
自由软件SSH: http://www.openssh.org
限制root用户通过控制台访问,限制su。
telnet:
# vi /etc/default/login
CONSOLE=/dev/donsole
确保CONSOLE条目没有被注释掉。为了增强访问管理的责任,root账号应不允许直接登录。这样配置强制以其他用户帐户登录再su成root,root依然可以在控制台直接访问。
SSH:
# vi /etc/sshd_config
PermitRootLogin no
#ps –ef | grep sshd
# kill –HUP ;
限制使用su命令
如此配置后,root用户访问会要求用户id、密码、用户属组、root密码4项。(group wheel不知怎么翻译)
生成wheel组
# groupadd wheel
为系统增加管理员
# useradd –c “john smith” –d /export/home/jsmith –m –u 1001 –g wheel –s /bin/ksh jsmith
提示:”-g” 从/etc/group决定默认的组(使用组ID或组名)
“-u” 必须是/etc/passwd里唯一的用户id
# passwd jsmith (设置用户的密码)
# passwd –f jsmith (强制用户修改密码)
# vi /export/home/jsmith/.forward (转发用户的邮件)
jsmith@domain.com
# chown jsmith:wheel /export/home/jsmith/.forward
改变su命令的属主
# cd /usr/bin
# ls –al su
-r-sr-xr-x 1 root sys 17976 Oct 6 1998 su
# /usr/bin/chgrp wheel su
# /usr/bin/chmod 4750 su
# ls –al su
-rwsr-x--- 1 root wheel 17976 Oct 6 1998 su
# cd /sbin
# ls –al su.static
-r-xr-xr-x 1 root sys 473808 Sep 1 1998 su.static
# /usr/bin/chgrp wheel su.static
# /usr/bin/chmod 4750 su.static
ls –al su.static
-rwsr-x--- 1 root wheel 473808 Sep 1 1998 su.static
*摘自 Lance Spitzer’s Armoring Solaris
指定密码策略
# vi /etc/default/passwd
Before:
MAXWEEKS=
MINWEEKS=
PASSLENGTH=6
After:
MAXWEEKS=8
MINWEEKS=1
PASSLENGTH=8
WARNWEEKS=1
Root和用户的密码使用3个月到期,到期时必须在控制台重新设置。为避免系统停工,root的密码应该于2个月后重设。
说明:
MAXWEEKS – 密码最大有效期限
MINWEEKS - 密码最小有效期,在期限内不能修改密码
PASSLENGTH – 密码的长度
WANWEEKS – 在密码到期前多长时间发出警告
配置在3次登陆失败后断开
# vi /etc/default/login
# Disconnect users after three login failures
RETRIES=3
(提示:solaris默认在5次连续的登陆失败后断开,工业标准是3次。)
#下面一条:系统日志记录登陆失败信息前允许几次失败登陆企图,使用syslog(3) #LOG_NOTICE工具,如果设为0,系统将记录每一次登陆失败企图
SYSLOG_FAILED_LOGINS=3
houji
回复于:2003-07-07 17:58:36
禁止使用rlogin命令
在/etc/pam.conf中注释掉以下行:
#rlogin auth sufficient /usr/lib/security/pam_rhosts_auth.so.1
#rlogin auth required /usr/lib/security/pam_unix.so.1
#rsh auth required /usr/lib/security/pam_rhosts_auth.so.1
这样配置强制用户在使用rlogin命令时使用用户的密码。
锁掉远程存取文件
# /usr/bin/touch /.rhosts /.netrc /etc/hosts.equiv
# /usr/bin/chmod 0 /.rhosts /.netrc /etc/hosts.equiv
*摘自Lance Spitzer’s Armoring Solaris
这些文件提供信任用户不需要密码就能进行远程访问。要么确保这些文件不存在,要么使用监控软件通知是否产生了这些文件。
删除或禁止不必要的用户帐户
# passwd –l adm
# passwd –l bin
# passwd –l daemon
# passwd –l listen
# passwd –l lp
# passwd –l nobody
# passwd –l noaccess
# passwd –l nuucp
# passwd –l sys
# passwd –l uucp
用户nobody4不再需要,删除掉。
# userdel nobody4
给禁止的用户指定一个无效的shell
# vi /sbin/noshell
#!/bin/sh
trap “” 1 2 3 4 5 6 7 8 9 10 12 15 19
HOSTNAME=`uname –n`
USER=`id | awk ‘{print \$1}’`
logger –i –p auth.err “Attempted access by $USER on host $HOSTNAME”
# the next variable can be set for multiple addresses
# (i.e. jsmith@yahoo.com,jsmith.hotmail.com)
MAILADD=monitor
mail MAILADD ;
注释掉包括telnet ftp的所有条目,用SSH 和scp替换。他们能提供更多的安全性。很多这些不必要的服务包括早期的可利用的安全漏洞。然而有些程序在/etc/inetd.conf的尾部增加了条目,如果没有他们不能提供相应的功能(例如 Solstice Disk Suite)。
houji
回复于:2003-07-07 18:50:18
禁止启动脚本
通常要禁止任何不必要的服务,这样做的目标是排除安全漏洞,在某种情况下可提高系统性能。确保在禁止某项服务前理解他的作用意图。下面列出典型要禁止的服务。在新版本的solaris中,有更多的需要考虑。
禁止卷管理
# cd /etc/rc2.d
# mv S92volmgt s92volmgt
配置后,CD-ROM不能自动加载,使用如下命令加载CD-ROM:
# mount –F hsfs –o ro /dev/dsk/c0t0d0s0 /mnt
禁止Dtlogin
如果服务器不想运行通用桌面环境(CDE)或GUI,禁止Dtlogin。
# cd /etc/rc2.d
# mv S00dtlogin s99dtlogin
禁止打印服务
# /usr/lib/lpshut
# cd /etc/rc2.d
# mv S80lp s80lp
禁止RPC
如果服务器不需要运行CDE禁止RPC,用”rpcinfo -p”命令察看什么在使用rcp。
# cd /etc/rc2.d
# mv /etc/rc2.d/S71rpc /etc/rc2.d/s71rpc
禁止NFS客户
# /etc/init.d/nfs.client stop
# cd /etc/rc2.d
# mv S73nfs.client s73nfs.client
禁止NFS服务器
# /etc/init.d/nfs.server stop
# cd /etc/rc3.d
# mv S15nfs.server s15nfs.server
禁止UUCP
# cd /etc/rd2.d
# mv S70uucp s70uucp
禁止LDAP客户
# cd /etc/rc2.d
mv S71ldap.client s71ldap.client
禁止自动加载
# /etc/init.d/autonfs stop
# cd /etc/rc2.d
# mv S74autonfs s74autonfs
禁止网络时间同步
# /etc/init.d/xntpd stop
# cd /etc/rc2.d
mv S74xntpd s74xntpd
禁止逻辑链接控制驱动
# cd e/tc/rc2.d
# ./S40llc2 stop
mv S40llc2 s40llc2
禁止自动安装
# cd /etc/rc2.d
# mv S72autoinstall s72autoinstall
禁止缓冲文件系统
# cd /etc/rc2.d
# mv S73cachefs.daemon s73cachefs.daemon
禁止异步PPP
# cd /etc/rc2.d
mv S47pppd s47pppd
houji
回复于:2003-07-08 09:02:52
禁止cacheos.finish脚本
# cd /etc/rc2.d
# mv S93cacheos.finish s93cacheos.finish
禁止保存被vi删掉的文件
# cd /etc/rc2.d
# mv S80PRESERVE s80PRESERVE
禁止电源管理
# cd /etc/rc2.d
# mv S85power s85power
禁止Flash Prom更新
# cd /etc/rc2.d
# mv S75flashprom s75flashjprom
在试图更新eeprom前,暂时允许这个脚本
禁止Buttons n Dials-Setup
# cd /etc/rc2.d
# mv S89bdconfig s89bdconfig
禁止Spc
# cd /etc/rc2.d
# mv S80spc s80spc
禁止sun管理中心
# cd /etc/rc2.d
# mv S90wbem s90wbem
禁止网络缓冲和加速
# cd /etc/rc2.d
# mv S94ncalogd s94ncalogd
# mv S95ncad s95ncad
用来增强web 服务器性能
禁止可移动IP代理
# cd /etc/rc3.d
# mv S80mipagent s80mipagent
禁止SNMP
# cd /etc/rc3.d
# /usr/bin/pkill –9 –x –u 0 ‘(snmpdx | snmpv2d | mibiisa)’
# mv S76snmpdx s76snmpdx
禁止Apache
# cd /etc/rc3.d
# mv S50apache s50apache
禁止DMI
# cd /etc/rc3.d
# /usr/bin/pkill –9 –x –u 0 ‘(snmpXdmid |dmispd)’
# mv S77dmi s77dmi
禁止Sendmail后台进程
系统连续发出邮件,服务器不收回邮件,这样排除明显的安全漏洞
#/etc/init.d/sendmail stop
防止系统引导时启动sendmail
# cd /etc/rc3.d
# mv S88sendmail s88sendmail
确保sendmail队列清理干净:
# crontab –e
# sendmail后台进程没有运行,这使他发出邮件
05,20,35,50 * * * * /usr/lib/sendmail –q
禁止多播
多播典型地用在集群中,确保在应用不是必需的。
# vi /etc/init.d/inetsvc
#
#为从默认接口发出的多播包增加一条静态路由。这个默认接口是相应节点名的接口。
#mcastif=`/sbin/dhcpinfo Yiaddr`
# if [$? –ne 0 ];then
# mcastif=`uname –n`
# fi
# each “Setting default interface for multicast: \c”
# /usr/sbin/route add –interface –netmask “240.0.0.0” “224.0.0.0” “$mcastif”
禁止串口侦听
除非有调制解调器或控制终端连到系统,这个配置不能完成。
# vi /etc/inittab
删掉有“/usr/lib/saf/sac –t 300”的行
# chown root:sys /etc/inittab
# chmod 644 /etc/inittab
增加警告banner
这些配置在登陆时用警告条幅替换操作系统版本信息。
Login:
# vi /etc/motd (用警告条幅替换操作系统版本信息)
property of company
警告:为了防止未授权的使用系统,保证系统的性能正确,系统上的活动被监视、记录,并对项目进行审计。系统的使用表示同意监视和记录,任何未授权的访问和使用该系统会被禁止,并成为犯罪或受到民事处罚。
# cp /etc/motd /etc/issue
telnet:
# vi /etc/default/telnetd
UMASK=022
BANNER=””
# chmod 444 /etc/default/telnetd
FTP:
# vi /etc/default/ftpd
UMASK=022
BANNER=`cat /etc/motd`
# chown root:sys /etc/default/ftpd
# chmod 444 /etc/default/ftpd
在/etc/default/login定义PATH SUPATH UMASK
# vi /etc/default/login
PATH=/usr/sbin:/usr/bin
SUPATH=/usr/sbin:/usr/bin
UMASK=027
用默认的Umask禁止世界访问
给下列文件增加“umask 027”
/etc/profile(change)
/etc/.login(add)
/etc/skel/local.profile(add)
/etc/skel/local.login (add)
/etc/skel/local.cshrc (change)
确保没有预备的用户id 0账号存在
# more /etc/passwd
确保在/etc/passwd文件中的第三个字段中root 是唯一的UID为0的账号。UID 0备识别为操作系统的根的账户。任何预备的用户id为0 的账户会使用/usr/sbin/noshell作为登录shell。
确保所有用户都由密码。
# login –p
用login –p 命令检查不需要密码就能登录系统的账户。
限制使用at和 crontab命令。
这些访问应该以需要出发点。
确定谁有crontab文件
# ls /var/spool/cron/crontabs
限制使用at和 crontab,只有在这些文件列出的用户才允许使用at和 crontab,root用户启动,增加sys用户进行日志记录、lp用户进行大银队列管理。
# vi /etc/cron.d/cron.allow
# chmod 600 /etc/cron.d/cron.allow
# cp –p /etc/cron.d/cron.allow /etc/cron.d/at.allow
生成/etc/cron.d/cron.deny文件,这个文件中列出的用户不允许使用at和 crontab。
# cat /etc/passwd | cut –f1 –d: | grep –v root >;>;/etc/cron.d/cron.deny
# chmod 600 /etc/cron.d/cron.deny
生成/etc/cron.d/at.deny文件
# cp –p /etc/cron.d/cron.deny /etc/cron.d/at.deny
复制系统日志到监视控制台
复制系统日志到主要系统使入侵者很难完全隐藏踪迹。当在本地产生系统日志时,马上复制到中央系统日志服务器。每天察看集中日志也是一个有效的检测系统异常的方法(如硬件失败、软件错误)。
# /etc/init.d/syslog stop
# vi /etc/hosts
修改前:
192.168.1.101 sunsrv01.domain.com sunsrvo1 loghost
修改后:
192.168.1.101 sunsrv01.domain.com sunsrv01
192.168.1.102 sunsrv02 loghost
# cp /etc/syslog.conf /etc/syslog.conf.orig
# vi .etc/syslog.conf
# next 2 lines added for syslog replication
*.err;kern.notice;auth.notice;user.none @loghost
*.err;kern.debug;daemon.notice;mail.crit;user.none @loghost
提示:每一项必须用制表符分割开。
# /etc/init.d/syslog start
给系统控制台转发根访问企图
# vi /etc/default/su
CONSOLE=/dev/console (uncommented)
允许记录使用su命令的日志
这个配置记录使用su命令的成功和失败的日志。
提示:当root用户的登录通知脚本中这个配置是必需的。
# vi /etc/default/su
SULOG=/var/adm/sulog (uncommented)
# cd /var/adm
# touch sulog
# chgrp sys sulog
# chmod 600 sulog
houji
回复于:2003-07-08 15:53:16
允许记录AUTH日志
auth工具控制账户对login、su等命令的使用。
# vi /etc/syslog.conf
auth.info /var/log/authlog
auth.notice /var/log/authlog
允许日志记录不成功的登录企图
日志文件记录连续的登录失败企图
# cd /var/adm
# touch loginlog
# chgrp sys loginlog
# shmod 600 loginlog
允许日志记录成功的登录
# cd /var/log
# touch logins
# chgrp sys logins
# chmod 600 logins
# vi /etc/syslog.conf
# log successful logins
local0.info /var/log/logins
提示:每个条目比须用制表符隔开。
# /etc/init.d/syslog stop
# /etc/init.d/syslog start
给/etc/profile和 /etc/.login文件增加以下项目:
logger –p local0.info “User $LOGNAME has logged in”
允许日志记录CDE登录企图
# vi /etc/pam.conf
在每个账号管理项后面加“debug”字
# Account management
login account required /usr/lib/security/$ISA/pam unix.so.1 debug
dtlogin account required /usr/lib/security/$ISA/pam_unix.so.1 debug
# vi /etc/syslog.conf
在记录成功登录的行里添加”;auth.debug;user.debug ”。
local0.info;auth.debug;user.debug /var/log/logins
注意:项目必须用制表符隔开。
# /etc/init.d/syslog stop
# /etc/init.d/syslog start
日志记录TCP服务的引入连接。
# vi /etc/syslog.conf
# log incoming connections for TCP Services
daemon.notice
注意:项目必须用制表符隔开。
# /etc/init.d/syslog stop
# /etc/init.d/syslog start
# vi /etc/rc2.d/S72inetsvc
(改变一下项目)
/usr/sbin/inetd -s
读去:)
/usr/sbin/inetd –s –t
允许审计
Solaris为用户进行的审计活动提供基本安全模块(BSM),使用时会产生相关少量的性能损失。BSM提供公开的依据,更详细的信息,请查阅sun的BSM资料。(http://www.sun.com/solutions/blueprints/0201/audit_config.pdf)。
允许BSM
# /etc/security/bsmconv
注意:bsmconv脚本给/etc/system文件末尾增加”set abort_enable = 0”,禁止STOP-A功能。典型地删除这条后重起机器。
# /usr/sbin/shutdown –i6 –g0 –y
配置日志事件的类型
# vi /etc/security/audit_control
dir:/var/audit
flags:lo,ad,pc,fc,fd,fm
naflags:lo,ad
# lo – login/logout events
# ad – administrative actions:mount,exportfs,etc.
# pc – process operations:fork,exec,exit,etc.
# fc – file creation
# fd – file deletion
# fm – change of object attributes:chmod,flock,etc.
审计root进行所有活动
# vi /etc/security/audit_user
# log all of the commands that the root user runs
root:lo,ex:
安装日志循环脚本
# touch /etc/security/newauditlog.sh
# chmod 700 /etc/security/newauditlog.sh
# mkdir –p /var/audit/logs
# vi /etc/security/newauditlog.sh
#!/bin/ksh
PATH=/usr/sbin:/usr/bin
AUDIT_EXPIRE=30
AUDIT_DIR=/var/audit
LOG_DIR=/var/audit/logs
# Rotate the audit log (循环使用审计日志)
/usr/sbin/audit –n
#移动文件到压缩目录并压缩
for i in `/usr/bin/ls $AUDIT_DIR | grep –v not_terminated | grep –v logs`
do
compress $AUDIT_DIR/$i
mv $AUDIT_DIR/$i.z $LOG_DIR/$i.z
done
# 删除旧日志文件
cd $LOG_DIR #也可能是连接
/usr/bin/find . $LOG_DIR –type f –mtime +$AUDIT_EXPIRE –exec rm {} >; /dev/null 2>;&1 \;
# 确保日志文件不超过250MB
# 下一个变量可能设为多个地址(如 jsmith@yahoo.com,jsmith@hotmail.com)
MAILADD=status
#日志文件的最大容量,达到该值会删掉
MAXSIZE=250000
LOGDU=`du –sk $LOG_DIR | awk ‘{ print $1}`
if [ “$LOG_DU” –gt “$MAXSIZE” ]; then
find $LOG_DIR –mtime +21 –exec rm {} \;
mail $MAILADD
houji
回复于:2003-07-08 23:26:32
每夜从cron运行脚本
# EDITOR=vi ;export EDITOR
# crontab –e
0 0 * * * /etc/security/newauditlog.sh
注意:用praudit命令把审计数据成ASCII格式。
# cd /var/audit
# praudit logfile
*摘自Solaris安全指南
安装监控脚本
root登录通知脚本
目的:监控通过su命令或者直接在控制台的root登录,用email通知。
隶属:/var/adm/sulog
/etc/aliases –status (e-mail addresses of administrators)
# vi /opt/admin/scripts/rtlgn.sh
#!/bin/ksh
PATH=/usr/sbin:/usr/bin:/usr/ucb:/bin
SRVNM=`uname –n`
DATE=`date ‘+%m/%d’`
DAY=`date ‘+%d’`
HOUR=`date ‘+%H’`
MONTH=`date ‘+%m’`
MIN=`date ‘+%M’`
LOGDIR=/var/adm/log/rtlgn
DATFILE=$LOGDIR/rtlgn.dat
if [ ! –d $LOGDIR ] ; then
mkdir –p $LOGDIR
touch $DATFILE
fi
# 每天清空日志文件
if [ $HOUR –eq “00” ]; then
if [ $MIN –lt “15” ]; then
>;$DATFILE
fi
fi
# 下一个变量可能设为多个地址(如 jsmith@yahoo.com,jsmith@hotmail.com)
MAILADD=monitor
# 检查远程的root用户登录,(不应该发生远程登录)
# 检查最近root控制台登陆 决定现在是否法通知
if [ `grep –c “$DATE $HOUR CONSOLE” $DATFILE` -eq 0 ]
then
if [ `last root console | grep –c “$MONTH $DAY $HOUR” ` -gt 0 ]; then
mail $MAILADD ;>; $DATFILE
fi
fi
#检查最近su成root
#确定这个小时通知是否发出
if [ `grep –c “$DATE $HOUR SU” $DATFILE ` -lt 1 ]
then
if [ `grep “$DATE $HOUR” /var/adm/sulog |grep –v root- |grep root |grep –c “+” ` -gt 0 ]
then
mail $MAILADD ;>; $DATFILE
fi
fi
exit 0
# chmod 700 /opt/admin/scripts/rtlgn.sh
系统引导通知脚本(S99notify)
目的:当服务器启动时发出通知。
隶属:无
/etc/aliases – monitor (管理员的邮件和寻呼机)
# vi /etc/rc2.d/S99notify
#!/bin/ksh
PATH=/usr/sbin:/usr/bin
SRVNM=`uname –n`
# 下面的变量能够设多个邮件地址
MAILADD=monitor
Mail $MAILADD ;>; $WRKFILE
#通知用户
while read –r MB NAME
do
if [ “$MB” –gt “102400” ] ; then
#通知root 用户
print “Mailing Disk Usage reminders out to:\n”
print “$NAME \t$MB KB\n”
if [ -f $HOMEDIR/$NAME/.forward ]; then
MAILADD=`cat $HOMEDIR/$NAME/.forward`
else
MAILADD=$NAME
fi
mail $MAILADD ;>; $DATFILE
# cat iostat.dat | awk {‘ print $2’}
while read –r
do
if [ “$REPLY” –gt “3” ]; then
mail $MAILADD
houji
回复于:2003-07-09 10:45:29
Veritas Cluster失败通知脚本(resfault)
# vi /opt/VRTSvcs/bin/triggers/resfault
#!/bin/ksh
PATH=/usr/sbin:/usr/bin
DATE=”`date`”
MAILADD=monitor
Mail $MAILADD ;: \n”
ps –ef |grep [-]start
print “\n”
fi
if [ -d $LDAP_DIR ]; then
print “\nIs LDAP up?: \n”
ps –ef | grep [n]s-slapd
print “\n”
fi
if [ -d $SM_DIR ] ; then
print “\nIs StieMinder up?: \n”
ps –ef | grep mservauth
print “\n”
fi
if [ -f $ORA_TAB ] ; then
print “\nAre the oracle Database up?: \n”
ps –ef | grep [o]ra_
print “\nAre the Oracle Instances up?: \n”
ps –ef | grep –i [l]istener
ps –ef | grep [o]rasrv
print “\n”
fi
if [ -d $SYB_DIR1 –o –d $SYB_DIR2 ] ; then
print “\nAre the Sybase Database up?: \n”
ps –ef | grep [d]ataserver
pa –ef | grep cakupserver
print “\n”
fi
#print “\nChecking Print Queus: \n”
#lpstat –o
# print “\nChecking Printer Status: \n”
#lpstat –t
print ‘\nWho has Switched Users?: \n\n’
tail -30 /var/admin/sulog
print ‘\n\nWho is Currrently Logged on?: \n\n’
who –a | head -20
print ‘\n\nNetwork Status: \n’
print “netstat –i: \n”
netstat –i
print “\nifconfig –a: \n”
ifconfig –a
print “\nnetstat –rn : “
netstat –rn
print ‘\n\nChecking Mail Queue:\n\n’
mailq
print “\n”
#调用配置脚本
if [ -x $HWCONF ]; then
$HWCONF
fi
print ‘\nProcesses Currently Running (ps –ef): \n\n’
ps –ef
print ‘\n\nSYSTEM STATUS COMPLETE\n\n’
#End system_staus function
}
if [ -z “$1” ]; then
system_status
else
mail $1
houji
回复于:2003-07-09 13:05:45
硬件审计脚本
# vi /opt/admin/scripts/hrdwspecs.sh
#!/bin/ksh
PATH=/usr/sbin:/usr/bin
DATE=`date ‘+%m-%d-%y%n’`
SVRNM=`uname –n`
# 确保在退出前把临时文件清理干净
trap ‘/bin/rm –fr $tmp; exit ‘ 0 1 2 3 15
WRKFILE=/tmp/prog$$
Df –k >;>; $WRKFILE
#删除第一行和交换项
{
vi $WRKFILE ; /dev/null
# 如果加载了CD-ROM,把这条也删掉
CDR=`cat $WRKFILE | grep –c cdrom`
If [ “$CDR” –gt “0” ] ; then
{
vi $WRKFILE ; /dev/null
fi
integer KTOTL=0
integer kUSED=0
integer KAVAIL=0
while read –r FS TOTL USED AVAIL CAP MNT
do
if [ “$TOTL” –gt “0” ] ; then
((KTOTL = KTOTL + TOTL))
fi
if [ “$USED” –gt “0” ] ; then
((KUSED = KUSED + USED))
fi
if [ “$AVAIL” –gt “0” ] ; then
((KAVAIL = KAVAIL + AVAIL))
fi
#把KB换成 GB
((GTOTL = KTOTL / 1048576))
((GUSED = KUSED / 1048576))
((GAVAIL = GTOTL – GUSED))
echo “ “
echo “$SVRNM Total Disk Space Usage:”
echo “ “
echo “GB USED AVAIL”
echo “----------------------------------------------------------------------------“
echo “GTOTL $GUSED $GAVAIL”
echo “ “
echo “ “
echo “$SVRNM CPU Specifications:”
echo “ “
/usr/platform/’arch –k’ /sbin/prtdiag | grep Configuration | awk {‘print $9,$10,$11,$12’}
echo “ “
echo “ “
echo “$SVRNM Memeory Specifications:”
echo “ ”
/usr/platform/’arch –k’ /sbin/prtdiag | grep ‘Memory size’ | awk {‘print $3,$4’}
echo “ “
echo “ “
rm $WRKFILE
exit 0
# chomod 700 /opt/admin/scripts/hrdwspecs.sh
性能日志脚本(perf_log.sh)
目的:把查看性能的命令写入日志文件,使用vmstat iostat netstat等。
使用:周一到周五上午9点到下午5点每5分钟从crontab里执行一次。
警告:在输出目录里超过14天的任何文件都被删除,如果输出目录的大小超过50MB,会删除超过7天的文件并发邮件通知。使用本脚本前确保加载的/var文件系统是单独的。
隶属:/etc/aliases – status(管理员的邮件地址)
输出:/var/adm/log/perf_log/files
# vi /opt/admin/scripts/perf_log.sh
#!/bin/ksh
PATH=/usr/sbin:/usr/bin:.
DATESUFFIX=`date ‘+%m-%d-%y%n’`
# 存放日志文件的目录
OUTPUTDIR=/var/adm/log/perg_log
#放脚本的目录
ADMINDIR=/var/admin/scripts
MAXSIZ=51200
If [ ! –d $OUTPUTDIR ] ; then
mkdir –p $OUTPUTDIR
fi
MAILADD=status
#vmstat
date >;>; $OUTPUTDIR/vmstat.$DATESUFFIX
# 自重启动后的vmstat的第一行
vmstat 1 2 | tail –l >;>; $OUTPUTDIR/vmstat.$DATESUFFIX
#iostat
date >;>; $OUTPUTDIR/iostat.$DATASUFFIX
iostat –xtnc >;>; $OUTPUTDIR/iostat.$DATESUFFIX
#netstat
date >;>; $OUTPUTDIR/netstat.$DATESUFFIX
netstat –i >;>; $OUTPUTDIR/netstat.$DATESUFFIX
#process Data
date >;>; $OUTPUTDIR/ps.$DATESUFFIX
/usr/bin/ps –el –o pcpu,pmem,pname,rss,vsz,pid,stime >;>;$OUTPUTDIR/ps.$DATESUFFIX
date >;>; $OUTPUTDIR/ucbps.$DATESUFFIX
/usr/ucb/ps –aux >;>; $OUTPUTDIR/ucbps.$DATESUFFIX
# Kernel Data
date >;>; $OUTPUTDIR/kmastat.$DATESUFFIX
echo kmstat | crash >;>; $OUTPUTDIR/kmastat.$DATESUFFIX
date >;>; $OUTPUTDIR/kernelmap.$DATESUFFIX
echo “map kerenelmap” | crash >;>; $OUTPUTDIR/kernelmap.$DATESUFFIX
#CPU Data
date >;>; $OUTPUTDIR/mpstat.$DATESUFFIX
mpstat >;>; $OUTPUTDIR/mpstat.$DATESUFFIX
#swap
date >;>; $OUTPUTDIR/swap.$DATESUFFIX
swap –l >;>; $OUTPUTDIR/swap.$DATESUFFIX 2 >; /dev/null
#/tmp(运行时不包括在交换空间内)
# date >;>; $OUTPUTDIR/tmp_du.$DATESUFFIX
# du –sk /tmp >;>; $OUTPUTDIR/tmp_du.$DATESUFFIX
# date >;>; $OUTPUTDIR/tmp_ls.$DATESUFFIX
# ls –lt /tmp >;>; $OUTPUTDIR/tmp_ls.$DATESUFFIX
#压缩日志文件
for i in `find $OUTPUTDIR –mtime +1 –exec ls {} \; | grep –v .Z`
do
compress $i
done
#删除所有的超过14天的查看性能的日志文件
find $OUTPUTDIR –mtime +14 –exec rm {} \;
#确保日志文件不超过50MB
LOGDU=`du –sk $OUTPUTDIR | awk ‘{ print $1 }`
if [ “$LOGDU” –gt “$MAXSIZ” ]; then
find $OUTPUTDIR –mtime +7 –exec rm {} \;
mail $MAILADD
houji
回复于:2003-07-09 15:55:45
日志集中脚本
# vi /opt/admin/scripts/web_pull.sh
#!/bin/ksh
# Solaris Web log pull script
# 目的:使用FTP和SCP下载的服务器的日志文件,超过1天的被压缩循环使用,如果出##现错误发邮件。
# 使用:每天从crontab执行
# 依赖:无
# 输出:日志文件、邮件
PATH=/usr/sbin:/usr/bin:/usr/local/bin
# Webtrends 目录
# 有服务器命名日志文件
LOGDIR=/weblogs/sitel
#存档目录
ARCHDIR=/webarch/sitel
DATE=`date ‘+%m-%d-%y%n’`
UMASK=033
HOSTNAME=`uname –n`
MAILADD=status
#处理旧的日志
#已经存在的日志文件转移到存档目录
for i in `/usr/bin/ls $LOGDIR`
do
gzip $LOGDIR/$i
mv $LOGDIR/$i.gz $ARCHDIR/$i.gz
done
# 下载当天的日志文件
scp “admin@logsrv1.domain.com#22:/weblog/access.logsrv1” $LOGDIR
if [ $? –gt 0 ] ; then
mail $MAILADD ;>; $LOGFILE
#在磁盘组上备份卷管理配置
vxprint –g rootdg –vpshm >; /var/adm/log/backup/rootdg.conf
#注意:用以下名里命令恢复磁盘组配置
# “vxmake –g ; -d filename”
exit 0
# chmod 700 /opt/admin/scripts/vmconfig.sh
安装安全审计脚本(sec_audit.sh)
从http://www.cisecurity.org 下载并安装 CIS Solaris Benchmark Tool
# pkgadd –d CISscan
# vi /opt/admin/scripts/sec_audit.sh
#!/bin/ksh
# Solaris 2.x安全审计脚本
# 目的:每月对服务器进行安全审计
#依赖:/opt/CIS/cis_scan
# CIS Solaris Benchmark Tool
# http://www.cisecurity.org
#使用:每月在命令行或从crontab执行
#输出:日志文件,给操作组发邮件。
PATH=/usr/sbin:/usr/bin:/usr/local/bin
MAILADD=status
HOSTNAME=`uname –n`
LOGDIR=/var/adm/log/cis-tool
#确认日志的存放目录存在
if [ ! –d $LOGDIR ] ; then
mkdir –p $LOGDIR
chmod 700 $LOGDIR
fi
DAY=`date ‘+%D`
MONTH=`date ‘+%m’`
YEAR=`date ‘+%Y’`
DATE=$YEAR$MONTH$DAY
#运行CIS工具包
/opt/CIS/cis-scan >; /dev/null
# 移走日志文件
mv /opt/CIS/cis-ruler-log* $LOGDIR
#删除超过35天的任何性能日志文件
find $LOGDIR –mtime +35 –exec rm {} \;
function security_audit
{
print “\nAudit Taken at: “`data`
print ‘\n\nWho has Switched Users?:\n\n’
tail -100 /var/adm/sulog
print ‘\n\nWho Last Logged into the System?:\n\n’
last | head -100
print ‘\n\nWho is Currently Logged on?:\n\n’
who –a | head -20
print “\n\nThis section contains the findings of a vulnerability assessment conducted”
print “by the CIS Solaris Benchmark and Scoring/Scanning Tool(http://www.cisecurity.org).\n”
egrep “^Negaive” $LOGDIR/cis-ruler-log.$DATE-*
print ‘\n\nProcesses Currently Running:\n\n’
ps –ef
print ‘\n\nSECURITY AUDIT COMPLETE\n\n’
#End security_audit function
}
#发送结果
if [ -z “$1” ] ; then
security_audit
else
mail $1
houji
回复于:2003-07-09 18:59:31
给crontab增加监视/日志脚本
# crontab –e
#sendmail后台进程没有运行,告诉他工作发出邮件
05,,20,35,50 * * * * /usr/lib/senmail -q
#监视脚本
22,52 * * * * /opt/admin/scripts/mon_fs.sh >; /dev/null
12,42 7-18 * * * /opt/admin/scripts/mo_procs.sh >; /dev/null
13,43 7-18 * * 1-5 /opt/admin/scripts/mon_perf.sh >; /dev/null
17,47 * * * * /opt/admin/scripts/mon_srv.sh >; /dev/null
05 21 * * * /opt/admin/scripts/maildu.sh
14,29,44,59 * * * * /opt/admin/scripts/rtlgn.sh >; /dev/null
01 8 * * 1-5 /usr/local/etc/logcheck.sh >; /dev/null
#报告脚本
36 7 * * 1-5 /opt/admin/scripts/status.sh status >; /dev/null
01 7 2 * * /opt/admin/scripts/sec_audit.sh status
#日志记录脚本
0 0 * * * /etc/security/newauditlog.sh
0 21 * * * /opt/admin/scripts/vmconfig.sh 1>;/dev/null 2>;/dev/null
01,06,11,16,17,21,26,31,36,41,46,51,56 9-17 * * 1-5 /opt/admin/scripts/perf_log.sh
#生成应用启动脚本
在/opt/admin/scripts目录里生成fullup.sh 和fulldown.sh脚本启动和停止服务器上的所有应用,一旦运行fulldown.sh服务器会立即停止、重新启动。这样保证软件以正确的顺序适当的时间依赖被关闭。从/etc/rc3.d和/etcrc0.d目录连接。
重新引导系统
修改配置后需要重新启动系统配置才有效。
# /usr/sbin/shutdown –i6 –g0 –y
安装备份代理从一个备份中恢复文件系统
额外考虑
Solaris健壮性工具
Solaris健庄性工具包
从http://wwws.sun.com/software/security/iass获取
Titan安全脚本
从http://www.fish.con/titan获取Titan按全脚本
YASSIP安全脚本
从http://www.yassp.org获取
修正模式(Fix Modes)
修正模式增强Solaris的确省许可。在打补丁或安装应用软件后重新运行。
可从http://wwws.sun.com/blueprints/tools/FixModes_license.html获取
TCP Wrappers
TCP绑定用IP地址限制到网络服务的连接,并且记录所有的访问企图。
可从http://www.sunfreeware.com获得
也可从http://rr.sans.org/unix/TCP_wrappers2.php获得
Tripwire
Tripwire是用于侵检测的文件完整性检查工具,可以考虑用他来探查二进制文件、配置文件、web页面文件的改变。推荐使用商业版本。
商业版:http://www.tripwire.com
自由软件:http://www.tripwire.com/products/tripwire_asr
实验文章:http://www.cert.org/security-improvement/implementations/i002.02.html
chkrootkit
从其网站上引用,“chkrootkit是检查rootkit迹象的本地检查工具”。类似病毒检查工具他是已知的开发出的可用的唯一root工具包,每天从cron运行chkrootkit。
我推荐把脚本名改为一个不直观的名字。一旦入侵者获得root权限,就可以查看cron内容并从中禁止该脚本。
http://www.chkrookit.org
http://rr.sans.org/malicious/chkrootkit.php
Solaris基于角色的访问控制
Solaris RBAC允许系统管理员授权用户访问系统,并且记录访问日志。
http://wwws.sun.com/software/whitepapers/wp-rbac
http://www.samaq.com/documents/s=7667/sam0213c/0213c.html
Solaris IP多路径
为了高可用性,考虑设置Solaris IP多路径,使用独立的交换机。多路径保证在一个网卡故障时不停止工作。至少需要2块网卡,每块有2个IP地址(共4个)其实质是故障导致有缺陷的接口停止第一块网卡,启动第二块网卡。作为添加的措施,同样包括了负载均衡。
Solaris 8 2/02 IP网络多路径管理指南
http://docs.sun.com/?q=IP+Network+Multipathing+&p=/doc/816-0850
远程系统控制卡
为了进行远程控制台访问和硬件失败通知,设立了RSC卡。通过telnet或RSC图形客户端系统管理员可以远程对服务器控制台进行访问。同样在本地可通过RSC串口访问控制台。当服务器关闭电源后RSC没有休眠。仅在最新的Sun服务器(如250、280、480、880等)上安装了RSC卡。有多个RSC卡的话可以使用交换机。他们还较少使用,因为交换机的众多端口的费用会很快地增加。
注意:RSC卡工作在10MB半双工下,确认交换机没有工作在100MB全双工下。
Sun远程系统控制(RSC)安装指南
http://docs.sun.com./?q=rsc&p=/doc/816-3886-10
Sun远程系统控制(RSC)用户指南
http://docs.sun.com./?q=rsc&p=/doc/816-3314-10
Sun Fire V480 服务器管理指南
http://docs.sun.com./?q=480&p=/doc/816-0904-10
Solaris Fingerprint数据库
Solaris Fingerprint数据库包括原始Solaris文件的MD5加密签名。他与数据库比较系统的二进制文件、补丁、各个产品的差异并通知。
http://www.sun.com/solutions/blueprints/0501/Fingerprint.pdf
The Coroners Toolkit
从其网站引用,“TCT是Dan Farmer和Wietse Venema写的UNIX系统遭入侵后分析的程序集合”。
http://www.procupin.org/forensics/tct.html
http://rr.sans.org/incident/TCT.php
增强应用软件的健壮性
不要忽视增强应用软件的健壮性,最基本的措施包括:禁止不必要的服务,删除掉缺省的应用,更改缺省的拥护ID和口令。加强许可限制,日志记录的配置,在互联网上查找每个应用的特定健壮性的配置。
打补丁
所有的系统应该打最近6个月内的补丁。在开发环境打补丁后保留物理环境(如UAT),Sun提供补丁检测报告当前可用的补丁有那些你已经安装了(http://wunsolve.sun.com/pub-cgi/show.pl?target=patchk)。每次使用这个工具时应当下载当前的patchdiag.xref文件,他包含了当前的补丁列表。补丁检测最终要被补丁管理器代替(http://www.sun.com/service/support/sw_only/patchmanagement.html)。
监控
远程监视系统的可用性。需要考虑包括主机和网络监视、漏洞评估、入侵检测、远程url和应用监视(如应用登录、连接池、数据库)。
系统操作指南
产生OPS指南以提供系统的连续性,至少应该包括如下细节:(1)停止、启动系统和应用。(2)应用管理。(3)更换坏的硬件。(4)从备份中恢复系统。
houji
回复于:2003-07-10 10:48:23
参考
Solaris防护
http://www.enteract.com/~lspitz/armoring.html
Solaris服务器安全—备选方法
http://www.usenix.org/sage/sysadmins/solaris/index.html
Solaris安全
http://www.securityfocus.com/focus/sun/articles/securing.html
Solaris性能增强
http://www.boran.com/security/sp/Solaris_hardening.html
Solaris安全指南
http://www.sabernet.net/papers/Solaris.html
Sun Solaris安全问答
http://www.itworld.com/Comp/2377/security-faq
修理Soaris
http://fixsolaris.sunhelp.org/fixsolaris.txt
Solaris 8系统管理全集
http://docs.sun.com/db/coll/47.11
Sun产品文档
http://docs.cun.com
Sunsolve在线
http://sunsolve.sun.com/pub-cgi/show.pl?target=home
翻译结束,由于水平有限,里边有许多错误的地方,请斑竹和各位指正。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/24754/showart_379927.html |
|