我正在寻找某种监视器或入侵检测来监视我的 NAS。
我想监控以下内容:
- 来自另一个的传入网络流量(源 -> 路由器 -> NAS)
- 国家/地区 -> 电子邮件警报 系统上已创建新用户 ->
- 电子邮件警报 I/O 负载意外高 -> 电子邮件警报监控
- 服务(Apache、MySQL 等)-> 电子邮件警报/服务重启
服务监控,第4点,我可以解决莫尼特。但其他几点呢?
是否已经准备好一些东西,或者是否有人有想法如何将某些东西协同工作,例如与 Monit 一起工作?
例如,对于第2点,我想观察所有用户都可以更新的文件的更改,例如passwd。
我很感谢您的建议或解决方案。
答案1
基本上所有这些都可以通过一些脚本和方便的 linux/unix 现成工具来完成。
对于这一点,我不确定你的真正意思是什么。您的服务器实际上是通往 NAS 的路由器/网关吗?如果是这样,您可以实施各种解决方案。例如,您可以使用 IPTables 记录规则命中,并使用 geoip-lookup bash 工具来查找某个 IP 地址来自哪个国家/地区。如果您遇到使用 mailx 或 sendmail 发送异常国家/地区触发邮件的情况...如果您想做更认真的统计,您可以使用 ip-conntrack 而不是 IPTables 进行记录。
每 x 分钟、几小时或几天调用一次脚本,它将监视密码文件。您也可以监视 syslog 或 rsyslog。
再次脚本将监视某些命令的输出。但对你来说,“正常运行时间”似乎就足够了。再次使用 mailx 或 sendmail 从脚本调用邮件发送
第三方解决方案,例如 nagios 或 monit。或者再次编写您自己的脚本来解析系统日志或检查服务状态。
确实有多种可能的解决方案,但同样......一切都取决于您的实际要求和技能......
BR,内文
答案2
您可以使用在 cron 上运行的自定义脚本来检查 I/O 负载是否较高,如果是,则向您发送电子邮件。您可以使用“iostat”命令来跟踪 NAS 上的 IO 负载,如所述这里。
或者您可以安装 Zabbix 并使用其代理跟踪相同的性能数据。您还可以配置 Zabbix 触发器来跟踪磁盘 I/O 负载。您还可以使用 Zabbix 检查“/etc/passwd”文件是否发生更改,以检查是否有新用户添加到系统中,或者您可以使用自定义脚本来执行此操作。
跟踪来自另一个国家的网络流量是这里最困难的任务。您可以配置“iptables”配置来阻止与您所在国家/地区 IP 列表不同的所有连接,但这会很混乱。