rsyslog

查看安装

[root@mo ~]# rpm -qa | grep rsyslog
rsyslog-8.1907.0-5.p01.ky10.x86_64
[root@mo ~]# rpm -ql rsyslog   //查看安装的包

官方网站 

www.rsyslog.com

RSYSLOG的设施(确认是哪一类日志)

设施名称数值代码描述
kern0内核消息(如内核崩溃、驱动错误等)。通常由操作系统内核生成。
user1用户级应用程序生成的日志(如普通用户进程、脚本输出)。
mail2邮件系统相关日志(如 Postfix、Sendmail 等邮件服务器的日志)。
daemon3系统守护进程日志(如 cron、sshd、httpd 等服务)。
auth4认证和授权系统日志(如 SSH 登录尝试、sudo 命令使用)。
syslog5rsyslog 自身生成的日志(记录 syslog 服务的运行状态和错误)。
lpr6打印系统日志(如 CUPS 打印服务的日志)。
news7新闻系统日志(如 Usenet 新闻服务器,已很少使用)。
uucp8UUCP 系统日志(用于早期 UNIX 系统间通信,已过时)。
cron9定时任务日志(如 cron 守护进程执行的计划任务)。
authpriv10auth类似,但包含敏感信息(如密码失败记录),通常仅限 root 访问。
ftp11FTP 服务日志(如 vsftpd 的登录和传输日志)。
local016本地自定义设施 0(供系统管理员自定义使用)。
local117本地自定义设施 1(同上)。
local218本地自定义设施 2(同上)。
local319本地自定义设施 3(同上)。
local420本地自定义设施 4(同上)。
local521本地自定义设施 5(同上)。
local622本地自定义设施 6(同上)。
local723本地自定义设施 7(同上)。

RSYSLOG的优先级

日志级别数值描述
emerg0紧急情况(系统不可用),通常会导致系统崩溃或服务中断。
alert1必须立即处理的严重问题,如硬件故障或安全漏洞。
crit2critical(严重错误),影响系统功能但未完全崩溃,如服务不可用。
err3error(错误),表示非紧急的错误事件,不影响系统整体运行。
warning4警告(潜在问题),可能导致未来错误的情况,如磁盘空间不足。
notice5通知(正常但需要注意的事件),如用户登录成功。
info6信息(一般信息),用于记录正常运行的信息,如服务启动或配置加载。
debug7调试信息,用于开发或故障排查,包含详细的执行流程和变量数据。

规则

/etc/rsyslog.conf  日志处理规则

“.”前的部分表示设施,“.”后的部分表示优先级。 .info表示存储info及info以上级别的日志。.none表示不存储该类日志。 

*.info;mail.none;authpriv.none;cron.none;auth.none                /var/log/messages

路径前带- 表示异步写入(先写入内存缓冲区中,后续写入磁盘,可提供更高性能,相对不重要的数据采用异步写入)
auth.*                                                   -/var/log/auth.log

配置SSH LOG

在/etc/ssh/sshd.conf中取消syslog的注释

SyslogFacility AUTH      //设施可自行更改,例如LOCAL6
LogLevel INFO
在/etc/rsyslog.conf中添加针对LOCAL6的规则

local6.info                                             /var/log/sshd.log

重启sshd与rsyslog服务:

[root@mo ~]# cat /var/log/sshd.log
May 24 22:25:07 mo sshd[2771587]: Server listening on 0.0.0.0 port 22.
May 24 22:25:07 mo sshd[2771587]: Server listening on :: port 22.
 

操作系统登录失败日志查看lastb

[root@mo log]# lastb
admin    ssh:notty    10.100.0.2       Sun May 18 09:15 - 09:15  (00:00)
admin    ssh:notty    10.100.0.2       Sun May 18 09:15 - 09:15  (00:00)
admin    ssh:notty    10.100.0.2       Sun May 18 09:15 - 09:15  (00:00)
 

操作系统成功登录日志查看:last (-x)  ,这个命令也可以查看重启时间

[root@mo log]# last
root     pts/1        10.100.0.2       Sat May 24 22:27   still logged in
root     pts/0        10.100.0.2       Sat May 24 20:45   still logged in
root     pts/0        10.100.2.133     Wed May 21 14:45 - 14:47  (00:02)
reboot   system boot  4.19.90-23.52.v2 Wed May 21 14:44   still running
root     pts/0        10.100.2.133     Wed May 21 14:41 - 14:42  (00:01)
reboot   system boot  4.19.90-23.52.v2 Wed May 21 14:40 - 14:43  (00:02)
 

 查看所有账户最一次登录时间 :lastlog

[root@mo log]# lastlog
用户名           端口     来自             最后登录时间
root             pts/1    10.100.0.2       六 5月 24 22:27:18 +0800 2025
bin                                        **从未登录过**
daemon                                     **从未登录过**
adm                                        **从未登录过**
lp                                         **从未登录过**
sync                                       **从未登录过**
shutdown                                   **从未登录过**
halt                                       **从未登录过**
mail                                       **从未登录过**
operator                                   **从未登录过**
games                                      **从未登录过**
ftp                                        **从未登录过**
nobody                                     **从未登录过**
sshd                                       **从未登录过**
unbound                                    **从未登录过**
polkitd                                    **从未登录过**
rtkit                                      **从未登录过**
saslauth                                   **从未登录过**
libstoragemgmt                             **从未登录过**
rpc                                        **从未登录过**
geoclue                                    **从未登录过**
chrony                                     **从未登录过**
pipewire                                   **从未登录过**
mysql                                      **从未登录过**
lightdm                                    **从未登录过**
ldap                                       **从未登录过**
dhcpd                                      **从未登录过**
rpcuser                                    **从未登录过**
cockpit-ws                                 **从未登录过**
named                                      **从未登录过**
setroubleshoot                             **从未登录过**
pulse                                      **从未登录过**
tomcat                                     **从未登录过**
ntp                                        **从未登录过**
dbus                                       **从未登录过**
dnsmasq                                    **从未登录过**
systemd-network                            **从未登录过**
systemd-resolve                            **从未登录过**
systemd-timesync                           **从未登录过**
systemd-coredump                           **从未登录过**
 

开启SYSLOG 端口监听

/etc/rsyslog中添加如下配置,重启rsyslog服务

# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514 

 本地日志存储到远端服务器

*.info                                @10.10.10.10:514                                  //使用udp发送

*.info                                @@10.10.10.10:514                               //使用tcp发送

手动生成日志 

logger "a test"

这些命令用于查看和检查系统的配置和日志文件。以下是每个命令的简要说明: 1. `cat /etc/pam.d/system-auth`: 显示 `/etc/pam.d/system-auth` 文件的内容,该文件用于管理系统级身份验证和授权。 2. `cat /etc/pam.d/sshd`: 显示 `/etc/pam.d/sshd` 文件的内容,该文件用于管理 SSH 服务的身份验证和授权。 3. `cat /etc/profile`: 显示 `/etc/profile` 文件的内容,该文件是一个全局配置文件,用于设置用户环境变量和执行系统级别的脚本。 4. `cat /etc/passwd`: 显示 `/etc/passwd` 文件的内容,该文件包含了系统中所有用户的基本信息,但不包含密码。 5. `cat /etc/shadow`: 显示 `/etc/shadow` 文件的内容,该文件包含了系统中用户的加密密码。 6. `cat /etc/group`: 显示 `/etc/group` 文件的内容,该文件包含了系统中用户组的信息。 7. `cat /etc/hosts.equiv`: 显示 `/etc/hosts.equiv` 文件的内容,该文件用于定义可信任主机列表,允许这些主机使用 rsh 或 rlogin 进行远程登录。 8. `cat /etc/hosts.rhosts`: 显示 `/etc/hosts.rhosts` 文件的内容,该文件用于定义远程主机和用户之间的信任关系。 9. `ps aux | grep telnet`: 列出所有正在运行的进程,并过滤出包含 "telnet" 关键字的进程。 10. `ps aux | grep rlogin`: 列出所有正在运行的进程,并过滤出包含 "rlogin" 关键字的进程。 11. `ps aux | grep ftp`: 列出所有正在运行的进程,并过滤出包含 "ftp" 关键字的进程。 12. `cat /etc/ssh/sshd_config`: 显示 `/etc/ssh/sshd_config` 文件的内容,该文件包含了 SSH 服务器的配置选项。 13. `umask`: 显示当前用户的默认文件权限掩码。 14. `ls -l /etc/passwd`: 显示 `/etc/passwd` 文件的详细信息,包括权限、所有者和修改时间等。 15. `ls -l /etc/group`: 显示 `/etc/group` 文件的详细信息,包括权限、所有者和修改时间等。 16. `ls -l /etc/shadow`: 显示 `/etc/shadow` 文件的详细信息,包括权限、所有者和修改时间等。 17. `ls -l /etc/xinetd.conf`: 显示 `/etc/xinetd.conf` 文件的详细信息,该文件是 xinetd 服务的配置文件。 18. `ls -l /etc/sudoers`: 显示 `/etc/sudoers` 文件的详细信息,该文件用于配置 sudo 命令的权限。 19. `ls -l /etc/httpd.conf`: 显示 `/etc/httpd.conf` 或 `/etc/apache2/apache2.conf` 文件的详细信息,这些文件是 Apache HTTP 服务器的配置文件。 20. `ls -l /etc/httpd-mpm.conf`: 显示 `/etc/httpd-mpm.conf` 文件的详细信息,该文件定义了 Apache MPM(多处理模块)的配置选项。 21. `ls -l /etc/conf/tomcat-users.xml`: 显示 `/etc/conf/tomcat-users.xml` 文件的详细信息,该文件包含了 Tomcat 服务器的用户配置。 22. `ls -l /etc/conf/web.xml`: 显示 `/etc/conf/web.xml` 文件的详细信息,该文件是 Java Web 应用程序的配置文件。 23. `ls -l /etc/conf/server.xml`: 显示 `/etc/conf/server.xml` 文件的详细信息,该文件是 Tomcat 服务器的主配置文件。 24. `ls -l /etc/my.cnf`: 显示 `/etc/my.cnf` 或 `/etc/mysql/my.cnf` 文件的详细信息,这些文件是 MySQL 数据库服务器的配置文件。 25. `ls -l /var/mysqllog/logbin.log`: 显示 `/var/mysqllog/logbin.log` 文件的详细信息,该文件是 MySQL 数据库二进制日志的位置。 26. `ps aux | grep syslogd`: 列出所有正在运行的进程,并过滤出包含 "syslogd" 关键字的进程。 27. `ps aux | grep rsyslogd`: 列出所有正在运行的进程,并过滤出包含 "rsyslogd" 关键字的进程。 28. `service syslog status`: 显示 syslog 服务的状态。 29. `service rsyslog status`: 显示 rsyslog 服务的状态。 30. `ps aux | grep audit`: 列出所有正在运行的进程,并过滤出包含 "audit" 关键字的进程。 31. `service auditd status`: 显示 auditd 服务的状态。 32. `ps aux | grep ssh`: 列出所有正在运行的进程,并过滤出包含 "ssh" 关键字的进程。 33. `ls -l /var/log/messages`: 显示 `/var/log/messages` 文件的详细信息,该文件包含了系统的一般日志消息。 34. `ls -l /var/log/secure`: 显示 `/var/log/secure` 文件的详细信息,该文件包含了安全相关的日志消息。 35. `ls -l /var/log/audit/audit.log`: 显示 `/var/log/audit/audit.log` 文件的详细信息,该文件包含了审计日志。 36. `tail -20 /var/log/messages`: 显示 `/var/log/messages` 文件的尾部 20 行内容。 37. `tail -20 /var/log/audit/audit.log`: 显示 `/var/log/audit/audit.log` 文件的尾部 20 行内容。 38. `tail -n 20 /var/log/messages`: 显示 `/var/log/messages` 文件的尾部 20 行内容。 39. `tail -n 20 /var/log/audit/audit.log`: 显示 `/var/log/audit/audit.log` 文件的尾部 20 行内容。 40. `cat /etc/logrotate.conf`: 显示 `/etc/logrotate.conf` 文件的内容,该文件用于配置日志文件的轮转。 41. `cat /etc/rsyslog.conf`: 显示 `/etc/rsyslog.conf` 文件的内容,该文件是 rsyslog 服务的配置文件。 42. `auditctl -s`: 显示当前系统上启用的审计规则。 43. `auditctl -l`: 列出当前系统上的所有审计规则。 44. `lsof -i:21`: 列出所有正在使用端口 21(FTP)的进程和文件。 45. `lsof -i:22`: 列出所有正在使用端口 22(SSH)的进程和文件。 46. `lsof -i:23`: 列出所有正在使用端口 23(Telnet)的进程和文件。 请注意,某些命令可能需要管理员权限才能运行,且需要小心处理敏感信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值