大家好,我们有一个基于 Web 的 POS PHP 程序托管在 VPS 上。其中一名用户的帐户用户名和密码被一个陌生人获取,并通过该程序将数据编码到数据库中。我们的程序有一个功能,可以记录日期和时间,但不记录用户登录程序时使用的 IP。
我可以访问运行 Centos 5 操作系统的 Linux 服务器,有没有办法通过 http 或基于 Web 的程序获取连接到我们服务器的 IP 地址的历史记录,以及通过 netstat 命令或任何软件/工具对数据进行编码的特定日期和时间?
我已经联系了我们 VPS 的技术支持,他们回复说安装软件/工具来监控服务器活动和日志是管理员的责任。除了更新我们的程序以包含记录用户登录时 IP 的功能外,你们能否推荐任何可以监控日常服务器活动的 Linux 软件/工具,特别是可以记录用户通过 http 或我们的 Web 程序访问我们的服务器时 IP 地址、日期和时间的软件/工具?
我读过一篇关于ipclog 和 const,这个工具是否会提供我日常服务器活动和日志监控所需的详细信息?
我对 Linux 环境还很陌生,对 Linux 管理的了解也有限。希望大家能帮助我,非常感谢。
答案1
由于您希望处理 Apache 访问日志,文件节拍是您可能需要研究的连接到 Logstash 的内容(如果您想使用之前建议的 ELK 解决方案),文件示例这里。您可以为 Apache 定制 filebeat,如下所示filebeat.yml
:
-
paths:
- /path_to_your_access_log/access.log
document_type: apache-access
在您的 logstash 配置中,/etc/logstash/conf.d/12-apache.conf
您可以添加以下过滤器:
filter {
if [type] == "apache-access" {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
}
}
}
答案2
您可以使用 ELK(Elasticsearch、Logstash 和 Kibana)日志监控流程来监控您的服务器日志。您可以添加任何需要监控的日志文件,如 apache 访问和错误日志、/var/log/messages、/var/log/secure 等。
您可以使用以下文档作为参考。
http://www.tecmint.com/install-elasticsearch-logstash-and-kibana-elk-stack-on-centos-rhel-7/
谢谢,Shelendra Singh
答案3
处理服务器的日志是最简单的方法。Apache、Nginx、IIS 应该写入访问网站的用户的 IP。