首页 > 学院 > 基础常识 > 正文

Solaris系统安全加固列表(2)

2020-03-01 06:01:35
字体:
来源:转载
供稿:网友

四、系统加固

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、取消不必须账号

移去或者锁定那些不是必须的帐号,比如sysuucp uucplisten等等,简单的办法是在/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(源路)由无效(假如有超过一个网络接口的话)。在/etc/init.d/inetinit中增加下面所示设置:

ndd -set /dev/ip ip_forward_directed_broadcasts 0

ndd -set /dev/ip ip_forward_src_routed 0

ndd -set /dev/ip ip_forwarding 0

13、防止TCP序列号预测攻击(ip欺骗)

建议在/etc/default/inetinit中增加如下的生成初始化序列号设置来防止TCP序列号预测攻击(ip欺骗):TCP_STRONG_ISS=2

14、(如果有ftp服务)不要使用匿名ftp

/etc/inet/inetd.conf中的ftpd为(记录)

ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd –dl

决不能用root身份使用ftp(口令不加密)

/etc/ftpusers中的增加超级用户(这里的账号禁止用ftp连接系统)

FTP 服务暴露系统敏感信息

编辑/etc/default/ftpd文件,假如文件不存在就新建一个,在文件中的加进以下一项:BANNER=XXXX(XXXX可以任意改变为任何一个版本信息),将该系统版本信息屏蔽。

15、关闭NFS服务

16、用SSH替代Telnet服务

17、限制。rhosts、。netrc和/etc/hosts.equiv文件的使用

限制。rhosts、。netrc和/etc/hosts.equiv文件的使用。r系列命令使用这些文件来访问系统。要为这些文件加锁,先创建它们,然后修改其属性为零即可。这样除了root用户就没有其它用户能创建或修改它们了。

/usr/bin/touch /.rhosts /.netrc /etc/hosts.equiv

/usr/bin/chmod 0 /.rhosts /.netrc /etc/hosts.equiv

.rhosts文件可以作为一个典型的后门文件使用,在某用户的目录下存在。rhosts文件的话,任何用户都可以通过rlogin不需要口令以该用户的身份登录到系统。

运行下面的命令全局查找。rhosts文件

# find –name “。rhosts” –print

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表