centos审计服务(centos重启ssh服务)

centos系统默认日志审计功能是开启的吗

是。

centos日志默认是开启的,太老的版本不一定。

日志系统有三部分组成:

一、使用什么工具记录系统产生的日志信息。

syslog服务脚本管理的两个进程: syslogd、klogd来记录系统产生的日志信息;

klogd进程是专门为内核产生的日志信息服务的。

syslogd进程是专门为应用程序服务(除了内核)产生的日志信息服务的;

只有调用了 logger接口,应用程序才可以调用 syslogd工具帮助记录日志信息。

二、只要系统服务在运行,就会产生日志信息,我们使用专门的工具把它记录到磁盘上了,为了方便分析日志,日志文件不能太大、很久以前的日志文件我们应该把它删掉。

使用 logrotate命令来滚动,syslog记录的日志文件。

三、为了让人们从繁忙的工作中解脱出来。自动化管理:日志文件的滚动、备份、压缩等工作。

使用两个忠实的劳动者(进程):crond和 anacron,完成上述的所有工作。

linux服务器安全审计怎么弄

材料:

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=0name="/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=40000003syscall=5

success=yes exit=3 a0=b779694b a1=80000 a2=1b6 a3=b8776aa8 items=1 ppid=2090 pid=2231auid=4294967295 uid=1000 gid=1000euid=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系统下的用户审计方法

创建审计日志目录

代码如下:

mkdir-p/var/log/user_audit

创建用户审计日志文件;

代码如下:

touch/var/log/user_audit/user_audit.log

将文件赋予低权限用户

代码如下:

chown nobody:nobody/var/log/user_audit/user_audit.log

赋予所有人写权限

代码如下:

chmod 002/var/log/user_audit/user_audit.log

赋予所有用户追加权限

代码如下:

chattr+a/var/log/user_audit.log

编辑/etc/profile增加以下内容;

代码如下:

export HISTORY_FILE=/var/log/user_audit/user_audit.log

export PROMPT_COMMAND='{ date"+%y-%m-%d%T#####$(who am i|awk"{print/$1/"/"/$2/"/"/$5}")

实例

多人共同使用的服务器权限确实不好管理,误操作等造成故障,无法追究,最好的办法就是将用户操作实时记录到日志,并推送到远程日志服务器上。包括(用户登陆时间,目录,操作命令及时间戳等)。以便事后追查。

环境:centos5.5 X86_64 2台#备注:把两台主机的防火墙和selinux关闭。在进行操作。

(一)日志服务器IP:10.0.2.164

(二)客户端服务器IP:10.0.2.165

1.先在日志服务器10.0.2.164主机上操作:

代码如下:

[root@MySQL-B~]# echo"*.info/var/log/client"/etc/syslog.conf

#配置日志保存文件,把该文件第一行的*.info提出来。单独放一行。

[root@MySQL-B~]# service syslog restart#重启syslog日志服务。

Shutting down kernel logger: [ OK ]

Shutting down system logger: [ OK ]

Starting system logger: [ OK ]

Starting kernel logger: [ OK ]

[root@MySQL-B~]# vim/etc/sysconfig/syslog#接收客户端写入。

把SYSLOGD_OPTIONS="-m 0"更改为:SYSLOGD_OPTIONS="-m 1-r"

2.然后在客户端服务器10.0.2.165主机上操作:

代码如下:

[root@MySQL-A~]# vim/etc/profile#添加如下行。

export PROMPT_COMMAND='{ msg=$(history 1|{ read x y; echo$y;});logger"[euid=$(whoami)]":$(who am i):[`pwd`]"$msg";}'

[root@MySQL-A~]# source/etc/profile#重新手动source更新。

2.1.客户机修改日志服务器10.0.2.165主机上操作:

代码如下:

[root@MySQL-A~]# echo"10.0.2.164 logserver"/etc/hosts#日志服务器地址。

[root@MySQL-A~]# echo"*.info@logserver"/etc/syslog.conf

#将info日志推送到日志服务器,把该文件第一行的*.info提出来。单独放一行。

[root@MySQL-A~]#/etc/init.d/syslog restart#重启syslog日志。

Shutting down kernel logger: [ OK ]

Shutting down system logger: [ OK ]

Starting system logger: [ OK ]

Starting kernel logger: [ OK ]

3.测试,在客户端主机上10.0.2.165主机上测试并操作:

代码如下:

[root@MySQL-A~]# test

[root@MySQL-A~]# echo"this is a test 1"

this is a test 1

[root@MySQL-A~]# echo"this is a test 2"

this is a test 2

[root@MySQL-A~]# echo"this is a test 3"

this is a test 3

[root@MySQL-A~]# echo"this is a test 4"

this is a test 4

[root@MySQL-A~]# echo"this is a test 5"

this is a test 5

4.返回日志服务器10.0.2.164主机上看结果,是否记录下来客户端主机执行的操作?

代码如下:

[root@MySQL-B~]# cat/var/log/client

Apr 6 10:37:55 10.0.2.165 root: [euid=root]:root pts/1 Apr 6 10:37(10.0.2.188):[/root]echo"this is a test1"

Apr 6 10:37:59 10.0.2.165 root: [euid=root]:root pts/1 Apr 6 10:37(10.0.2.188):[/root]echo"this is a test2"

Apr 6 10:38:01 10.0.2.165 root: [euid=root]:root pts/1 Apr 6 10:37(10.0.2.188):[/root]echo"this is a test3"

Apr 6 10:38:04 10.0.2.165 root: [euid=root]:root pts/1 Apr 6 10:37(10.0.2.188):[/root]echo"this is a test4"

Apr 6 10:38:06 10.0.2.165 root: [euid=root]:root pts/1 Apr 6 10:37(10.0.2.188):[/root]echo"this is a test5"

返回参数分别为:#操作时间#操作IP#有效用户#实际登陆时间#路径#使用的命令

阅读剩余
THE END