类似 pingdom 的服务可以持续监控我的防火墙开放端口

类似 pingdom 的服务可以持续监控我的防火墙开放端口

我设置了 pingdom 来不断确保我的网站正常运行,并在网站不可用时通知我。是否有类似的服务可以不断从外部监控我的防火墙,并在开放端口发生变化时通知我?

答案1

您可以自己动手。这是一个快速的 bash 脚本,用于nmap扫描主机的开放端口,如果端口自上次运行以来发生了变化,则以非零状态退出。

#!/bin/sh
nmap -oG - -d0 --open google.com | sed -n -e 3p > ports
NEW_SHA256=$(openssl sha256 ports)
OLD_SHA256=$(cat sha256)

# Output the old and new hash for humans
echo "OLD HASH: $OLD_SHA256"
echo "NEW HASH: $NEW_SHA256"

# Store the new hash in file for next run
echo $NEW_SHA256 > sha256

# Compare the hashes
if [ "$NEW_SHA256" != "$OLD_SHA256" ]; then
    echo "No match!"
    exit 1
fi

echo "Match!"

使用示例:

root@appman:/srv/test# ./checkports.sh
旧:SHA256(端口)= 3b144433c06e2ab62de43e544aa78538b3e480aeabe188ec448bde3416​​afdc89
新:SHA256(端口)= 3b144433c06e2ab62de43e544aa78538b3e480aeabe188ec448bde3416​​afdc89
匹配!
root@appman:/srv/test# 服务 znc 停止
停止 ZNC...
root@appman:/srv/test# ./checkports.sh
旧:SHA256(端口)= 3b144433c06e2ab62de43e544aa78538b3e480aeabe188ec448bde3416​​afdc89
新:SHA256(端口)= ae46f2a4b68d1529ccdc391e6e9ae9a4cab77a3213870a80003c2525c8841f22
不匹配!

您可以将其放入另一台服务器上的 cron 作业中,并在开放端口发生变化时向您发送邮件。

答案2

与扫描相比,定期检查配置更可能有效。这可以通过 SNMP 来完成,也可以通过登录防火墙并转储配置来完成。正如评论中提到的,有些软件包旨在实现此目的。选择哪一个取决于防火墙的类型和您的个人偏好。

相关内容