日志审计是系统安全管理的需要,因为日志审计是日常安全管理中最为重要的环节之一,它可以帮助运维人员快速评估系统的健壮性、安全性。
风险分析 当系统遭受攻击时,将系统的操作记录到日志中是非常有必要的。日志可以帮助我们了解系统进行了哪些操作,可以让我们很快地发现漏洞点并及时进行修复,同时为事后审计、事件追溯提供重要的依据。
加固详情 配置auditd服务,auditd是记录Linux审计信息的内核模块。它记录系统中的各种动作和事件,比如系统调用、文件修改、执行的程序、系统登录及退出登录。auditd 会将审计记录写入日志文件,系统管理员可以通过它们来确定是否存在对系统的未经授权的访问等安全问题。
加固步骤
(1)安装auditd服务。
使用命令rpm-q audit audit-libs查询是否已安装auditd服务。
如果已安装则返回相关信息,如图1-9所示。
图1-9 查看auditd服务信息
如果未安装,则执行以下命令进行安装。
yum install audit audit-libs
(2)启动auditd服务。
systemctl status auditd | grep 'Active: active (running) '
如果已启动则返回auditd服务状态,如图1-10所示。
图1-10 查看auditd服务状态
如果未启动auditd服务,则执行命令systemctl--now enable auditd启动服务。
(3)确保日志记录不会被自动删除,确保在审核日志已满时禁用系统。
编辑文件/etc/audit/rules.d/*.rules(*代表任意字符,每个系统值不同,所以用*表示),添加表1-4所示的auditd配置参数,并在系统中重启auditd服务使配置生效。
service auditd restart #重启auditd服务
表1-4 auditd配置参数
(4)确保收集修改日期和时间信息的事件。
编辑文件/etc/audit/rules.d/*.rules,执行以下命令添加配置项。
echo '-a always,exit-F arch=b32-S adjtimex-S settimeofday-S stime-k time-change'>>/etc/audit/rules.d/audit.rules
echo '-a always,exit-F arch=b32-S clock_settime-k time-change'>>/etc/audit/rules.d/audit.rules
echo '-w /etc/localtime-p wa-k time-chang'>>/etc/audit/rules.d/audit.rules
(5)确保收集修改用户/组信息的事件。
编辑文件/etc/audit/rules.d/*.rules,执行以下命令添加配置项。
echo '-w /etc/group-p wa-k identity'>>/etc/audit/rules.d/audit.rules
echo '-w /etc/passwd-p wa-k identity'>>/etc/audit/rules.d/audit.rules
echo '-w /etc/gshadow-p wa-k identity'>>/etc/audit/rules.d/audit.rules
echo '-w /etc/shadow-p wa-k identity'>>/etc/audit/rules.d/audit.rules
echo '-w /etc/security/opasswd-p wa-k identity'>>/etc/audit/rules.d/audit.rules
(6)登录及退出登录日志配置。
编辑文件/etc/audit/rules.d/*.rules,执行以下命令添加配置项。
echo '-w /var/log/lastlog-p wa-k logins'>>/etc/audit/rules.d/audit.rules
echo '-w /var/run/faillock/-p wa-k logins'>>/etc/audit/rules.d/audit.rules
如果对auditd服务的配置文件/etc/audit/rules.d/*.rules进行修改,那么必须重启服务才可以使配置生效。重启命令为:service auditd restart。
风险分析 当系统遭受攻击时,将系统的操作记录到日志中是非常有必要的。日志可以帮助我们了解系统进行了哪些操作,可以让我们很快地发现漏洞点并及时进行修复,同时为事后审计、事件追溯提供重要的依据。
加固详情 配置rsyslog服务,rsyslog是Linux系统中用来实现日志功能的服务。该服务默认已经安装,并且自动启用,主要用来采集日志,不生成日志。
加固步骤
(1)安装rsyslog服务。
执行命令rpm-q rsyslog,如果已安装则返回rsyslog版本信息;如果未安装,则执行命令yum install rsyslog进行安装。
(2)启动rsyslog服务。
在系统中执行命令systemctl status rsyslog,查看rsyslog服务状态,如果已启动则返回相关信息,如图1-11所示。
图1-11 查看rsyslog服务状态
如果服务未启动则执行以下命令启动服务。
systemctl start rsyslog
(3)配置rsyslog默认文件权限。
执行命令grep ^\$FileCreateMode /etc/rsyslog.conf /etc/rsyslog.d/*.conf,如果无返回值则表示未配置默认文件权限。
执行以下命令,进行默认文件权限配置。
echo "\$FileCreateMode 0640" >> /etc/rsyslog.d/*.conf
echo "\$FileCreateMode 0640" >> /etc/rsyslog.conf
systemctl restart rsyslog
风险分析 当系统遭受攻击时,将系统的操作记录到日志中是非常有必要的。日志可以帮助我们了解系统进行了哪些操作,可以让我们很快地发现漏洞点并及时进行修复,同时为事后审计、事件追溯提供重要的依据。
加固详情 配置journald服务,journald是一个改进型日志管理服务,可以收集来自内核、系统早期启动阶段的日志,系统守护进程在启动和运行中的标准输出和错误信息,以及syslog的日志。
加固步骤
(1)配置日志为将日志发送到rsyslog。
在系统中执行以下命令,如果返回ForwardToSyslog=yes,则表示已配置将日志发送到rsyslog。
grep-E ^\s*ForwardToSyslog /etc/systemd/journald.conf
如果未配置则执行以下命令,进行加固项配置。
echo "ForwardToSyslog=yes">>/etc/systemd/journald.conf
systemctl restart journald
(2)配置压缩大文件的功能。
在系统中执行以下命令,如果返回Compress=yes,则表示已配置压缩大文件的功能。
grep-E ^\s*Compress /etc/systemd/journald.conf
如果未配置则执行以下命令,进行加固项配置。
echo "Compress=yes">>/etc/systemd/journald.conf
systemctl restart journald
风险分析 系统路径/var/log 中的日志文件包含系统中许多服务的日志信息,如果日志文件为所有人可见则会存在敏感信息泄露的风险,所以应该配置最小权限。
加固详情 配置日志文件最小权限。
加固步骤 在系统中执行以下命令对日志文件进行权限配置,这条命令的意思是将路径/var/log下的所有文件的群组用户和其他用户权限最小化。
find /var/log-type f-exec chmod g-wx,o-rwx "{}"+