linux服务器安全审计怎么弄

linux服务器安全审计怎么弄,第1张

材料:

Linux审计系统auditd 套件

步骤:

安装 auditd

REL/centos默认已经安装了此套件,如果你使用ubuntu server,则要手工安装它:

sudo apt-get install auditd

它包括以下内容:

auditctl : 即时控制审计守护进程的行为的工具,比如如添加规则等等。

/etc/audit/audit.rules : 记录审计规则的文件

aureport : 查看和生成审计报告的工具。

ausearch : 查找审计事件的工具

auditspd : 转发事件通知给其他应用程序,而不是写入到审计日志文件中。

autrace : 一个用于跟踪进程的命令

/etc/audit/auditd.conf : auditd工具的配置文件。

Audit 文件和目录访问审计

首次安装 auditd 后, 审计规则是空的。可以用 sudo auditctl -l 查看规则。文件审计用于保护敏感的文件,如保存系统用户名密码的passwd文件,文件访问审计方法:

sudo auditctl -w /etc/passwd -p rwxa

-w path : 指定要监控的路径,上面的命令指定了监控的文件路径 /etc/passwd

-p : 指定触发审计的文件/目录的访问权限

rwxa : 指定的触发条件,r 读取权限,w 写入权限,x 执行权限,a 属性(attr)

目录进行审计和文件审计相似,方法如下:

$ sudo auditctl -w /production/

以上命令对/production目录进行保护。

3. 查看审计日志

添加规则后,我们可以查看 auditd 的日志。使用 ausearch 工具可以查看auditd日志。

sudo ausearch -f /etc/passwd

-f 设定ausearch 调出 /etc/passwd文件的审计内容

4. 查看审计报告

以上命令返回log如下:

time->Mon Dec 22 09:39:16 2016

type=PATH msg=audit(1419215956.471:194): item=0 name="/etc/passwd"

inode=142512 dev=08:01 mode=0100644 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL

type=CWD msg=audit(1419215956.471:194): cwd="/home/somebody"

type=SYSCALL msg=audit(1419215956.471:194): arch=40000003 syscall=5 

success=yes exit=3 a0=b779694b a1=80000 a2=1b6 a3=b8776aa8 items=1 ppid=2090 pid=2231 auid=4294967295 uid=1000 gid=1000 euid=0 suid=0 fsuid=0 egid=1000 sgid=1000 fsgid=1000 tty=pts0 ses=4294967295

comm="sudo" exe="/usr/bin/sudo" key=(null)

time : 审计时间。

name : 审计对象

cwd : 当前路径

syscall : 相关的系统调用

auid : 审计用户ID

uid 和 gid : 访问文件的用户ID和用户组ID

comm : 用户访问文件的命令

exe : 上面命令的可执行文件路径

以上审计日志显示文件未被改动。

通过堡垒机可以直观有效的实现,linux和windows *** 作系统的运维审计。 对于Linux *** 作审计,当前主要有两种形式。一种是,通过收取linux *** 作系统上的日志,来进行审计。优点是全面,内容是零散,缺乏直观性,一般需要专业的软件来收集和呈现,同时由于容易被删除,可能导致关键审计信息缺失问题,以及由于共享账号问题,导致无法定位到人。另一种是,通过碉堡堡垒机软件来实现审计。优点是全面直观,可以关联到人,确定是只能对远程运维 *** 作进行审计,无法对直接登录 *** 作进行审计。 Windows *** 作审计,当前更多使用的是读取 *** 作系统日志方式进行审计,但是确认直观性,同时由于共享账号问题,无法审计到人。为了解决基于日志审计的弊端,可以使用碉堡堡垒机软件,先对运维人员进行身份认证,事后审计就可以将运维 *** 作画面直观回放,同时关联到人,但是弊端是无法对直接登录windows系统的 *** 作进行审计,只能对RDP远程 *** 作有效。

Linux 主机审计

Linux *** 作系统可以通过设置日志文件可以对每个用户的每一条命令进行纪录,不过这一功能默认是没有打开的。

开启这个功能的过程:

# touch /var/log/pacct

# action /var/log/pact

也可以用自已的文件来代替/var/log/pacct这个文件。但必须路径和文件名的正确。

sa命令与 ac 命令一样,sa 是一个统计命令。该命令可以获得每个用户或每个命令的进程使用的大致情况,并且提供了系统资源的消费信息。在很大程度上,sa 又是一个记帐命令,对于识别特殊用户,特别是已知特殊用户使用的可疑命令十分有用。另外,由于信息量很大,需要处理脚本或程序筛选这些信息。

lastcomm命令, 与 sa 命令不同,lastcomm 命令提供每一个命令的输出结果,同时打印出与执行每个命令有关的时间印戳。就这一点而说,lastcomm 比 sa 更有安全性。如果系统被入侵,请不要相信在 lastlog、utmp、wtm中记录的信息,但也不要忽略,因为这些信息可能被修改过了。另外有可能有人替换了who程序来掩人耳目。通常,在已经识别某些可疑活动后,进程记帐可以有效的发挥作用。使用 lastcomm 可以隔绝用户活动或在特定时间执行命令。

3、使用logrorate对审计文件管理

/var/log/utmp,/var/log/wtmp和/var/log/pacct文件都是动态的数据文件。wtmp和pacct文件是在文件尾部不断地增加记录。在繁忙的网络上,这些文件会变得很大。Linux提供了一个叫logrotate的程序,它允许管理员对这些文件进行管理。

Logrotate读取/etc/logrotate.d目录下的文件。管理员通过该目录下的脚本文件,控制logrotate程序的运作。一个典型的脚本文件如下:

{

rotate 5

weekly

errors root@serve1r

mail root@server1

copytruncate

compress

size 100k

}

脚本文件的含义如下:

● rotate 5——保留该文件一份当前的备份和5份旧的备份。

● weekly——每周处理文件一次,通常是一周的第一天。

● errors——向邮件地址发送错误报告。

● mail——向邮件地址发送相关的信息。

● copytruncate——允许进程持续地记录,备份文件创建后,把活动的日志文件清空。

● compress——使用gzip工具对旧的日志文件进行压缩。

● size 100k——当文件超过100k 时自动处理。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8999673.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存