博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux系统中的日志管理
阅读量:5245 次
发布时间:2019-06-14

本文共 3758 字,大约阅读时间需要 12 分钟。

日志对于安全来说,非常重要,它记录了系统每天发生的各种各样的事情,你可以通过它来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。 

日志主要的功能有:审计和监测。它还可以实时的监测系统状态,监测和追踪侵入者等等 
那么日志存放的位置在哪里呢? 
我们的 /var/log 是存放日志的位置 
这里写图片描述

常用的日志文件如下: 

btmp 记录denglu失败的信息 
lastlog 记录最近几次成功登录的事件和最后一次不成功的登录 
messages 从syslog中记录信息(有的链接到syslog文件) 
utmp    记录当前登录的每个用户 
wtmp    系统登录的情况:登入登出

登录信息的查看 

我们也可以通过last 命令查看登录日志内容 
哪个用户在哪个时间通过哪种方式登录系统的情况

/var/log/lastlog  #最后登录信息lastlog  #记录所有的用户什么时候登录过系统/var/log/btmp  # 用户登录系统的错误信息 lastb 查看 # 如果说你发现你的btmp文件变得很大,说明有很大的可能是有人在暴力破解你的主机

lastlog 和 last的区别: 

last 查看IP 

lastlog 查看后门的账号

日志的记录方式 

日志的种类: 
daemon 后台进程相关 
kern 内核产生的信息 
lpr 打印系统产生的 
authpriv 安全认证 
cron 定时相关 
mail 邮件相关 
syslog 日志服务本身的 
news 新闻系统 
local 0local 7 8个系统保留的类, 供其它的程序使用 /或者是用户自定义 
日志的级别: 轻重 
debug 排错的信息 
info 正常的信息 
notice 注意 
warn 警告 
err 错误 
crit 关键的错误 
alert 警报 
energ 紧急

日志服务 

旧版本 rhel5

服务名称  syslog 配置文件  /etc/syslog.confrhel6-7服务名称  rsyslog配置文件  /etc/rsyslog.conf#编辑配置文件  vim /etc/rsyslog.conf#kern.*    #内核类型的所有级别日志 存放到        /dev/console*.info;mail.none;authpriv.none;cron.none /var/log/messages 所有的类别级别是info以上 除了mail,authpriv,cron (产生的日志太多,不易于查看) 类别.级别 authpriv.* 认证的信息存放 /var/log/secure mail.* 邮件相关的信息 存放 -/var/log/maillog cron.* 计划任相关的信息 存放 /var/log/cron local7.* 开机时显示的信息存放--> /var/log/boot.log 注: “- ”号: 邮件的信息比较多,现将数据存储到内存,达到一定大小,全部写到硬盘.有利于减少I/O进程的开销 数据存储在内存,如果关机不当数据消失

日志输入的规则 

.info 高于info级别的信息全部记录到某个文件 
=级别 仅记录等于某个级别的日志 
例:.=info 只记录info级别的日志 
! 级别 除了某个级别意外,记录所有的级别信息 
例.!err 除了err外记录所有 
none 指的是排除某个类别

自定义ssh服务的日志

#编辑rsyslog配置文件vi /etc/rsyslog.conf输入 local 0 .*     /var/log/sshd.log   #日志的保存路径#定义ssh服务的日志级别#编辑sshd服务的主配置文件 vim /etc/ssh/sshd_config

这里写图片描述

#先重启rsyslog服务(生效配置) systemctl restart rsyslog#再重启sshd服务.生成日志 systemctl restart sshd#查看一下有没有对应的日志产生

日志的回滚 

在linux下的日志会定期进行回滚, 
控制系统执行日志回滚操作的配置文件主要有: 
/etc/logrotate.conf 以及 /etc/logrotate.d/ 这个目录下的明细配置文件。 
日志是很大的,如果让日志无限制的记录下去 是一件很可怕的事情,日积月累就有几百兆占用磁盘的空间, 
如果你要找出某一条可用信息海底捞针 
日志回滚原理: 
当日志达到某个特定的大小,我们将日志分类,之前的日志保留一个备份,再产生的日志创建一个同名的文件保存新的日志.

vim /etc/logrotate.conf # see "man logrotate" for details# rotate log files weeklyweekly  # 每周执行回滚# keep 4 weeks worth of backlogsrotate 4 #保留4个副本 # create new (empty) log files after rotating old ones create #创建新的文件存储数据 # use date as a suffix of the rotated file dateext #使用日期为后缀的回滚文件 #可以去/var/log目录下看看 # uncomment this if you want your log files compressed #compress # RPM packages drop log rotation information into this directory include /etc/logrotate.d # no packages own wtmp and btmp -- we'll rotate them here /var/log/wtmp { #指定的日志文件 monthly #每月轮转一次 create 0664 root utmp minsize 1M #日志文件必须大于1M才会去轮换(回滚) rotate 1 #保存一个轮换日志 } /var/log/btmp { missingok # 如果日志文件不存在,继续处理下一个文件而不产生报错信息。 monthly create 0600 root utmp #设置utmp 这个日志文件的权限,属主,属组 rotate 1 }

同样的,我们也可以自定义ssh日志的基础上,实现日志回滚

vim /etc/logrotate.conf/var/log/sshd.log{    missingok  #  如果日志文件不存在,继续处理下一个文件而不产生报错信息。    monthly    create 0600 root utmp #root用户,utmp组创建 minsize 1M rotate 1 }

配置远程日志服务器->实现日志集中的管理 

准备两台服务器 
server端配置

# 编辑 /etc/rsyslog.conf#Provides TCP syslog reception  $ModLoad imtcp   #开启支持tcp的模块$InputTCPServerRun 514 #允许接收tcp 514的端口传来的日志#UDP速度快不保证数据的完整 # TCP可靠.完整 # 使用TCP的方式,去除#号注释 # 重新启动 rsyslog systemctl restart rsyslog

查看服务监听的状态

netstat -anlput |grep 514tcp        0      0 0.0.0.0:514 0.0.0.0:* LISTEN 4471/rsyslogd tcp 0 0 192.168.75.129:514 192.168.75.128:33801 ESTABLISHED 4471/rsyslogd tcp6 0 0 :::514 :::* LISTEN 4471/rsyslogd

client端配置:

vim /etc/rsyslog.conf# Provides TCP syslog reception#$ModLoad imtcp#$InputTCPServerRun 514# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional#*.* @@remote-host:514 *.* @@192.168.75.129:514 #添加此行 服务器

. 所有类别和级别的日志 

@@192.168.1.63:514 服务端的IP:端口 
重启rsyslog 服务

systemctl  restart  rsyslog

服务端验证: 

关闭防火墙

tail -f /var/log/message  #动态查看增加内容 转载:http://blog.csdn.net/qq_25663723/article/details/53037072

转载于:https://www.cnblogs.com/6relation/p/8301016.html

你可能感兴趣的文章
小程序开发框架集合
查看>>
支持utf8的str_split函数
查看>>
CSS学习笔记(1)
查看>>
C++ 的二进制语法与语义
查看>>
Oracle忘记System密码怎么办?
查看>>
QMUI UI库 控件 弹窗 列表 工具类 MD
查看>>
Nodejs --我自己的学习笔记
查看>>
实现幸运抽奖
查看>>
数据库表直接生成Excel
查看>>
git常用使用命令
查看>>
pip 升级 Appium-Python-Client
查看>>
树莓派 ubuntu 系统下修改config.txt文件调整分辨率记录
查看>>
js移除数组中德重复数据
查看>>
使用集合组织相关数据
查看>>
Storm:最火的流式处理框架
查看>>
(二十)、MVC设计思想的优缺点
查看>>
Python程序员的进化史
查看>>
测试窗体只能用于来自本地计算机的请求。
查看>>
忘记mysql密码,如何修改方法。
查看>>
SGU 326 Perspective ★(网络流经典构图の竞赛问题)
查看>>