当前位置: 首页 > 图文教程 > 服务器 > 安全防护 > Solaris系统安全加固列表(2)

安全防护
Apache服务器的保护 (一)
Apache服务器的保护 (三)
安装Win2003 Server下的Snort
使用反向代理技术保护Web服务器
ASP漏洞全接触-入门篇
ASP漏洞全接触-进阶篇
数据库服务器的安全
Windows2000安全检查清单-高级篇(1)
Windows2000安全检查清单-高级篇(2)
Windows2000安全检查清单-高级篇(3)
读取带有安全设置NTFS卷中的文件
构建Windows 2000服务器的安全防护林(1)
构建Windows 2000服务器的安全防护林(2)
构建Windows 2000服务器的安全防护林(3)
构建Windows 2000服务器的安全防护林(4)
修改注册表加强Win2000安全
Windows Server 2003全接触(1)
Windows Server 2003全接触(2)
Windows Server 2003全接触(3)
被入侵系统的恢复指南(1)

安全防护 中的 Solaris系统安全加固列表(2)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-29   浏览: 41 ::
收藏到网摘: n/a

四、系统加固
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、取消不必须账号
移去或者锁定那些不是必须的帐号,比如sys\uucp\nuucp\listen等等,简单的办法是在/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(源路)由无效(假如有超过一个网络接口的话)