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#有效用户#实际登陆时间#路径#使用的命令