Linux 操作系统本身和大部分服务器程序的日志文件都默认放在目录/var/log/下。一部分程序共用一个日志文件,一部分程序使用单个日志文件,而有些大型服务器程序由于日志文件不止一个,所以会在/var/log/目录中建立相应的子目录来存放日志文件。有相当一部分日志文件只有root用户才有权限读取,这保证了相关日志信息的安全性。
有些应用程序会选择由自己独立管理一份日志文件(而不是交给rsyslog服务管理),用于记录本程序运行过程中的各种事件信息。由于这些程序只负责管理自己的日志文件,因此不同程序所使用的日志记录格式可能会存在较大的差异。
在 Linux 操作系统中,还有相当一部分应用程序没有使用 rsyslog 服务来管理日志,而是由程序自己维护日志记录。例如,httpd 网站服务程序使用两个日志文件 access_log 和error_log 分别记录客户访问事件和错误事件。
/var/log/message大多数系统日志消息记录都在此处。但不包括与身份验证,电子邮件处理相关的定期作业任务等
/var/log/secure安全和身份验证相关的信息以及登录失败的日志文件。主要ssh远程连接产生的日志。
/var/log/maillog 与邮件相关的信息日志文件
/var/log/cron 与定期执行任务相关的日志文件
/var/log/boot.log 与系统启动相关的信息记录
/var/log/dmesg 与系统启动相关的信息记录
/var/log/wtmp 是一个二进制文件,记录每个用户的登录次数和持续时间等信息,可以用last命令查看其中内容
/var/log/btmp与/var/log/wtmp类似,但记录的是错误登录系统的日志,使用lastb命令查看其中内容。如果此文件大于1M,就需要注意是否有人在暴力破解
0 EMERG(紧急):会导致主机系统不可用的情况
1 ALERT(警告):必须马上采取措施解决的问题
2 CRIT(严重):比较严重的情况
3 ERR(错误):运行出现错误
4 WARNING(提醒):可能会影响系统功能的事件
5 NOTICE(注意):不会影响系统但值得注意
6 INFO(信息):一般信息
7 DEBUG(调试):程序或系统调试信息等
linux系统中/var/log/目录日志 默认保存四周 并不生成系统日志(syslog.log),当用户有规定保存多少天时才需要进行修改。系统日志路径/var/log/目录下
二、修改方法
1、添加系统日志文件
修改/etc/logrotate.conf 中的
# keep 4 weeks worth of backlogs
rotate 4 #改为rotate12
将/var/log/wtmp {
monthly
create 0664 root utmp
rotate 1 #中的1改为3,
}
保存后通过service syslog restart命令重启syslog进程。
修改日志保存时间:由于有安全方面的需求,要求可追溯系统操作记录,因此想让系统日志保存6个月。开始以为是 syslogd.service 服务,但是发现系统里没有这项服务,因此网上冲浪了一下,发现在 centos 7.3 中已经被 rsyslog 替代了。
下面记录一下修改保存时间:
修改/etc/logrotate.conf 中的
# keep 4 weeks worth of backlogs
rotate 4
# 改为rotate 24
将/var/log/wtmp {
monthly
create 0664 root utmp
rotate 1
#rotate 1改为rotate 3,
}
# 保存后,重启 rsyslog 服务
sudo systemctl restart rsyslog
安全日志保存了用户登录、退出系统等相关信息
/var/log/lastlog:最近的用户登录事件
/var/log/wtmp:用户登录、注销及系统开、关机事件
/var/run/utmp:当前登录的每个用户的详细信息
/var/log/secure:与用户验证相关的安全性事件分析工具部分命令
users、who、w、last、lastb由相应的应用程序独立进行管理
Web服务:/var/log/httpd/
access_log、error_log
代理服务:/var/log/squid/
access.log、cache.log、
FTP
服务:/var/log/xferlog
查看工具部分命令文本查看、grep过滤检索、Webmin管理套件中查看
awk、sed等文本过滤、格式化编辑工具
Webalizer、Awstats等专用日志分析工具
系统 日志文件( 可以通过 cat 或 tail 命令来查看 )
tail -f /var/log/secure 实时查看服务器安全日志(主要是 tail -f 实时查看)
/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/secure 与安全相关的日志信息
/var/log/maillog 与邮件相关的日志信息
/var/log/cron 与定时任务相关的日志信息
/var/log/spooler 与UUCP和news设备相关的日志信息
/var/log/boot.log 守护进程启动和停止相关的日志消息
系统信息
# uname -a # 查看内核/操作系统/CPU信息
# cat /etc/issue
# cat /etc/redhat-release # 查看操作系统版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量
资源
# free -m # 查看内存使用量和交换区使用量
# df -h # 查看各分区使用情况
# du -sh <目录名># 查看指定目录的大小
# grep MemTotal /proc/meminfo # 查看内存总量
# grep MemFree /proc/meminfo # 查看空闲内存量
# uptime # 查看系统运行时间、用户数、负载
# cat /proc/loadavg # 查看系统负载
磁盘和分区
# mount | column -t # 查看挂接的分区状态
# fdisk -l # 查看所有分区
# swapon -s # 查看所有交换分区
# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
# dmesg | grep IDE # 查看启动时IDE设备检测状况
网络
# ifconfig # 查看所有网络接口的属性
# iptables -L # 查看防火墙设置
# route -n # 查看路由表
# netstat -lntp # 查看所有监听端口
# netstat -antp # 查看所有已经建立的连接
# netstat -s # 查看网络统计信息
进程
# ps -ef # 查看所有进程
# top # 实时显示进程状态(另一篇文章里面有详细的介绍)
用户:
# w # 查看活动用户
# id <用户名># 查看指定用户信息
# last # 查看用户登录日志
# cut -d: -f1 /etc/passwd # 查看系统所有用户
# cut -d: -f1 /etc/group # 查看系统所有组
# crontab -l # 查看当前用户的计划任务
服务
# chkconfig –list # 列出所有系统服务
# chkconfig –list | grep on # 列出所有启动的系统服务
程序
# rpm -qa # 查看所有安装的软件包
#每日三件事,第990天#
《中华人民共和国网络安全法》第二十一条第一款第三项规定网络运营者应采取监测、记录网络运行状态、网络安全事件的技术措施,并按照规定留存相关的网络日志不少于六个月。在GB/T22239《网络安全等级保护基本要求》的安全计算环境中,对安全审计也有明确的要求。
在落实法律义务和责任,开展网络安全等级保护工作的过程中,日志服务器成了必不可少的一项。商用的日志审计系统固然好,但利用CentOS7也可以做一个简单的日志服务器,收集网络中其他设备的日志信息。
日志服务器端的配置:
yum install syslog,其实CentOS7默认就已经安装了rsyslog服务。系统会自动检测,并不会重新安装一遍syslog服务。
vim /etc/rsyslog.conf,找到#Providers TCP syslog reception这一行,把下面两行前面的#去掉即可:
#Providers TCP syslog reception
$ModLoad imtcp
$InputTCCPServerRun 514
======分割线 ======
在/etc/rsyslog.d/创建一个名为client_ip.conf的文件,每个日志发送客户端创建一个文件。我的实验环境中有一个ip为192.168.1.1的客户端,因此创建一个192.168.1.1.conf的文件。
vim /etc/rsyslog.d/192.168.1.1.conf
:fromhost-ip,isequal, "192.168.1.1" /var/log/client/192.168.1.1.log
systemctl restart rsyslog
重启之后一定要检查一下,使用命令:systemctl status rsyslog,并且保证rsyslog服务能够在开机时自动启动。
客户端的配置如下:
vim /etc/rsyslog.conf,去掉#Providers TCP syslog reception下面两行的注释:
#Providers TCP syslog reception
$ModLoad imtcp
$InputTCCPServerRun 514
在最后一行添加:
*.*. @@192.168.1.10:514
其中192.168.1.10是日志服务器的IP地址。
systemctl restart rsyslog,并查看rsyslog的状态,保证服务在开机时自动启动。
此时在日志服务器上就可以接收到客户端发来的日志信息了。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)