收藏 分享(赏)

教你如何配置安全的SOLARIS系统.doc

上传人:精品资料 文档编号:10922877 上传时间:2020-01-21 格式:DOC 页数:13 大小:55.50KB
下载 相关 举报
教你如何配置安全的SOLARIS系统.doc_第1页
第1页 / 共13页
教你如何配置安全的SOLARIS系统.doc_第2页
第2页 / 共13页
教你如何配置安全的SOLARIS系统.doc_第3页
第3页 / 共13页
教你如何配置安全的SOLARIS系统.doc_第4页
第4页 / 共13页
教你如何配置安全的SOLARIS系统.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、教你如何配置安全的 SOLARIS 系统一、帐号和口令安全策略1.1 更改口令文件、影像文件、组文件的权限 /etc/passwd 必须所有用户都可读,root 用户可写 rw-rr /etc/shadow 只有 root 可读 r- /etc/group 必须所有用户都可读, root 用户可写 rw-rr 1.2 修改不必要的系统帐号 移去或者锁定那些系统帐号,比如 sys、uucp 、nuucp 、listen、lp、adm 等等,简单的办法是在/etc/shadow 的 password 域中放上 NP 字符。还可以考虑将/etc/passwd 文件中的 shell 域设置成/bin/

2、false 1.3 修改口令策略 修改/etc/default/passwd 文件 MAXWEEKS=4 口令至少每隔 4 星期更改一次 MINWEEKS=1 口令至多每隔 1 星期更改一次 WARNWEEKS=3 修改口令后第三个星期会收到快要修改口令的信息 PASSLENGTH=6 用户口令长度不少于 6 个字符 二、用户授权安全策略2.1 移去组及其它用户对/etc 的写权限。 执行命令#chmod -R go-w /etc 2.2 禁止 root 远程登录 在/etc/default/login 中设置 CONSOLE=/dev/concle 2.3setuid 和 setgid 特殊

3、权限。 Setuid 是指设置程序的有效执行用户身份(uid) 为该文件的属主,而不是调用该程序进程的用户身份。Setgid 与之类似。Setuid 和 setgid 用 1s -1 显示出来为 s 权限, 存在于主人和属组的执行权限的位置上。系统设置特殊权限,使用户执行某些命令时,具有 root 的执行权限, 命令执行完成, root 身份也随之消失。因此特殊权限关系系统的安全,可执行命令#find / -perm -4000 -print 寻找系统中具有 setuid 权限的文件,存为列表文件,定时检查有没有这之外的文件被设置了 setuid 权限。 2.4 审计并日志所有以 root 身

4、份的登陆情况 添加或编辑/etc/default/login 文件如下: SYSLOG= YES syslog 记录 root 的登陆失败,成功的情况。 2.5 设置远程登陆会话超时时间 添加或编辑/etc/default/login 文件如下: TIMEOUT= 300 2.6 确定登陆需要密码验证 添加或编辑/etc/default/login 文件如下: PASSREQ= YES 2.7 UMASK 设置 umask 命令设置用户文件和目录的文件创建缺省屏蔽值 ,若将此命令放入.profile 文件, 就可控制该用户后续所建文件的存取许可.umask 命令与 chmod 命令的作用正好相

5、反,它告诉系统在创建文件时不给予什么存取许可. 安装配置完操作系统之后确认 root 的 umask 设置是 077 或者 027,执行 /usr/bin/umask -S 确认。 2.7.1 增加或修改/etc/default/login 文件中如下行 UMASK=027 2.7.2 并增加上行到如下的文件中: /etc/.login /etc/.profile /etc/skel/local.cshre /etc/skel/local.login /etc/skel/local.profile 2.8 用户环境配置文件的 PATH 或者 LD_LIBRARY_PATH 中移去“.” 。 从

6、如下的文件中移走”.”,确认 root 的 PATH 环境变量设置是安全的,应该只包含/usr/bin:/sbin:/usr/sbin,避免当前工作目录.出现在 PATH 环境变量中,这有助于对抗特洛伊木马。 #echo $PATH | grep “:.“ 确认 /.login /etc/.login /etc/default/login /.cshrc /etc/skel/local.profile /etc/skel/local.cshrc /.profile /etc/skel/local.login /etc/profile 三、网络与服务安全策略3.1 关闭不用的服务 3.1.1 在

7、 inetd.conf 中关闭不用的服务 首先复制/etc/inet/inetd.conf 。 #cp /etc/inet/inetd.conf /etc/inet/inetd.conf.backup 然后用vi 编辑器编辑 inetd.conf 文件,对于需要注释掉的服务在相应行开头标记“#”字符即可。 3.1.2 在 Services 中关闭不用的服务 首先复制/etc/inet/services。 #cp /etc/inet/services /etc/inet/services.backup 然后用 vi 编辑器编辑 Services 文件,对于需要注释掉的服务在相应行开头标记“#”字

8、符即可。 在 inetd.conf、services 中进行修改后,找到 inetd 进程的 ID 号,用 kill 向其发送 HUP 信号进行刷新。举例如下。 #ps -ef | grep inetd #kill -HUP 进程号 或/usr/sbin/inetd s t 增加-t 选项以加强网络访问控制 3.1.3 根据需要关闭不用的服务 可关闭如下服务:tftp、ypupdate(NIS 程序)、 dtspcd(邮件收发程序) 、rquotad、name 、uucp( 网络实用系统)、snmp(简单网络管理协议)等。 3.2 关闭系统的自启动服务 在系统/etc/rc*.d 的目录下,根

9、据需要停用以下服务: sendmail 把 /etc/rc2.d/S88sendmai 更名为 tc/rc2.d/X88sendmail DNS 将/etc/rc2.d/S72inetsv 注释掉 in.named 一项 lp 把/etc/rc2.d/S80lp 更名为 /etc/rc2.d/X80lp uucp 把/etc/rc2.d/S70uucp 更名为/etc/rc2.d/x70uucp snmp 把/etc/rc3.d/S76snmpdx 和 /etc/rc3.d/S77dmi 更名 为/etc/rc3.d/s76snmpdx 和/etc/rc3.d/s77dmi autoinsta

10、ll 把/etc/rc2.d/S72autoinstallg 更名为/etc/rc2.d/s72autoinstall 3.3 加强 FTP 服务安全 3.3.1 禁止系统用户的 FTP 服务 把所有的系统账户加入到/etc/ftpusers(solaris 9 的该文件现更改为/etc/ftpd/ftpusers)文件:root 、daemon、sys、bin、adm、lp、uucp、nuucp、listen、nobody 3.3.2 禁止 FTP then echo $f is not in list fi done rm secrcheck 在需要对系统做检查时,执行本 shell 程序

11、。也可以放在定时进程中定时检查。程序由于需要在整个文件系统中做查找操作,需要比较长的时间。 请您作完本文中的实验后,别忘把文件的权限改回原状。 八、Solaris 系统安全之审计作为 C2 安全等级操作系统(公安部二级) ,Solaris 最主要的安全功能之一就是审计功能,本文将简单介绍 Solaris 审计功能的使用和启动。 目的:纪录系统和用户事件,并对审计过程自身进行保护。这里值得注意的就是纪录事件的细度。Solaris 提供了很强大的审计功能,甚至可以纪录每一条调试信息,但是这样做是不明智的,因为很多信息对用户没用,而且会使系统性能下降。审计细度需要管理员根据用途和需要自行订制。 实现

12、: 8.1. 查看日志 1) history 文件 通常在根目录下,隐藏文件,记录了 root 执行的命令 2) /var/adm messages:记载来自系统核心的各种运行日志,可以记载的内容是由/etc/syslog.conf 决定的 sulog:记载着普通用户尝试 su 成为其它用户的纪录。它的格式为: 发生时间 +/-(成功/失败) pts 号 utmpx:这两个文件是不具可读性的,它们记录着当前登录在主机上的用户,管理员可以用w,who 等命令来看 wtmpx:相当于历史纪录,记录着所有登录过主机的用户,时间,来源等内容,可用 last 命令来看 3) /var/log syslo

13、g 文件,这个文件的内容一般是纪录 mail 事件的 8.2. syslog 1) 实时错误检查: tail f /var/adm/messages -f 在监视器上允许看见每条记录 /var/adm/messages 记录事件路径 2) /etc/syslog.conf 语法: *.err;kern.debug;deamon.notice;mail.crit /var/adm/messages 工具认可的值 值 描述 user 用户进程产生的消息。这是来自没有在文件列表中的设备的消息的默认优先级 kern 由内核产生的消息 mail 邮件系统 daemon 系统守护进程 auth 授权系统,

14、如 login、su lpr 行式打印机假脱机系统 news 网络新闻系统 USENET 保留值 uucp 为 UUCP 系统保留值,目前 UUCP 不使用 syslog 机制 cron Cron/at 工具;crontab、at 、cron local0-7 为本地使用保留 mark 内部用于由 syslog 产生的时间戳消息 * 除标记工具之外的所有工具 级别认可的值(按重要性降序排列) emerg 用于通常必须广播给所有用户的恐慌情况 alert 必须立即被修正的情况,例如被损坏的系统数据库 crit 用户对关键情况的告警,例如设备错误 err 用于其他错误 warning 用于所有的警

15、告信息 notice 用于没有错误但是可能需要特别处理的情况。 info 通知消息 debug 用于通常只在调试时才使用的消息 none 不发送从指出的设备发来的消息到选定文件中 3) 例如如果要纪录登录信息(telnet) ,可以这样做: /etc/default/login 中:SYSLOG=YES /etc/syslog.conf 中添加:auth.notice /export/home/wangyu/log (把日志记录在/export/home/wangyu/log 文件中,中间不是空格,是 Tab) 重新启动 syslog 守护进程 当 telnet 上去的时候,我们看到/expo

16、rt/home/wangyu/log 中有: Sep 11 10:07:25 hlstar login: ID 254462 auth.notice ROOT LOGIN /dev/pts/1 FROM 192.168.0.9 8.3. Loghost 编辑/etc/syslog.conf,语法: *.err;kern.debug;deamon.notice;mail.crit loghost (记录登录信息) 重新启动 syslog 守护进程 假设这次我们使用 linux 做日志主机: rootwangyu root#/sbin/setup 打开配置界面firewall configurat

17、ioncustomother ports: 写入 syslog:udp 重新启动防火墙 /etc/init.d/iptables restart 或者/etc/init.d/ipchains restart 设置 loghost 接收网络日志数据,修改/etc/sysconfig/syslog 配置文件: 修改 SYSLOGD_OPTIONS=“-m 0“ 为 SYSLOGD_OPTIONS=“-r -m 0“ 重新启动 syslog 守护进程 此时/var/log/messages 最下端附近会看到类似下面的信息 Aug 11 21:20:30 logserver syslogd 1.3-3

18、: restart. (remote reception) 当 telnet 上去的时候,我们看到/var/log/messages 中有类似下面的信息: Sep 5 11:08:31 mastadon login: ID 507249 auth.notice Login failure on /dev/pts/3 from 192.168.0.9, root 8.4. 记帐 Solaris 操作系统可以通过设置日志文件可以对每个用户的每一条命令进行纪录,这一功能默认是不开放的 运行/usr/lib/acct/accton 路径文件名 (如/usr/lib/acct/accton /expor

19、t/home/wangyu/test,将日志记录到 test 中) 查看的时候将文件移动到/var/adm 目录下,改名为 pacct 执行查看命令 lastcomm(比如查看用户 root,用命令 lastcomm root) 8.5. BSM(以下部分节减自 freedemon 的“SecU Solaris p2.3 BSM 审计系统”,详见 http:/ 1) 开启 BSM: # init 1 (重新引导或改变运行级别到单用户状态 ) #/etc/security/bsmconv (运行 BSM 初始化脚本,开启审计功能) # reboot (重新启动系统,或者 Ctrl+D 改变到多用

20、户状态) 2) 关闭 BSM 审计功能: # init 1 # /etc/security/bsmunconv # reboot 3) 配置文件的功能: BSM 所有的配置文件都存放在/etc/security 目录下( (4)代表详细信息察看 man (4) : audit_class(4) 审计类别定义 audit_control(4) 审计进程控制信息 audit_data(4) 审计进程当前信息 audit.log(4)审计日志格式 audit_event(4) 时间定义到类别的映射文件 audit_user(4) 按用户审计时的用户定义文件 除了上面的配置文件之外,系统中还有一些用于

21、 BSM 管理的脚本。 audit_startup(1M) 启动 BSM 进程运行。 auditconfig(1M) 读取配置文件,重新配置 audit 进程。 auditd(1M) 审计监控服务。 auditreduce(1M) 审计事件日志管理,可以调整日志格式,生成时间周期等信息。 auditstat(1M) 先是内核审计进程状态。 bsmconv(1M) 开启 BSM 功能。 bsmunconv(1M) 关闭 BSM 功能。 praudit(1M) 打印 BSM 审计日志内容。 4) BSM 应用 在默认配置情况下,BSM 每天(24 小时)会生成一个以当天日期为名字的审计日志,存放在

22、 /var/audit 目录下,这个文件具有自己的数据结构,所以直接查看时是乱码,必须使用系统命令 praudit 来查看。 # praudit /var/audit/xxxxxx.xxxxxx.log 另一个可能用到的命令是 auditreduce ,这个命令允许管理员对审计日志做一些设置,例如调整审计事件集或调整审计日志生成周期等等。auditreduce 和 praudit 是系统中 BSM 管理最基本的两个命令,组合起来可以完成相当多的功能: 用管道联合两个命令,会显示系统中所有的历史审计事件。 # auditreduce | praudit 再加上 lp,将把所有审计事件直接打印出来

23、。 # auditreduce | praudit | lp 如果系统中有相当多的审计信息的话,查找将是非常困难的事情,这条命令可以按照yymmdd 的时间格式显示目标时间段内的审计事件,范例为显示 April 13, 1990, 用户 fred 的登录类别审计事件集。 # auditreduce -d 900413 -u fred -c lo | praudit 过滤目标时间所有的登录日志信息(Class:lo) ,并且输出到一个单独的日志文件中: # auditreduce -c lo -d 870413 -O /usr/audit_summary/logins auditreduce 的

24、 -b 和 -a 选项允许用户按照 yyyymmdd00:00:00 的时间格式制定一个时间段(Before & After) 。 # auditreduce -a 91071500:00:00 | praudit # auditreduce -b 91071500:00:00 | praudit 5) 管理工具: eXpert-BSMTM 一个很强大的商业 BSM 分析工具,不过目前也可以免费使用,支持 Solaris 7/8 (Sparc|Intel)平台,可以在下面地址下载。 http:/ . t-BSM/download.html Sun WBEM Solaris 内置的图形界面管理工

25、具,也就是 AdminConsole,在 WBEM 2.3 之后的版本支持对BSM 信息的管理。可以用下面命令开启: # /usr/sadm/bin/wbemadmin (第一次运行时会安装一系列的管理脚本) # /usr/sadm/bin/smc (开启管理终端) 以上,对 Solaris 审计系统进行了配置,相信大部分用户行为和入侵行为都被记录下来了,并且对日志自身也进行了一定保护。如果管理员能及时分析日志,相信可以捕获大部分入侵企图和行为。六、文件/ 系统完整性管理 BART Basic Audit Reporting Tool 工具帮助快速可靠的检查已部署的系统,创建已配置好的系统上的

26、文件列表 manifest,在系统上发现文件一级的改变,所以在配置好系统后应尽快建立系统或关键目录的文件列表 manifest,并按系统的变化经常更新。 如,/etc 目录往往存放系统的重要配置信息, 2005 年 05 月 20 日建立/etc 的文件列表 manifest: # bart create -R /etc etc2005-05-20 2005 年 05 月 30 日建立/etc 的文件列表 manifest: # bart create -R /etc etc2005-05-30 如在 2005 年 05 月 20 日到 05 月 30 日,发觉/etc 目录不安全,可能有人改

27、过,可进行对比: # bart compare etc20050520 etc20050530 /inet/hosts: size control:742 test:758 mtime control:42883bc8 test:42997c6e contents control:360be0aaa88e730ee1681c4d9afa20e3 test:50d8ab70777f0bd203f660cd9c0d6ad5 随即可发现,有人改变/etc/hosts 文件。 那会不会有人改变了/etc 的文件列表 manifest 呢,文件可读: # grep host etc20050530 。

28、。 。 /inet/hosts F 758 100444 user:r-,group:r-,mask:r-,other:r- 42997c6e 0 3 50d8ab70777f0bd203f660cd9c0d6ad5七. 附加 1. 配置更安全的 NFS NFS version 4 支持传统的 NFS 协议 RFC 1813,但新用 General Security Service (GSS)架构实现更安全的 RPC,如启用安全模式共享文件系统: # share -F nfs -o sec=krb5 /export/oracle 再用 snoop 对比跟踪网上的 RPC 调用: NFS ver

29、sion 3 NFS version 4 - LOOKUP “export“ -OPEN “export/oracle“ LOOKUP “oracle“ ACCESS “oracle“ (sends data) READ “oracle“ - OK (sends data) 2. 指定加密算法对文件数字签名 如列出 Solaris 数字签名的加密算法: # digest -l sha1 md5 如选用 md5 对制定文件数字签名: # digest -a md5 /etc/hosts 50d8ab70777f0bd203f660cd9c0d6ad5 可在文件传递的任何时间比较文件的数字签名:

30、# digest -v -a md5 /etc/hosts md5 (/etc/hosts) = 50d8ab70777f0bd203f660cd9c0d6ad5 3. 利用加密算法对备份的数据加密,使系统磁带对盗窃者无用 列出 Solaris 中可用的加密算法: # encrypt -l 算法 密钥大小: 最小 最大 (位) - aes 128 128 arcfour 8 128 des 64 64 3des 192 192 鉴于 1998 年美国有人就已穷举攻破 56 位密钥 DES,所以选用 DES 加密备份和恢复,试试国人水平: # ufsdump 0f - /oracle | encrypt -a des -k /etc/mykeys/backup.k | dd of=/dev/rmt/0 # decrypt -a des -k /etc/mykeys/backup -i /dev/rmt/0 | ufsrestore vf

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报