1. 什么是日志?
日志记录的概念。
日志数据的核心是日志消息或日志,由计算机系统、设备、软件等响应某些刺激而产生。 例如,Linux用户可以登录和注销,防火墙ACL的传递和拒绝,存储系统故障。
日志数据是日志消息的内在含义,它告诉您生成日志消息的原因。 日志是日志消息的集合,用于显示某些事件的完整图片。
2. 日志的法律要求
引用《网络安全法》:
第三章 网络运行安全 第一节 一般规定 第二十一条.
国家实行网络安全分级保护制度。 网络运营者应当按照网络安全分层保护制度的要求,履行以下安全保护义务,确保网络不受干扰、破坏和未经授权的访问,防止网络数据泄露、被盗用或被篡改:
1)制定内部安全管理制度和操作规程,指定网络安全责任人,落实网络安全保护责任;
(二)采取技术措施,防止计算机病毒、网络攻击、网络入侵等危害网络安全的行为;
3)采取技术措施对网络运行状态和网络安全事件进行监控和记录,并按照规定保存相关网络日志至少6个月;
4)对重要数据采取数据分类、备份、加密等措施;
5)法律、行政法规规定的其他义务。
在网络安全等级保护中,经常会提出对各种日志进行集中存储的要求,主要是为了满足国家法律法规和标准的要求。 下面就Linux服务器日志需求的技术整改进行讨论:
想法 1:配置 syslogconf 将 syslog 发送到日志服务器。
思路二:在网络上部署全面的日志审计系统,通过分流或探测的方式收集节点日志。
思路三:使用logrotate日志文件管理工具实现日志转储。
前两种方式将在稍后添加,第三种方式将在本次更新中更新。
logrotate 程序是一个日志文件管理工具。 用于删除旧日志文件并创建新日志文件。 我们可以根据日志文件的大小或天数来剪切和管理日志,这个过程也叫“转储”。
大多数 Linux 发行版使用 Logrotate 或 NewSyslog 进行日志管理。 logrotate程序不仅可以压缩日志文件以减少存储空间,还可以将日志发送到指定的电子邮件中,以便管理员及时查看日志。
默认情况下,logrotate 软件包安装在主要的 Linux 发行版上,如果由于某种原因 Logrotate 没有出现在其中,您可以使用 apt-get 或 yum 安装它。
在 debian 或 ubuntu 上:
# apt-get install logrotate cron
在 Fedora、centos 或 rhel 上:
# yum install logrotate crontabs
logrotate 运行在 cron 上,其脚本为 etc crondaily/logrotate;同时,我们可以在 etc logrotate 中找到它的配置文件。
cat /etc/logrotate.conf
默认配置文件内容:
# see "man logrotate"有关详细信息,请参阅帮助文档。
# rotate log files weekly
每周设置每周转储一次(每天、每周、每月当然可以每天、每周、每月使用这些参数)。
# keep 4 weeks worth of backlogs
旋转 4 最多可以倾倒 4 次。
# create new (empty) log files after rotating old ones
create 在转储后文件不存在时创建。
# uncomment this if you want your log files compressed
compress 通过 gzip 压缩进行转储(nocompress 可以不压缩)。
# rpm packages drop log rotation information into this directory
include /etc/logrotate.d 其他日志文件的转储配置文件,包含在此目录中。
# no packages own wtmp --we'll rotate them here
var log wtmp { 设置 var log wtmp 日志文件的转储参数。
每月转储。
create 0664 root utmp 如果转储后文件不存在,则文件所有者为 root,该组属于 utmp,对应权限为 0664
一次最多轮换 1 个转储。