快速检查软件是否安装?轻松搞定!

为什么需要发送syslog?

  • 集中管理:将多台服务器的日志汇总到单一平台(如ELK、Graylog)。
  • 实时分析:快速检测安全事件(如入侵尝试)或系统错误。
  • 合规性:满足GDPR、等保等法规对日志存储的要求。

核心概念

  1. syslog协议
    Linux通过syslog守护进程(如rsyslog/syslog-ng)处理日志,支持:

    • 设施(Facility):标识日志来源(如auth认证、kern内核)。
    • 级别(Severity):从debug(最低)到emerg(最高)共8级。
  2. 传输协议
    • UDP 514:默认端口,速度快但不可靠。
    • TCP 514:可靠传输,防丢包。
    • TLS加密:通过证书加密数据(推荐生产环境使用)。

配置rsyslog发送日志(推荐方案)

rsyslog是大多数Linux发行版(如Ubuntu/CentOS)的默认日志服务。

步骤1:安装与检查

# 若未安装(极少情况)
sudo apt install rsyslog   # Debian/Ubuntu
sudo yum install rsyslog   # CentOS/RHEL

步骤2:配置发送远程日志

编辑配置文件/etc/rsyslog.conf

sudo vim /etc/rsyslog.conf
  • 发送所有日志到远程服务器(IP:192.168.1.100):
    *.* @192.168.1.100:514        # UDP发送
    *.* @@192.168.1.100:514       # TCP发送
  • 仅发送特定日志(例:发送auth认证日志):
    auth.* @@192.168.1.100:514

步骤3:启用加密传输(TLS)

  1. 生成证书(需CA机构或自签名):
    sudo openssl req -x509 -newkey rsa:2048 -keyout /etc/rsyslog.key -out /etc/rsyslog.crt -days 365
  2. 配置TLS:
    # 在/etc/rsyslog.conf 添加
    $DefaultNetstreamDriver gtls
    $DefaultNetstreamDriverCAFile /etc/rsyslog.crt
    $DefaultNetstreamDriverCertFile /etc/rsyslog.crt
    $DefaultNetstreamDriverKeyFile /etc/rsyslog.key
    *.* @@(o)192.168.1.100:6514  # 6514为TLS端口

步骤4:重启服务

sudo systemctl restart rsyslog
sudo systemctl enable rsyslog

使用logger命令手动发送

通过命令行即时发送测试日志:

# 发送一条测试日志
logger "This is a test log from Server A"
# 指定设施和级别
logger -p auth.warning "Authentication failed for user root"
  • 日志将按rsyslog配置自动转发到远程服务器。

通过systemd-journald发送

若系统使用systemd(如Ubuntu 16.04+/CentOS 7+),可通过journald转发:

  1. 编辑/etc/systemd/journald.conf
    [Journal]
    ForwardToSyslog=yes        # 启用syslog转发
  2. 重启服务:
    sudo systemctl restart systemd-journald
  3. 日志将由rsyslog接管并发送到远程服务器。

安全与优化建议

  1. 防火墙规则
    开放远程服务器的514/TCP端口:

    sudo ufw allow 514/tcp   # Ubuntu
    sudo firewall-cmd --add-port=514/tcp --permanent  # CentOS
  2. 权限控制
    限制日志访问权限:

    chmod 600 /etc/rsyslog.key   # 保护私钥
  3. 日志轮转
    避免本地磁盘爆满,配置logrotate

    # /etc/logrotate.d/rsyslog
    /var/log/syslog {
       daily
       rotate 7
       compress
       delaycompress
       missingok
    }

验证与排错

  1. 检查本地队列
    sudo systemctl status rsyslog    # 查看服务状态
    tail -f /var/log/syslog          # 跟踪本地日志
  2. 测试远程接收
    在日志服务器用tcpdump抓包:

    sudo tcpdump -i eth0 port 514 -vv
  3. 常见错误
    • 连接拒绝:检查远程服务器防火墙和rsyslog是否监听。
    • TLS失败:确保证书路径正确且权限为600

替代方案:syslog-ng

若使用syslog-ng(更灵活的过滤功能):

  1. 安装:
    sudo apt install syslog-ng   # Debian/Ubuntu
  2. 配置发送日志(编辑/etc/syslog-ng/syslog-ng.conf):
    destination remote_server { tcp("192.168.1.100" port(514)); };
    log { source(s_src); destination(remote_server); };

  • 基础场景:通过rsyslog配置@@目标IP:514(TCP)即可完成日志发送。
  • 安全场景:务必启用TLS加密(端口通常为6514)。
  • 临时测试:使用logger命令快速验证。
  • 现代系统:结合systemd-journald实现无缝转发。

引用说明参考Linux官方文档(man rsyslog.conf)、RFC 5424(syslog协议标准),以及Red Hat/CentOS系统管理指南,TLS配置部分遵循OpenSSL官方安全实践。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/7728.html

(0)
酷番叔酷番叔
上一篇 2025年7月17日 19:10
下一篇 2025年7月17日 19:23

相关推荐

  • Linux如何调节屏幕分辨率与显示大小?

    在Linux系统中,调节屏幕大小通常涉及分辨率调整、显示缩放以及多屏幕布局设置,具体操作方法因桌面环境和显卡驱动不同而有所差异,以下是详细的操作指南,涵盖主流桌面环境、命令行工具及驱动设置,帮助用户灵活管理显示输出,通过桌面环境调节屏幕大小Linux主流桌面环境(如GNOME、KDE Plasma、XFCE等……

    2025年9月20日
    14300
  • Linux编辑器退出必知技巧?

    Vi/Vim 编辑器退出方法Vi/Vim 是Linux最经典的文本编辑器,需掌握模式切换:命令模式(按 Esc 进入):执行保存、退出等指令插入模式(按 i 进入):编辑文本操作场景按键步骤说明保存并退出Esc → :wq → Enter保存更改并退出强制保存(只读文件)Esc → :wq! → Enter管理……

    2025年7月16日
    13500
  • Linux启动盘如何制作?详细步骤与方法指南

    制作Linux启动盘是安装Linux系统、修复系统故障或体验Linux发行版的常用操作,其核心原理是将Linux系统镜像文件(ISO)写入可移动存储设备(如U盘),使设备具备启动能力,以下是详细的制作步骤及注意事项,涵盖不同操作系统环境下的操作方法,准备工作在制作启动盘前,需确保以下条件准备就绪:Linux系统……

    2025年8月26日
    13700
  • 为什么WinPE装不了Linux?

    WinPE 是 Windows 预安装环境,基于 Windows 内核,不具备直接运行 Linux 安装程序或处理 Linux 分区格式的能力,安装 Linux 需要专门的 Linux 安装媒介或工具。

    2025年7月28日
    15300
  • Linux如何安装配置SFTP服务器?

    在Linux系统中,SFTP(SSH File Transfer Protocol)是一种基于SSH的安全文件传输协议,通过加密传输数据保障文件传输的安全性,广泛应用于服务器文件管理、数据备份等场景,本文将以主流Linux发行版(Ubuntu/Debian、CentOS/RHEL)为例,详细讲解SFTP服务器的……

    2025年10月6日
    15400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信