[步骤] auditd 的设置 (日志保存时间)

方法一:通过 auditd 配置文件设置

1.1 设置 auditd 日志的保存时间

# vim /etc/audit/auditd.conf

确保部分内容如下:

......
local_events = yes
......
write_logs = yes
......
log_file = /var/log/audit/audit.log
......
max_log_file = 8
......
num_logs =5
......
max_log_file_action = ROTATE
......


补充:这里以
1) 开启 auditd 日志 (local_events = yes) (write_logs = yes)
2) 将 auditd 日志写入 /var/log/audit/audit.log 文件 (log_file = /var/log/audit/audit.log)
3) auditd 日志每达到 8M 大小就将旧的 auditd 日志进行备份并创建新的 auditd 日志 (max_log_file = 8) (max_log_file_action = ROTATE),也可以修改成: max_log_file_action = keep_logs
4) 旧的 auditd 日志保存 5 份 (num_logs =5)
为例

1.2 让设置的 auditd 时间生效

# service auditd restart

方法二:通过 logrotate 配置文件设置

2.1 设置 auditd 日志的保存时间

# vim /etc/logrotate.d/auditd

创建以下内容:

/var/log/audit/*
{
rotate 30
daily
missingok
compress
delaycompress
postrotate
touch /var/log/audit/audit.log ||:
chmod 0600 /var/log/audit/audit.log ||:
service auditd restart
endscript
}


补充:这里以:
1) 备份的日志文件保留 30 份 (rotate 30)
2) 每天将现在的日志文件进行备份并生成新的日志文件 (dayly)

2.2 让设置的 auditd 时间生效

# systemctl restart logrotate.service

[步骤] SFTP 日志的开启 (禁止 SFTP 用户 SSH 登录、限制 SFTP 用户可进入的目录范围和端口分离版)

注意:

在禁止 SFTP 用户 SSH 登录、限制 SFTP 用户可进入的目录和端口分离的情况下开启 SFTP 日志前,要先设置 SFTP 相应的安全项:

正文:

步骤一:开启 SFTP 日志

1.1 开启 SFTP 的登录日志

1.1.1 修改配置文件 /etc/ssh/sshdsftp_config,开启 sshdsftp 的日志功能
# vim /etc/ssh/sshdsftp_config

将部分内容修改如下:

......
LogLevel INFO
......
1.1.2 让修改的配置生效
# systemctl restart sshdsftp.service

1.2 开启 SFTP 的文件日志

1.2.1 修改 /etc/audit/auditd.conf 配置文件,指定 auditd 日志的存放位置
# vim /etc/audit/auditd.conf

将部分内容修改如下:

......
log_file = /var/log/audit/audit.log
......
1.2.2 修改 /etc/audit/rules.d/audit.rules 配置文件,监控用于 SFTP 服务器的目录以及目录下的目录和文件
# vim /etc/audit/rules.d/audit.rules

添加以下内容:

......
-a exit,always -F dir=/sftpuser -F perm=rwxa

(补充:这里以添加 /sftpuser 目录为例)

1.2.2 让修改的配置生效
# service auditd restart

或者:

# augenrules

步骤二:显示 SFTP 日志

2.1 显示 SFTP 的登录日志

# cat /var/log/messages | grep systemd-logind


补充:这里会显示
1) 用户
2) 用户的登录时间
3) 用户的退出时间

(注意:普通用户的登录记录也在里面)

2.2 显示 SFTP 的文件日志

# cat /var/log/audit/audit.log


补充:这里会显示
1) 用户
2) 操作的时间
2) 被操作的文件
3) 被操作的动作 (创建、删除和显示)

或者:

# sudo ausearch -i -k user-modify

(补充:这里以显示文件被修改的记录为例)

[命令] Linux 命令 pdbedit Samba 用户的管理

内容一:pdbedit 命令的格式

# pdbedit <option> <user>

内容二:pdbedit 命令的选项

1) -a 或者 –create,创建 Samba 用户
2) -x 或者 –delete,删除 Samba 用户
3) -r 或者 –modify,修改 Samba 用户
4) -L 或者 –list,显示所有 Samba 用户
5) -Lv 或者 –list –verbose,显示所有 Samba 用户的详细信息
6) -c “[D]” -u,锁定该 Samba 用户
7) -c “[]” -u,解锁该 Samba 用户

[步骤] auditd 日志时间转换成可读格式以后再显示

方法一:通过创建额外的脚本实现 adutitd 日志时间格式的转换

1.1 创建用于 auditd 转换日志时间格式的脚本

# vim time_format_conversion.pl

创建以下内容:

s/(1\d{9})/localtime($1)/e

(补充:这里以创建名为 time_format_conversion.pl 的用于转换 auditd 日志时间格式的脚本为例)

1.2 转换 auditd 日志时间格式

# cat /var/log/audit/audit.log | perl -p time_format_conversion.pl

或者:

# less /var/log/audit/audit.log | perl -p time_format_conversion.pl

或者:

# more /var/log/audit/audit.log | perl -p time_format_conversion.pl

或者:

# head /var/log/audit/audit.log | perl -p time_format_conversion.pl

或者:

# tail /var/log/audit/audit.log | perl -p time_format_conversion.pl

或者:

# tail -f /var/log/audit/audit.log | perl -p time_format_conversion.pl

(补充:这里以使用名为 time_format_conversion.pl 的用于转换 auditd 日志时间格式的脚本为例)

方法二:使用 /usr/sbin/ausearch 命令实现 adutitd 日志时间格式的转换

# /usr/sbin/ausearch --start $(date +\%m/\%d/\%Y -d "-1 month") -i --input-logs | egrep "/sftp*[0-9a-zA-Z].*txt.*nametype=" | grep -v Log.txt | awk '{print $2,$3,$6}' | uniq

(补充:这里以显示在 /sftp 目录下以 txt 结尾的文件的 auditd 日志为例)

[内容] NFS 常用参数

内容一:NFS 常用参数

1) no_root_squash 当使用 NFS 共享目录的客户端是以客户端的 root 用户的身份使用,那么对于这个共享目录而言,这个客户端具有 root 权限
2) root_squash 当使用 NFS 共享目录的客户端是以客户端的 root 用户的身份使用,那么对于这个共享目录而言,这个客户端依旧没有 root 权限
3) 此为默认值,anon=0 禁止使用 NFS 共享目录的客户端以随机身份使用
4) anon=1 允许使用 NFS 共享目录的客户端以随机身份使用
5) soft 使用 NFS 共享目录的客户端以软挂载的方式进行挂载,若客户端的请求得不到回应,则会重新发出请求并传回错误信息
6) 此为默认值,hard 使用 NFS 共享目录的客户端以软挂载的方式进行挂载,若客户端的请求得不到回应,则会一直发出请求直到得到 NFS 服务器的回应为止
7) timeo=120 使用 NFS 共享目录的客户端在连接不通后,会以 1/7 秒的时间尝试重新连接,默认会尝试重新连接 7 次,timeo=120 表示会重新尝试连接 120 次
8) rw 设置使用 NFS 共享目录的客户端拥有读和写的权限
9) nolock 取消文件锁

内容二:NFS 的挂载案例

# cat /etc/fstab
192.168.0.1:/test /test nfs timeo=120,rw,soft,nolock 0 0


补充:这里以
1) 挂载 192.168.0.1:/test 的目录到本地的 /test 目录
2) 以 nfs 格式进行挂载
3) 客户端在连接不通后会重新尝试连接 120 次
4) 客户端拥有读和写的权限
5) 以软挂载的方式进行挂载
6) 取消文件锁
7) 不进行数据备份
8) 不进行数据校验
为例