《unix系统安全培训》由会员分享,可在线阅读,更多相关《unix系统安全培训(201页珍藏版)》请在金锄头文库上搜索。
1、UNIX操作系统安全 v1.0.0.0,版本控制,版本控制,目 录,第一章 UNIX安全基础知识 第二章 Linux主机安全运行 第三章 Solaris主机安全运行 第四章 AIX主机安全运行 第五章 HP-UX主机安全运行 第六章 UNIX常见应用服务安全 第七章 UNIX异常检查,第一章 UNIX安全基础知识,目录,1.1 文件完整性审计,1.3 安全补丁审计,1.4 端口审计,1.5 进程审计,1.2 帐户、口令审计,1.6 系统日志审计,文件完整性审计-原理,通过Hash函数计算得到每个文件的数字文摘 MD5 SHA 每次检查时,它重新计算文件的数字文摘并将它与数据库中的值相比较 不同
2、,则文件已被修改,若相同,文件则未发生变化。,文件完整性审计-意义,检测系统关键文件变化情况 检测各种误操作导致的系统变化 在事件发生后,快速恢复系统的依据 发现系统隐藏的后门 BACKDOOR ROOTKIT LKM,文件完整性审计-安全周期,文件完整性审计-手段,Tripwire 最成熟的商业文件完整性审计工具 支持各种操作系统甚至网络设备 CS结构方便集中管理和配置 结果存放于数据库 MD5SUM 最通用的免费的完整性审计工具 简单易用 只能对单一文件进行审计 AIDE free, GPL 支持各种操作系统,文件完整性审计-部署逻辑图,文件完整性审计-其他工具,MD5SUM $ md5s
3、um * 98343c7ee558fc6cc19cd5319c44f3d5 *README-WIN32 2bf260615d34d7d46392e21b82b195b4 *nmap-os-fingerprints 8975f7180e8f8735867e49cf3ebed5c3 *nmap-protocols a365edeebbafaeca057397c19cf94c2d *nmap-rpc 717a6cdbf5feb73617471cd041c45580 *nmap-service-probes 43dca708961769cb09780c9eba8b8712 *nmap-services
4、 b00bd7728c6e7d3e9a37ad84147dd983 *nmap.exe 5d6ecce781323aec8c58b0de1a3e6888 *nmap_performance.reg,文件完整性审计-其他工具,SUN网站提供md5提交、验证页面 http:/ aide i aide.conf,文件完整性审计-注意事项,完整性检查的工具本身 完整性检查的数据库 只读介质 异地存储,用户、弱口令审计-原理,UNIX系统用户数据库 /etc/passwd USER:x:UID:GID:HOME:SHELL /etc/shadow 加密后的用户密码 MD5-based Standard
5、DES-based Double-length DES-based BSDIs extended DES-based FreeBSDs MD5-based OpenBSDs Blowfish-based AFS,用户、弱口令审计-意义,发现系统中无用、默认的用户 发现使用弱密码的用户 检查密码策略实施情况 发现系统中的后门帐户,用户、弱口令审计-手段,手工 直接查看系统用户数据库,人工简单判断 JOHN 最通用的UNIX密码破解软件 有各种常见操作系统下的版本 可以破解各种常见操作系统的用户数据库 外加软件也可以实现分布式,用户、弱口令审计-手段,手工检查 Solaris cat /etc/p
6、asswd cat /etc/shadow (AIX /etc/security/passwd ) passwd USER:x:UID:GID:HOME:SHELL x为用户未锁定,:为空密码,*/*LK*为锁定 UID/GID 0为root 常见可登陆shell /bin/sh /bin/bash /bin/ksh Shadow USER:加密过的密码:,UNIX系统帐号安全,Passwd文件剖析 name:coded-passwd:UID:GID:user-info:home-directory:shell 7个域中的每一个由冒号隔开。 name给用户分配的用户名。 Coded-passw
7、d经过加密的用户口令。如果一个系统管理员需要阻止一个用户登录,则经常用一个星号( : * :)代替。该域通常不手工编辑。 UID用户的唯一标识号。习惯上,小于100的UID是为系统帐号保留的。,UNIX系统帐号安全,GID用户所属的基本分组。通常它将决定用户创建文件的分组拥有权。 User_info习惯上它包括用户的全名。邮件系统和finger这样的工具习惯使用该域中的信息。 home-directory该域指明用户的起始目录,它是用户登录进入后的初始工作目录。 shell该域指明用户登录进入后执行的命令解释器所在的路径。注意可以为用户在该域中赋一个/bin/false值,这将阻止用户登录。,
8、UNIX帐号安全(shadow文件),UNIX系统帐号安全,上一次修改口令的日期,以从1970年1月1日开始的天数表示。 口令在两次修改间的最小天数。口令在建立后必须更改的天数。 口令更改之前向用户发出警告的天数。 口令终止后帐号被禁用的天数。 自从1970年1月1日起帐号被禁用的天数。 保留域。,UNIX系统帐号安全,缺省帐号,UNIX系统帐号安全,禁用和删除帐号: 禁用帐号最快的方式是在/etc/passwd或影子口令文件中用户加密口令的开始加一个星号(*)。该用户将不能再次登录。 # userdel test,用户、弱口令审计-手段,JOHN john passwd 一般运行 john
9、-wordfile:/usr/dict/words -rules passwd 加字典、自定义策略 john -show passwd 查看已破解密码 john restore 恢复上次运行,用户、弱口令审计-注意事项,密码文件要注意保存 有的系统用户数据库文件不是标准模式,需要手工或脚本进行转换 不要轻易删除帐户、建议先锁定 帐户可能跟应用系统有关,安全补丁审计-原理,当前系统/应用的补丁升级,绝大部分是安全方面的升级 系统/应用补丁后,即可修补当前已知的安全问题 SUN定期(基本每周)会发布补丁集和包,包含所有补丁 AIX以Recommended Maintenance Package +
10、 Hotfix方式提供 最新为14?,安全补丁审计-意义,得到系统/应用准确版本信息 判断系统是否存在安全漏洞 为下一步安全补丁的实施提供准确的依据,安全补丁审计-手段,系统版本 uname -an 系统本身支持补丁查看命令 Solaris showdev p AIX oslevel r HP-UX swlist -l product PH?_* 应用补丁/版本 telnet ip port Nmap,安全补丁审计-手段,最新补丁列表取得方式 Solaris http:/ AIX http:/ 补丁时要注意文件的备份 除系统补丁外,应用的补丁也很重要,端口审计-原理,系统开启的网络服务,均会导
11、致开放特定的端口 开放端口后,网络即可对此端口进行访问,如果此端口的应用存在安全漏洞,则可能导致系统的安全问题 大部分的黑客留下的后门,均开放端口实现 Bindshell Sshd backdoor,端口审计-意义,发现系统开放的不必要的服务 发现系统可能存在的后门 为下一步加固关闭服务提供依据,端口审计-手段,系统本身命令 netstat 系统外部工具 nmap端口扫描工具 可以扫描开放的TCP、UDP端口 可以进行端口-服务识别 Lsof i :3306查看系统打开的文件,端口审计-手段,netstat a 显示所有TCP UDP端口 n 数字显示地址和端口(不进行IP反向解析) 举例 n
12、etstat na |grep LISTEN,端口审计-手段,nmap -sT TCP connect() 端口扫描 -sU UDP 端口扫描 -sV 服务版本识别 -O TCP/IP指纹判断系统类型 -P0 不预先ping主机 -p 端口扫描范围 示例 nmap -sT -sU 127.0.0.1,端口审计-手段,lsof lsof 列举打开此文件的程序 lsof -i 列举所有打开Internet socket的程序 lsof -p 列举此PID程序打开的文件 lsof -c 列举此进程打开的文件,端口审计-注意事项,启动时打开端口的服务可能的位置 /etc/rc.local /etc/r
13、c.sysinit /etc/system /etc/rc*.d /etc/inetd.conf 部分端口为系统默认必须开放 111 RPC端口关闭,CDE将不能运行 Rootkit、lkm等后门程序会隐藏开放的特定端口,进程审计-原理,服务器启动后运行的程序,均可以以查看进程的方式看到 黑客留下的后门程序,除了对系统本身文件进行修改的,大部分均会增添运行进程,进程审计-意义,发现系统运行的不必要服务 发现黑客留下来的后门程序 为下一步加固提供依据,进程审计-手段,Ps -a /-e 列出所有用户进程 -f 列出进程的uid,ppids -l 列出进程的uids, ppids, pgids,
14、winpids -u 列出某用户进程 举例: ps -ef,进程审计-手段,lsof lsof 列举打开此文件的程序 lsof -i 列举所有打开Internet socket的程序 lsof -p 列举此PID程序打开的文件 lsof -c 列举此进程打开的文件,进程审计-手段,其他相关系统命令 pcred pid | core 查看进程的身份(有效的和真实的用户ID和组ID) pfiles -F pid 查看进程打开的文件 pflags -r pid | core 查看进程的跟踪标志和信号状态 pldd -F pid | core 查看链接到进程上的动态链接 pmap -rxlF pid
15、| core 查看进程的地址空间映射表(详细检查进程占用了多少虚拟内存) psig pid 查看进程的信号 pstack -F pid | core 查看进程的十六进制/符号形式的堆栈记录 ptime command args . 高精度地统计进程占用CPU的时间 /usr/proc/bin/ptree 分层查看进程的所有子进程 pwait -v pid 等待指定的进程终止 pwdx pid 查看进程的当前工作目录,系统日志审计-原理,系统日志记帐的两个最主要守护进程 klogd syslogd会监视基本上所有的系统动作。其中klogd主要记录一些系统内核动作。 syslogd,它可以接收访问系统的日志信息并且根据/etc/syslog.conf配置文件中的指令处理这些信息。任何希望生成日志信息的程序都可向syslog接口呼叫来生成改信息。 其他的一些日志 utmpd,wtmpd这两个进程来进行记帐的,然后通过utmppipe这个管道文件向/var/adm/utmpx这个文件写数据,系统日志审计-意义,观察系统的运行状态 发现系统运行中出现的错误报警 观察程序的运行情况和用户的登陆情况,甚至运行的命令。 发现系统被黑客攻击后残