solaris是什么系统:Solaris 系统安全加固列表

、安全理念
1、安全隐患更多来自于企业内部
2、对于管理员要求:不要信任任何人
3、分层保护策略:假设某些安全保护层完全失效
4、服务最小化
5、为最坏情况做打算

2、物理安全
1、记录进出机房人员名单考虑安装摄像机
2、审查PROM是否被更换可以通过记录hostid进行比较
3、每个系统OpenBoot口令应该不口令方案不可预测
4、系统安装完毕移除CD-ROM
5、将版本介质放入不在本场地介质储藏室中

3、账号和口令策略
1、超级用户PATH(在/.profile中定义)设置为:
PATH = /usr/bin:/sbin:/usr/sbin
任何用户PATH或者LD_LIBRARY_PATH中都不应该包含“.”
2、口令文件、影像文件、组文件
/etc/passwd 必须所有用户都可读root用户可写 –rw-r—r—
/etc/shadow 只有root可读 –r--------
/etc/group 必须所有用户都可读root用户可写 –rw-r—r--
3、口令安全
solaris强制口令最少6位但是超级用户修改口令时候不受这个限制
强迫test账号每隔30天修改次口令

#passwd –n 30 test
强迫test账号在下次登录时候修改口令
#passwd –f  test
禁止test账号修改口令
#passwd –n 2 –x 1 test
封锁test账号禁止登录
#passwd –l test
4、组口令
grp 命令临时改变gid
由于sysadmin组可执行admool必须要保护好增加组口令过程:
删除不需要成员(如果成员属于sysadmin改变组时不需要口令)
#passwd (通常封锁账号)
提取/etc/shadow中user口令串插入到/etc/group中sysadmin口令字段
封锁user账号
5、修改口令策略
/etc/default/passwd文件
MAXWEEKS=4 口令至少每隔4星期更改
MINWEEKS=1 口令至多每隔1星期更改
WARNWEEKS=3 修改口令后第 3个星期会收到快要修改口令信息
PASSLENGTH=6 用户口令长度不少于6个
6、限制使用su组(只允许sysadmin组执行su命令)
#chgrp sysadmin /bin/su
#chmod o-rwx /bin/su
7、su纪录

/etc/default/su文件
SULOG=/var/adm/sulog
SYSLOG=YES
CONSOLE=/dev/console
PATH=/usr/bin:
SUPATH=/usr/sbin:/usr/bin
8、禁止root远程登录
/etc/default/login中设置CONSOLE=/dev/null
在/etc/ftpusers里加上root
在SSH 配置文件加:permitRootLogin = no
(Solaris 9自带SSH缺省就禁止root登陆,对 Solaris 9/etc/ftpusers 不再使用FTP配置文件都在 /etc/ftpd/ 下面如果 ftpd 启动时存在 /etc/ftpusers它会被移动到 /etc/ftpd/下)

4、系统加固

1、为OpenBoot设置密码

在Solaris中设置密码 # eeprom security-password
在OpenBoot中设置密码 ok password
在Solaris中设置安全级别(command) # eeprom security-mode=command
在OpenBoot中设置安全级别(command) ok env security-mode command
在OpenBoot中设置安全级别(full) ok env security-mode full

2、取消不必须账号
移去或者锁定那些不是必须帐号比如sys\uucp\nuucp\listen等等简单办法是在/etc/shadowpassword域中放上NP
(简单办法是 passwd -l username)

3、文件系统
/etc目录中应该没有文件是组或者其他用户可写
find /etc/ -type f –perm –g+w –pr (查找组可写文件)
find /etc/ -type f –perm –o+w –pr (查找其他用户可写文件)
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 – /dev/ip ip_forwarding 1 (在系统作为路由器情况中执行)
关闭数据包转发
#ndd – /dev/ip ip_forwarding 0 (建议把这条命令加入/etc/init.d/inetinit中)
忽略重定向数据包(否则有遭到DOS隐患)
#ndd – /dev/ip ip_ignore_redirects 1 (加入/etc/init.d/inetinit)
不发送重定向数据包
#ndd – /dev/ip ip_send_redirects 0 (加入/etc/init.d/inetinit)
禁止转发定向广播(如果网桥连结则不禁止)
#ndd – /dev/ip ip_forward_directed_broadcasts 0 (加入/etc/init.d/inetinit)
禁止转发在数据源设置了路由数据包
#ndd – /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可以snf只有root可以使用可以把snoop从不需要UNIX机器上删除

10、rootumask设置
修改/etc/profile文件将umask设为077或者027

11、堆栈缓冲溢出攻击防护设置
在/etc/system里加上如下语句禁止缓冲溢出:
echo " noexec_user_stack=1" >> /etc/system
echo " 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 - /dev/ip ip_forward_directed_broadcasts 0
ndd - /dev/ip ip_forward_src_routed 0
ndd - /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” –pr   

18、使多路广播(multicasting)无效
为了使多路广播(multicasting)无效请在/etc/init.d/inetsvc中注解掉"route add 224.0.0.0"周围几行

19、关闭系统snmp服务
更改 /etc/rc2.d/K07snmpdx 和/etc/rc3.d/S76snmpdx文件名

20、X-Windows不安全可以使用ssh对其加密

21、加强网络访问控制
编辑/etc/inet.d/inetsvc在inetd后面加上-t选项
类似命令/usr/sbin/inetd –s –t
停止再运行inetd
运行使用使用 #/usr/sbin/inetd –s –t

22、网络访问控制
原则:去掉不必要网络访问在所需要网络访问周围简历访问控制

Solaris网络服务(/etc/inet/services)[没有被注释/* */服务可关闭]

#ident "@(#)services 1.27 00/11/06 SMI" /* SVr4.0 1.8 */
#
#
# Copyright (c) 1999-2000 by sun Microsystems, Inc.
# All rights reserved.
#
# Network services, Internet style
#
tcpmux 1/tcp /*必须*/
echo 7/tcp
echo 7/udp
discard 9/tcp sink null
discard 9/udp sink null
systat 11/tcp users
daytime 13/tcp
daytime 13/udp
netstat 15/tcp
chargen 19/tcp ttytst source
chargen 19/udp ttytst source
ftp-data 20/tcp /*依服务可选*/
ftp 21/tcp /*依服务可选*/
ssh 22/tcp /*依服务可选*/
telnet 23/tcp /*依服务可选*/
smtp 25/tcp mail /*依服务可选*/
time 37/tcp timserver
time 37/udp timserver
name 42/udp nameserver
whois 43/tcp nicname # usually to sri-nic
do 53/udp /*依服务可选*/
do 53/tcp /*依服务可选*/
bootps 67/udp # BOOTP/DHCP server
bootpc 68/udp # BOOTP/DHCP client
hostnames 101/tcp hostname # usually to sri-nic
pop2 109/tcp pop-2 # Post Office Protocol - V2
pop3 110/tcp # Post Office Protocol - Version 3
sunrpc 111/udp rpcbind
sunrpc 111/tcp rpcbind
imap 143/tcp imap2 # Internet Mail Access Protocol v2
ldap 389/tcp # Lightweight Directory Access Protocol
ldap 389/udp # Lightweight Directory Access Protocol
submission 587/tcp # Mail Message Submission
submission 587/udp # see RFC 2476
ldaps 636/tcp # LDAP protocol over TLS/SSL (was sldap)
ldaps 636/udp # LDAP protocol over TLS/SSL (was sldap)
#
# Host specic functions
#
tftp 69/udp
rje 77/tcp
finger 79/tcp
link 87
Tags:  solaris系统备份 solaris文件系统 solaris系统日志 solaris是什么系统

延伸阅读

最新评论

发表评论