已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
M6-4 使用安全审计加强 Linux 主机的安全维护能力 1.1 场景描述 1.1.1 学习目的 学生通过该能力模块的学习,能够独立完成和熟练掌握实现主机安全审计的能力。 1.1.2 学习要求 理解:审计对主机安全的重要性。 掌握:使用 psacct 程序所提供的命令对主机进行审计。 1.1.3 学习重点和难点 1.学习重点 ac 命令. sa 命令 2.学习难点 psacct 程序 1.2 知识准备 1.2.1 psacct 程序 安全配置审计工具是一款用户对各类系统、设备做安全配置检查的自动化工具, 能够智能化识别各类安全设置,分析安全状态,并能够给出多种配置审计分析报告, 目前已经支持多种操作系统及网络设备。 RedHat Linux 系统中的 psacct 程序可以根据安全需求进行修改。另外,利用 系统工具对各类账号的操作权限做限制,能够有效保证用户无法超越其账号权限的 操作,确保系统安全。 RedHat Linux 系统中的 psacct 程序提供了几个进程活动监视工具: ac、lastcomm、accton 和 sa。 ac命令显示用户连接时间的统计. lastcomm命令显示系统执行的命令. accton命令用于打开或关闭进程记帐功能 . sa命令统计系统进程记帐的情况. 1.3 注意事项 在使用 psacct 程序进行审计时,需要查看其是否安装,如果没有安装要手动 进行安装。 1.4 操作步骤 1.4.1 启动 psacct 服务 默认情况下,RedHat Linux 系统默认安装了 psacct 程序,只需要系统中启动 psacct 服务,先用 chkconfig 命令查看 psacct 服务状态,如下所示: rootlab2 # chkconfig -list psacct psacct 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭 使用命令 chkconfig 命令启用默认启动,并使用命令/etc/init.d/psacct start 命令 来启动 psacct 服务,如下所示。 rootlab2 # chkconfig psacct on rootlab2 # /etc/init.d/psacct start 开启进程记帐: 确定 rootlab2 # 1.4.2 对网络行为进行审计 第一步:显示用户连线时间的统计信息 可以根据登陆数/退出数在屏幕上打印出用户的连线时间 (单位为小时)。总计时 间也可以打印出来,如果你执行没有任何参数的 ac 命令, 屏幕将会显示总计的连 线时间。 rootlab2 # ac total 102.27 显示每一天的连线统计时间: rootlab2 # ac -d Jan 12 total 23.86 Jan 13 total 1.17 Jan 14 total 13.11 Jan 15 total 6.79 Jan 26 total 46.37 Today total 10.97 rootlab2 # 显示每一个用户的总计连线时间和所有用户总计连线时间: rootlab2 # ac -p user1 9.31 user2 7.62 root 85.36 total 102.29 rootlab2 # 第二步:查找用户过去执行的命令 可以使用 lastcomm 命令打印出用户过去执行的命令. 你也可以通过用户名, tty 名或命令名来搜索以往执行的命令。 比如显示 user1 用户过去执行的命令: rootlab2 # lastcomm user1 bash user1 tty1 0.00 secs Wed Jan 27 06:24 id user1 tty1 0.00 secs Wed Jan 27 06:24 bash user1 tty1 0.00 secs Wed Jan 27 06:24 id user1 tty1 0.00 secs Wed Jan 27 06:24 bash user1 tty1 0.00 secs Wed Jan 27 06:24 id user1 tty1 0.00 secs Wed Jan 27 06:24 unicode_start user1 tty1 0.01 secs Wed Jan 27 06:24 setfont user1 tty1 0.04 secs Wed Jan 27 06:24 gzip user1 tty1 0.00 secs Wed Jan 27 06:24 loadkeys user1 tty1 0.00 secs Wed Jan 27 06:24 dumpkeys user1 tty1 0.00 secs Wed Jan 27 06:24 kbd_mode user1 tty1 0.00 secs Wed Jan 27 06:24 consoletype user1 tty1 0.00 secs Wed Jan 27 06:24 bash user1 tty1 0.00 secs Wed Jan 27 06:24 consoletype user1 tty1 0.00 secs Wed Jan 27 06:24 bash user1 tty1 0.00 secs Wed Jan 27 06:24 id user1 tty1 0.00 secs Wed Jan 27 06:24 grep user1 tty1 0.00 secs Wed Jan 27 06:24 bash user1 tty1 0.00 secs Wed Jan 27 06:24 grep user1 tty1 0.00 secs Wed Jan 27 06:24 bash user1 tty1 0.00 secs Wed Jan 27 06:24 egrep user1 tty1 0.00 secs Wed Jan 27 06:24 bash user1 tty1 0.00 secs Wed Jan 27 06:24 dircolors user1 tty1 0.00 secs Wed Jan 27 06:24 bash user1 tty1 0.00 secs Wed Jan 27 06:24 hostname user1 tty1 0.00 secs Wed Jan 27 06:24 bash user1 tty1 0.00 secs Wed Jan 27 06:24 id user1 tty1 0.00 secs Wed Jan 27 06:24 每一行信息都在屏幕上打印出来,以第一行输出项为例: ls user1 tty1 0.01 secs Tue Jan 12 16:24 分析: ls 是进程的命令名 user1 是执行命令的用户名 tty1 终端名 0.01 secs - 进程退出时间 你可以通过执行下面的命令来搜索进程记帐日志,如下所示: rootlab2 # lastcomm ls ls root pts/2 0.01 secs Wed Jan 27 07:27 ls root pts/2 0.01 secs Wed Jan 27 07:26 ls root pts/2 0.01 secs Wed Jan 27 07:26 ls root pts/2 0.01 secs Wed Jan 27 07:18 ls root pts/2 0.01 secs Wed Jan 27 06:10 ls root pts/0 0.01 secs Wed Jan 27 06:08 ls user1 pts/0 0.02 secs Wed Jan 27 06:05 ls user1 pts/0 0.01 secs Wed Jan 27 06:04 ls root pts/2 0.01 secs Wed Jan 27 05:52 ls root pts/2 0.02 secs Wed Jan 27 05:34 ls root pts/0 0.01 secs Wed Jan 27 05:32 ls root pts/0 0.02 secs Wed Jan 27 05:32 ls root pts/0 0.02 secs Wed Jan 27 05:32 ls root pts/0 0.04 secs Wed Jan 27 05:28 第三步:统计记帐信息 可以使用 sa 命令打印过去执行命令的统计信息。另外,sa 命令保存了一个叫 做 savacct 文件,文件包含了命令被调用的次数和资源使用的次数。而且 sa 还提供 每一个用户的统计信息, 这些信息保存在一个叫做 usracct 的文件当中。 rootlab2 # sa 5581 4065.23re 8.81cp 1386k 85 1894.22re 7.63cp 2872k *other* 3 4.67re 0.23cp 2435k prelink 3 65.75re 0.13cp 11812k gnome-terminal 16 0.37re 0.09cp 1210k sort 4 0.32re 0.08cp 1911k rpmq 29 453.61re 0.08cp 1597k bash 2 44.73re 0.05cp 10242k python2 17 11.27re 0.05cp 2608k vim 8 0.17re 0.05cp 1426k uniq 64 0.09re 0.04cp 1459k sed 3 168.03re 0.04cp 1894k sshd 2774 0.25re 0.02cp 1406k ld-linux.so.2 9 201.32re 0.02cp 732k login 149 0.20re 0.02cp 1235k grep 23 0.02re 0.01cp 669k pidof 2 0.02re 0.01cp 1006k xkbcomp 17 0.02re 0.01cp 1390k setfont 2 0.33re 0.01cp 500k readahead 4 2.97re 0.01cp 920k telnetd 2 0.25re 0.01cp 1570k rc 17 105.96re 0.01cp 1567k su 44 14.52re 0.01cp 1217k vsftpd* 3 0.13re 0.01cp 1458k ifup-post 9 6.33re 0.01cp 2337k sendmail* 2 67.03re 0.01cp 7884k eggcups 4 45.49re 0.01cp 3494k consolehelper-g 以结果输出的第一行为例: 5288 2.55re 1.15cp 1400k ld-linux.so.2 分析: 2.55re “实际时间“ 单位为分钟. 1.15cp 系统和用户时间总数 (CPU 时间, 单位为分钟) 1400k 核心使用所占的平均 CPU 时间, 一个单元的大小为 1K ld-linux.so.2 命令名 第四步:查看占用 CPU 可以使用 sa m 命令,如下所示: rootlab2 # sa -m 5584 4065.23re 8.81cp 1386k root 5021 3827.02re 8.73cp 1408k user1 388 8.79re 0.03cp 1044k gdm 1 0.19re 0.03cp 15098k user2 122 2.90re 0.01cp 1087k nobody 27 8.00re 0.01cp 1197k smmsp 5 12.61re 0.00cp 1808k sshd 3 0.07re 0.00cp 1549k user11 11 5.95re 0.00cp 1218k htt 6 199.70re 0.00cp 9635k 可以通过查看 re、k、cp/cpu(见上面输出解释)时间来找出可疑的活动,或某个 用户/ 命令占用了所有的 CPU 时间。 如果 CPU/Memeory 使用数(命令)在不断增加, 可以说明命令存在问题。 1. 5 拓展知识 1.5.1 TCPDUMP 详解 tcpdump 是一个用于截取网络分组,并输出分组内容的工具。tcpdump 凭借强 大的功能和灵活的截取策略,使其成为类 UNIX 系统下用于网络分析和问题排查的 首选工具。 tcpdump 提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维 护和入侵者都是非常有用的工具。tcpdump 存在于基本的 Linux 系统中,由于它需 要将网络界面设置为混杂模式,普通用户不能正常执行,但具备 root 权限的用户可 以直接执行它来获取网络上的信息。因此系统中存在网络分析工具主要不是对本机 安全的威胁,而是对网络上的其他计算机的安全存在威胁。 一、概述 顾名思义,tcpdump 可以将网络中传送的数据包的“头”完全截获下来提供分析。它 支持针对网络层、协议、主机、网络或端口的过滤,并提供 and、or、not 等逻辑语 句来帮助你去掉无用的信息。 引用 # tcpdump vv tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 11:53:21.444591 IP (tos 0x10, ttl 64, id 19324, offset 0, flags DF, proto 6, length: 92) asptest.localdomain.ssh 44.1858: P 3962132600:3962132652(52) ack 2726525936 win 1266 asptest.localdomain.1077 53.domain: bad udp cksum 166e! 325+ PTR? 92.. (46) 11:53:21.446929 IP (tos 0x0, ttl 64, id 42911, offset 0, flags DF, proto 17, length: 151) 53.domain asptest.localdomain.1077: 325 NXDomain q: PTR? 92.. 0/1/0 ns: 168.192.. (123) 11:53:21.447408 IP (tos 0x10, ttl 64, id 19328, offset 0, flags DF, proto 6, length: 172) asptest.localdomain.ssh 44.1858: P 168:300(132) ack 1 win 1266 347 packets captured 1474 packets received by filter 745 packets dropped by kernel 不带参数的 tcpdump 会收集网络中所有的信息包头,数据量巨大,必须过滤。 二、选项介绍 引用 -A 以 ASCII 格式打印出所有分组,并将链路层的头最小化。 -c 在收到指定的数量的分组后,tcpdump 就会停止。 -C 在将一个原始分组写入文件之前,检查文件当前的大小是否超过了参数 file_size 中指定的大小。如果超过了指定大小,则关闭当前文件,然后在打开一个 新的文件。参数 file_size 的单位是兆字节(是 1,000,000 字节,而不是 1,048,576 字节) 。 -d 将匹配信息包的代码以人们能够理解的汇编格式给出。 -dd 将匹配信息包的代码以 c 语言程序段的格式给出。 -ddd 将匹配信息包的代码以十进制的形式给出。 -D 打印出系统中所有可以用 tcpdump 截包的网络接口。 -e 在输出行打印出数据链路层的头部信息。 -E 用 spiipaddr algo:secret 解密那些以 addr 作为地址,并且包含了安全参 数索引值 spi 的 IPsec ESP 分组。 -f 将外部的 Internet 地址以数字的形式打印出来。 -F 从指定的文件中读取表达式,忽略命令行中给出的表达式。 -i 指定监听的网络接口。 -l 使标准输出变为缓冲行形式,可以把数据导出到文件。 -L 列出网络接口的已知数据链路。 -m 从文件 module 中导入 SMI MIB 模块定义。该参数可以被使用多次,以导 入多个 MIB 模块。 -M 如果 tcp 报文中存在 TCP-MD5 选项,则需要用 secret 作为共享的验证码 用于验证 TCP-MD5 选选项摘要(详情可参考 RFC 2385) 。 -b 在数据- 链路层上选择协议,包括 ip、arp 、rarp、ipx 都是这一层的。 -n 不把网络地址转换成名字。 -nn 不进行端口名称的转换。 -N 不输出主机名中的域名部分。例如, 只输出 nic。 -t 在输出的每一行不打印时间戳。 -O 不运行分组分组匹配(packet-matching)代码优化程序。 -P 不将网络接口设置成混杂模式。 -q 快速输出。只输出较少的协议信息。 -r 从指定的文件中读取包(这些包一般通过-w 选项产生)。 -S 将 tcp 的序列号以绝对值形式输出,而不是相对值。 -s 从每个分组中读取最开始的 snaplen 个字节,而不是默认的 68 个字节。 -T 将监听到的包直接解释为指定的类型的报文,常见的类型有 rpc 远程过程调 用)和 snmp(简单网络管理协议;) 。 -t 不在每一行中输出时间戳。 -tt 在每一行中输出非格式化的时间戳。 -ttt 输出本行和前面一行之间的时间差。 -tttt 在每一行中输出由 date 处理的默认格式的时间戳。 -u 输出未解码的 NFS 句柄。 -v 输出一个稍微详细的信息,例如在 ip 包中可以包括 ttl 和服务类型的信息。 -vv 输出详细的报文信息。 -w 直接将分组写入文件中,而不是不分析并打印出来。 三、tcpdump 的表达式介绍 表达式是一个正则表达式,tcpdump 利用它作为过滤报文的条件,如果一个报 文满足表 达式的条件,则这个报文将会被捕获。如果没有给出任何条件,则网络上 所有的信息包 将会被截获。 在表达式中一般如下几种类型的关键字: 引用 第一种是关于类型的关键字,主要包括 host,net,port,例如 host , 指明 是一台主机, net 指明 是一 个网络地址,port 23 指明端口号是 23。如果没有指定类型,缺省的类型是 host。 第二种是确定传输方向的关键字,主要包括 src,dst,dst or src,dst and src, 这些关键字指明了传输的方向。举例说明, src ,指明 ip 包中源 地址是 , dst net 指明目的网络地址是 。如果没 有指明 方向关键字,则缺省是 src or dst 关键字。 第三种是协议的关键字,主要包括 fddi,ip,arp, rarp,tcp,udp 等类型。 Fddi 指明是在 FDDI (分布式光纤数据接口网络 )上的特定的网络协议,实际上它是 ” ether”的别名,fddi 和 ether 具有类似的源地址和目的地址,所以可以将 fddi 协议 包当作 ether 的包进行处理和分析。 其他的几个关键字就是指明了监听的包的协议 内容。如果没有指定任何协议,则 tcpdump 将会 监听所有协议的信息包。 除了这三种类型的关键字之外,其他重要的关键字如下:gateway, broadcast, less, greater, 还有三种逻辑运算,取非运算是 not ! , 与运算 是 and, 或运算是 or , ; 这些关键字可以组合起来构成强大的 组合条件来满足人们的需要。 四、输出结果介绍 下面我们介绍几种典型的 tcpdump 命令的输出信息 (1) 数据链路层头信息 使用命令: #tcpdump -e host ICE ICE 是一台装有 linux 的主机。它的 MAC 地址是 0:90:27:58:AF:1A H219 是一台装有 Solaris 的 SUN 工作站。它的 MAC 地址是 8:0:20:79 :5B :46 ; 上一条命令的输出结果如下所示: 引用 21:50:12.847509 eth0 ICE. telne t 0:0(0) ack 22535 win 8760 (DF) 21:50:12 是显示的时间, 847509 是 ID 号,eth0 表示从网络接口设备发送分组, 8:0:20:79:5b:46 是主机 H219 的 MAC 地址, 它表明是从源地址 H219 发来的分组 . 0:90:27:58:af:1a 是主机 ICE 的 MAC 地址, 表示该分组的目的地址是 ICE。 ip 是表明该分组是 IP 分组,60 是分组的长度, h219.33357 ICE. telnet 表明该分组是从主机 H219 的 33357 端 口发往主机 ICE 的 TELNET(23)端口。 ack 22535 表明对序列号是 222535 的包 进行响应。 win 8760 表明发 送窗口的大小是 8760。 (2) ARP 包的 tcpdump 输出信息 使用命令: #tcpdump arp 得到的输出结果是: 引用 22:32:42.802509 eth0 arp who-has route tell ICE (0:90:27:58:af:1a) 22:32:42.802902 eth0 表明从主机发出该分组,arp 表明是 ARP 请求包, who-has route tell ICE 表明是主机 ICE 请求主机 route 的 MAC 地址。 0:90:27:58:af:1a 是主机 ICE 的 MAC 地址。 (3) TCP 包的输出信息 用 tcpdump 捕获的 TCP 包的一般输出信息是: 引用 src dst: flags data-seqno ack window urgent options src dst:表明从源地址到目的地址, flags 是 TCP 报文中的标志信息,S 是 SYN 标志, F (FIN), P (PUSH) , R (RST) “.“ (没有标记); data-seqno 是报文 中的数据 的顺序号, ack 是下次期望的顺序号, window 是接收缓存的窗口大小, urgent 表明 报文中是否有紧急指针。 Options 是选项。 (4) UDP 包的输出信息 用 tcpdump 捕获的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版现代化办公室租赁场地合同样本3篇
- 二零二五版精制粉原料供应链风险管理合同3篇
- 二零二五版地震监测基站场地租赁与应急救援合同3篇
- 2025年度医疗健康产业园区承包经营合同范本3篇
- 二零二五版温泉度假酒店SPA服务人员劳动合同3篇
- 二零二五年度离婚经济补偿协议范本及调解服务合同3篇
- 二零二五年度能源项目合作开发PPP模式合同范本3篇
- 物业管理公司2025年度招投标代理合同3篇
- 二零二五年度车位租赁合同:住宅小区车位使用权协议2篇
- 2025厂房买卖合同模板:高端装备制造厂房交易3篇
- 以发展为导向共创教育新篇章-2024年期末校长总结讲话稿
- 2025年焊工安全生产操作规程(2篇)
- 广东省广州越秀区2023-2024学年八年级上学期期末数学试卷(含答案)
- 临床经鼻高流量湿化氧疗患者护理查房
- 2024年贵州省中考数学真题含解析
- 参考新医大-中央财政支持地方高校发展专项资金建设规
- 《中医内科学关格》课件
- 2024年中国PCB板清洗剂市场调查研究报告
- 《纸管》规范要求
- 【数学】2021-2024年新高考数学真题考点分布汇
- 2024年育婴师合同协议书
评论
0/150
提交评论