从路由器或其他主机记录到集中日志主机
出于安全和性能原因,拥有一个中央日志主机确实是一个好主意。例如,监控日志文件将帮助您检测:
* 安全风险(您可以看到失败的登录尝试、端口扫描等)分析
* 解决用户登录问题
* 节省磁盘空间
* 如果其他主机的硬盘崩溃,旧日志将可从中央日志主机获取
Linux(和其他类 UNIX 系统)使用 sysklogd(或 syslogd)实用程序。它是系统日志记录工具。它支持互联网和 unix 域套接字,使此实用程序包能够支持来自 DSL/ADSL 路由器或网络中其他主机的本地和远程日志记录。
准备 syslogd 以接受远程日志消息
在 Debian Linux 下打开文件 /etc/init.d/sysklogd,配置 syslogd 接受远程消息。
# vi /etc/init.d/sysklogd
找到 SYSLOGD 行并按如下方式编辑:
SYSLOGD="-r"
选项 (-r) 将使该设施能够使用互联网域套接字和 syslog 服务从网络接收消息。默认为不从网络接收任何消息。
保存文件并退出到 shell 提示符。重新启动 sysklogd:
# /etc/init.d/sysklogd restart
关于 RHEL / CentOS / Fedora Linux 用户的说明
如果您使用的是 Red Hat 或 Fedora Linux,请编辑文件 /etc/sysconfig/syslog:
# vi /etc/sysconfig/syslog
进行更改:
SYSLOGD="-r"
重新启动 syslogd:
# service syslog restart
打开 UDP 端口 514
如果您使用基于 iptables 的防火墙,请将以下规则插入到您的 iptables 脚本中以接受来自您的网络的连接:
MYNET=192.168.1.0/24 SLSERVER=192.168.1.100 iptables -A INPUT -p udp -s $MYNET --sport 1024:65535 -d $SLSERVER --dport 514 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p udp -s $SLSERVER --sport 514 -d $MYNET --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
192.168.1.100 是 syslogd 服务器的 IP 地址。您需要将对 syslogd 的访问限制在您的网络 (192.168.1.0/24) 内。
配置路由器将消息记录到集中日志主机
您可以打开Web配置界面并输入集中日志主机的IP地址(192.168.1.100)和端口514。保存配置并重新启动路由器。
配置 Linux 或 Unix 主机以将消息记录到集中日志主机
您需要打开 syslog 配置文件 /etc/syslog.conf:
# vi /etc/syslog.conf
设置 syslogd 将所有与身份验证相关的重要消息发送到日志主机 IP 192.168.1.100(或使用 FQDN(如果已配置))
*.*;auth,authpriv.none @192.168.1.100
或者
*.*;auth,authpriv.none @loghost.mydomain.com.
重新启动 sysklogd(Debian Linux):
# /etc/init.d/sysklogd restart
或者
在 Red Hat/Fedora / CentOS Linux 下重新启动 syslogd
# service syslog restart
如果需要从其他主机打开传出 UDP 514 端口:
# SYSLOG outgoing client request iptables -A OUTPUT -p udp -s 192.168.1.100 --sport 1024:65535 -d 192.168.1.5 --dport 514 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A INPUT -p udp -s 192.168.1.5 --sport 514 -d 192.168.1.100 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
Windows NT/2000/XP/Vista桌面系统
您可以强制 Windows NT/2000/XP 桌面将所有消息记录到集中日志主机。但是,Windows 没有内置系统来将消息记录到远程 Unix syslogd 服务器。您可以使用NTsyslog 程序,该程序在基于 Windows NT 的操作系统下作为服务运行。它将所有系统、安全和应用程序事件格式化为一行并将它们发送到 syslogd 主机。
验证消息是否已登录到 /var/log/messages# tail -f /var/log/messages
输出:
Feb 16 02:08:01 router kernel: klogd started: BusyBox v1.00 (2005.09.22-19:11+0000)
Feb 16 02:08:01 router kernel: Linux version 2.6.8.1 (root@localhost.localdomain) (gcc version 3.4.2) #1 Thu Sep 22 15:07:47 EDT 2005
Feb 16 02:08:01 router kernel: Total Flash size: 2048K with 39 sectors
Feb 16 02:08:01 router kernel: 96338L-2M-8M prom init
Feb 16 02:08:01 router kernel: CPU revision is: 00029010
Feb 16 02:08:01 router kernel: Determined physical RAM map:
Feb 16 02:08:01 router kernel: memory: 007a0000 @ 0000000
..........
...
......
Feb 16 02:08:01 router kernel: AdslCoreHwReset: AdslOemDataAddr = 0xA07E504C
Feb 16 02:08:01 router kernel: ip_tables: (C) 2000-2002 Netfilter core team
Feb 16 02:08:01 router kernel: ip_conntrack version 2.1 (61 buckets, 0 max) - 368 bytes
Feb 16 02:08:06 router pppd[224]: pppd 2.4.1 started by admin, uid 0
Feb 16 02:08:07 router pppd[224]: PPP: Start to connect ...
Feb 16 02:08:10 router dnsprobe[272]: dnsprobe started!
你注意到了吗????
示例是无广告的,以保护您的隐私和安全。我们依靠读者的支持来维持网站的运行。请考虑在 Patreon 上订阅我们或通过 PayPal 一次性支持我们。您的支持将帮助我们支付托管、CDN、DNS 和教程创建的费用。
加入Patreon ➔
PayPal ➔
你注意到了吗????
加入Patreon ➔ PayPal ➔