免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1149 | 回复: 0
打印 上一主题 下一主题

Solaris系统安全问答(2) [复制链接]

论坛徽章:
1
15-16赛季CBA联赛之北控
日期:2022-03-04 22:35:50
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-04-27 13:13 |只看该作者 |倒序浏览

出处:51CTO论坛 

阅读提示:使用一个机器比只使用一个拥有所有权利的机器安全的多,因为这样可以隔离,方便查找问题所在。总之:在你的机器上运行你一些最必要的服务。考虑拆除键盘,屏幕,这样可以避免使用X11和知道命令行所示,在一个隔离的信任的网络段中进行测试。
删除不需要的crons:rm /var/spool/cron/crontabs/{lp,sys,adm}Root cron 条目:通过可信赖的来源使用rdate设定日期(你或许使用NTP协议,这将使时间精确一些,但正向上面所说的增加带宽和不必要的安全问题):
## Synchronise the time(同步时间):
0 * * * * /usr/bin/rdate YOURTIMEHOST >/dev/null 2>&1
文件权限
必须限制一些有关ROOT操作的权限或干脆使其无效:
chmod 0500 /usr/sbin/snoop /usr/sbin/devinfo
chmod o-r /var/spool/cron/crontabs/*
chmod 000 /bin/rdist
chmod o-rx /etc/security
chmod og-rwx /var/adm/vold.log
chmod u-s /usr/lib/sendmail #Except for mailgateways
chmod 400 /.shosts /etc/sshd_config /etc/ssh_known_hosts
再在登录信息上设置警告用户非授权登录的信息(如果要起诉侵入者你就需要这些信息)。如在Telnet和SSH,在/etc/motd中设置警告语句:
ATTENTION: You have logged onto a secured XXXX Corporation server.
Access by non YYYY administrators is forbidden.
For info contact
YYYY@XXX.com

重新启动,通过SSH登录,现在使用ps -e来显示进程列表:
PID TTY TIME CMD
0 ? 0:00 sched
1 ? 0:00 init
2 ? 0:00 pageout
3 ? 0:09 fsflush
156 ? 0:00 ttymon
152 ? 0:00 sac
447 ? 0:06 sshd
88 ? 0:00 inetd
98 ? 0:00 cron
136 ? 0:00 utmpd
605 ? 0:00 syslogd
175 console 0:00 ttymon
469 pts/1 0:00 csh
466 ? 0:01 sshd
625 pts/1 0:00 ps
及使用netstat -a 将显示最小的网络连接(如只有SSH):
UDP
Local Address Remote Address State
-------------------- -------------------- -------
*.syslog Idle
*.* Unbound
TCP
Local Address Remote Address Swind Send-Q Rwind Recv-Q State
-------------------- -------------------- ----- ------ ----- ------ -------
*.* *.* 0 0 0 0 IDLE
*.22 *.* 0 0 0 0 LISTEN
*.* *.* 0 0 0 0 IDLE
7,建立Tripwire映象,备份和测试
-测试 SSH和标准工具是否能正常工作?检查LOG条目,检查控制台信息来了解系统是否按照你设想的计划实现。
-当所有工作运行的正常时,就freeze(冻结)/usr有可能的话冻结/opt:
在/etc/vfstab中增加"ro"选项以只读方式挂上(mount)/usr和/opt分区,这样减少木马程序和非认证的修改。以nosuid方式mount其他分区。
重启
-如果CD-ROMS不需要的话,是卷管理无效,使用如下命令可以在你需要时重新启用:
mv /etc/rc2.d/S92volmgt /etc/rc2.d/.S92volmgt
-最后安全TRIPWIRE(或者其他使用hashing算法的文件检查工具),初始化它的数据库和运行常规的检查来检测文件的改变。如果可能的话使TRIPWIRE的数据库安装在另一个机器上或一次性写入介质。如果还需要更安全的措施,那么就拷贝TRIPWIRE和它的数据库并使用SSH远程运行。这将使入侵者很难知道TRIPWIRE在使用。
8,安装,测试应用程序
应该考虑把应用程序安装在独立的分区或者在/opt分区,如果使用/opt,在安装时必须以读写方式来挂起此分区,在安装和测试后必须再设置回只读方式。根据服务器的功能,选择你所需要的如:ftpd,BIND,proxies等等,在安装应用程序时遵照以下的规则来安装:
--在应用程序启动之前umask是否设置好如(如:022)
--应用程序是不是能以非ROOT身份运行?是否很好的设置密码若最少8位加标点,字符大小写
--注意是否所有文件的权限设置正确,即是不是只能有应用程序用户自己拥有读写权限,有没有全局能读写的文件
--当应用程序在写LOG记录时是否安全?有没有可能把密码写到安装LOG中去(不用感到好笑,这很普遍)
9,系统正式运行
详细检查;使用不同的人以不同的观点及在不同的网络点登录测试应用软件。
10,常规维护
下面是根据你系统的重要程度决定你要每小时,每天,每星期,每个月要做的事情:
-检查SUN公司的pathdiag来不断升级系统,特别注意系统内核的补叮
-检查所有错误和不寻常的活动记录:
syslog (/var/adm/messages or /var/log/*, depending on syslog.conf),
/var/cron/log, last, /var/adm/sulog, /var/adm/loginlog,
application/server logs.
-运行tripwire
-注意一些新的漏洞及安全建议,订阅CERT,CIAC的安全公告和供应商的安全列表
下面是一些安装常用服务所需要的安全问题
1,FTP服务(ftp)
-如果你使用Western University wu-ftpd,必须知道它存在一些历史BUG,如(请参看 CERT advisories CA-93:06, CA-94:07, CA-95:16 and Auscert AA-97.03 and AA-1999.02),最起码使用V2.6.0或以后的版本。
2,配置/etc/ftpusers的系统帐号使其不能用来FTP,如使以ROOT身份登录FTP无效,把"root"增加到/etc/ftpusers.要想把所有系统帐号加入到你的新系统中去可使用如下方法:
awk -F: '{print $1}' /etc/passwd > /etc/ftpusers
-FTP可以通过/etc/ftpusers选择性的激活每个用户;也可以使用下面的方法:
对于那些不能通过FTP访问此机器的,提供他们一些不正规的SHELL(如BASH和TCSH),但不把新的SHELL加入到/etc/shells,这样FTP访问将被拒绝。相反,要把一个非标准的SHELL加入到/etc/shells才能使FTP正常工作。
-使LOGGING有效:把"-l"选项增加到/etc/inetd.conf中去,另外"-d"选项将增加debug输出。
-FTP可以限制IP地址或基于tcp wrappers的主机名。
-如果需要匿名FTP访问,必须非常谨慎,一个chroot的环境是必须的。
具体请参看in.ftpd 手册。避免允许上传文件权利。如果需要上传文件的权利,需不允许下载上载了的文件,隐藏上载文件名及不允许他们覆盖方式操作。
-使用FTP强烈建议使用chroot.
-把FTP数据放在独立的磁盘分区,以nosuid方式mount。
3,DNS服务:
-使用最新的BIND(Berkeley Internet Name Server)来代替SUN的named,BIND有很多好的特征,若容易DEBUG和当有安全问题发现时很快更新。
具体请参看网站:
www.isc.org/view.cgi?/products/BIND/index.phtml
.
-使用8.1.2或以后的版本
-使用测试工具
www.uniplus.ch/direct/testtool/dnstest.html
来测试DNS。
-使用nslookup和dig来检查服务结果。
-如果在DNS客户端存在问题检查/etc/nsswitch.conf和/etc/resolv.conf,
使用nslookup -d2来获得DEBUG的信息。尝试杀掉nscd守护程序。
-如果服务器端有问题使用named -d来读console LOG,一般这LOG在syslog文件中的"daemon"段。
-要获得name服务的统计使用
kill -ABRT `cat /etc/named.pid` 将会把统计信息记录到/usr/tmp/named.stats.
-要查看改变设置后的配置信息使用HUP信号
kill -HUP `cat /etc/named.pid`
更多的请参看
www.ebsinc.com/solaris/dns.html

4,有关chroot环境请参看如下网站:
www.sunworld.com/swol-01-1999/swol-01-security.html

以下准备正式运行系统
如果可能请使用多人进行最后测试,以便忘记某些重要的东西。
使用网络漏洞扫描器扫描系统,保证只有你想使用的服务在运行。
如商用扫描器IIS和免费扫描 器nmap或Satan.
检查/opt和/usr分区是否为只读状态。
初始化Tripwire(或等同的检查工具)
最后测试什么在工作,什么是禁止的,检查console/log条目,
开始时经常查看LOG记录。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/31/showart_600431.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP