Method One: Check the MD5 code of the file
>certUtil -hashfile <file> MD5
Or:
> Get-FileHash .\<file> -Algorithm MD5 | Format-List
Method Two: Check the SHA256 code of the file
>certUtil -hashfile <file> SHA256
>certUtil -hashfile <file> MD5
Or:
> Get-FileHash .\<file> -Algorithm MD5 | Format-List
>certUtil -hashfile <file> SHA256
auditd 只能监控比它后启动的进程,恶意软件如果比它先启动则无法被其监控
在这一行里:
GRUB_CMDLINE_LINUX="......"
添加:
GRUB_CMDLINE_LINUX="...... audit=1"
# grub2-mkconfig -o /boot/grub2/grub.cfg
https://access.redhat.com/solutions/971883
# chmod 644 resolv.conf
chmod: changing permissions of 'resolv.conf': Operation not permitted
This file is locked by chattr command
# chattr -i /etc/resolv.conf
# chmod 644 resolv.conf
# chattr +i /etc/resolv.conf
# /usr/sbin/ausearch --start $(date +\%m/\%d/\%Y -d "-1 month") -i --input-logs | egrep "/test/test.txt.*nametype=CREATE" | awk '{print $2,$3,$6}'
(补充:这里以查看 /test/test.txt 文件有没有被创建为例)
# /usr/sbin/ausearch --start $(date +\%m/\%d/\%Y -d "-1 month") -i --input-logs | egrep "/test/test.txt.*nametype=DELETE" | awk '{print $2,$3,$6}'
(补充:这里以查看 /test/test.txt 文件有没有被删除为例)
# /usr/sbin/ausearch --start $(date +\%m/\%d/\%Y -d "-1 month") -i --input-logs | egrep "/test/test.txt.*nametype=" | awk '{print $2,$3,$6}' | uniq
(补充:这里以查看 /test/test.txt 文件有没有存在过为例)
# service auditd restart
# auditctl -s
# chkconfig auditd on
# chkconfig --list auditd
# auditctl -l
# vi /etc/audit/audit.rules
删除里面的所有内容
# service auditd restart
或者:
# augenrules
# auditctl -D
(补充:此操作重启后失效)
# auditctl -W <policy>
(补充:此操作重启后失效)
# auditctl -d <policy>
(补充:此操作重启后失效)
# cat /var/log/audit/audit.log
# ausearch -f <file/directory>
# ausearch -k <key_name>
# aureport -k
-w <file/directory> -p <previlege> -k <key_name>
(
补充:
1) 文件名或目录名,需要绝对路径
2) 监控的权限,可以是 rwxa 其中的任意 1 个或多个,r 代表读权限、w 代表写权限,x 代表执行权限,a 代表文件类型
3) 此类日志的关键词
)
# auditctl -w <file/directory> -p <previlege> -k <key_name>
# vim /etc/audit/audit.rules
添加以下内容:
......
-w <file/directory> -p <previlege> -k <key_name>
(
注意:永久添加的规则后要重启 auditd 服务后才会生效
# service auditd restart
或者:
# augenrules
)
# auditctl -w /etc/nginx/nginx.conf
(补充:这里以临时添加监控 /etc/nginx/nginx.conf 文件的读、写、执行和文件属性变化的规则为例)
# auditctl -w /etc/nginx/nginx.conf -p rwxa -k 'nginx'
(补充:这里以临时添加监控 /etc/nginx/nginx.conf 文件的读、写、执行和文件属性变化,并设置关键词为 nginx 的规则为例)
-a <action>,<filter> -S <system_call> -F <field>=<value> -k <key_name>
(
补充:
1) 和 用于确定事件被记录, 的值可以是 always 或者 never, 的值可以是 task、exit、user 或者 exclude
2) 是系统调用,Linux 系统调用的名称在 /usr/include/asm/unistd_64.h 文件中,可以将多个系统调用放在一个规则里,例:-S <system_call> -S <system_call> ……,或者 -S <system_call>,<system_call>……
3) 和 是过略条件,可以将多个过略条件放在一个规则里,-F <field>=<value> -F <field>=<value> ……
4) 是此类日志的关键词
)
# auditctl -a <action>,<filter> -S <system_call> -F <field>=<value> -k <key_name>
# vim /etc/audit/audit.rules
添加以下内容:
......
-a <action>,<filter> -S <system_call> -F <field>=<value> -k <key_name>
(
注意:永久添加的规则后要重启 auditd 服务后才会生效
# service auditd restart
或者:
# augenrules
)
# auditctl -a always,exit -S rmdir -S unlink -S unlinkat -S rename -S renameat -F auid>=1000 -F auid!=unset -F auid!=4294967295 -k delete
(补充:这里以临时监控所有 UID 大于 1000 的用户删除操作为例)
(注意:这里的 -F auid!=4294967295 是为了排除 login UID 没有被设置的用户)
# auditctl -a always,exit -S unlink -S unlinkat -S rename -S renameat -F auid>=1000 -F auid!=unset -F auid!=4294967295 -k delete
(补充:这里以临时监控所有 UID 大于 1000 的用户删除操作为例)
(注意:这里的 -F auid!=4294967295 是为了排除 login UID 没有被设置的用户)
# auditctl -a always,exit -F arch=b64 -S socket
# auditctl -a always,exit -F arch=b64 -S connect
# auditctl -a always,exit -F arch=b64 -S sendmmsg
# auditctl -a always,exit -F arch=b64 -S sendmsg
# auditctl -a always,exit -F arch=b64 -S bind
# auditctl -a always,exit -F arch=b64 -S recvmsg
# auditctl -a always,exit -F arch=b64 -S close
(补充:这里以监控所有网络连接为例)