利用BARK和Telebot进行VPS实时预警推送
字数 1396 2025-08-11 08:36:22
VPS实时预警推送系统搭建指南:基于BARK和Telebot
一、概述
本教程详细讲解如何利用BARK和Telebot搭建VPS实时预警推送系统,适用于服务器日常维护和蓝队监控场景。系统能够在服务器出现异常时(如非法登录、配置变更等)及时向管理员发送警报。
二、Telebot推送方案
1. 准备工作
- 需要一个Telegram账号
- 访问 Telegram BotFather 创建机器人
2. 创建Telegram机器人
- 在BotFather对话框中输入
/newbot - 按照提示输入机器人名称(name)和用户名(username)
- 创建完成后会返回一个token,格式如:
5229xxxxxx:AAFAxxxxxxxxxxxxxxxxx1MJ4OY0
3. 获取Chat ID
在机器人对话框发送任意消息后,使用以下方式获取Chat ID:
cURL方式:
proxychains4 curl https://api.telegram.org/bot{token}/getUpdates
Python方式:
import requests
resp = requests.get("https://api.telegram.org/bot{token}/getUpdates")
print(resp.json())
返回的JSON中id字段即为你的Chat ID。
4. Python实现Telebot推送
安装依赖:
pip install pyTelegramBotAPI
示例代码:
import telebot
bot = telebot.TeleBot(token="522xxxx:xxxxxxxxxOY0")
bot.send_message(chat_id="xxxxxx", text="haha123")
注意:国内可能需要代理才能使用Telebot。
三、BARK推送方案(国内推荐)
1. BARK简介
BARK是一个免费开源的消息推送工具,适合国内网络环境使用。
2. 基本推送格式
https://api.day.app/6cPxxxxxxxxxxxF4/推送内容
https://api.day.app/6cPxxxxxxxxxxxF4/推送标题/推送内容
3. 可选参数
| 参数名 | 说明 | 可选值 | 备注 |
|---|---|---|---|
| sound | 推送铃声 | minuet、alarm等 | - |
| isArchive | 自动保存通知 | 1或0 | 1表示自动保存 |
| icon | 推送图标 | URL | 需iOS15+ |
| group | 消息分组 | 自定义分组名 | - |
| level | 通知级别 | active/timeSensitive/passive | active:立即亮屏 |
| url | 跳转链接 | URL | 点击推送跳转 |
| copy | 复制内容 | 字符串 | 点击复制指定内容 |
| badge | 角标数字 | 数字 | 推送角标 |
4. Python实现BARK推送
import requests
url = "https://api.day.app/6cPxxxxxxxxxxxF4/"
def sendMessage(title, text, icon=""):
requests.get(f'{url+title}/{text}?icon={icon}')
sendMessage(title='Warning', text='Your server has been invaded',
icon="https://example.com/icon.jpg")
四、实战应用:SSH登录监控
1. Shell脚本实现
将以下脚本放入/etc/profile.d/目录,每次终端连接时都会执行:
#!/bin/bash
message="主机名:$(hostname) 时间:$(TZ=UTC-8 date) 登陆用户:$(whoami) 当前所有登陆用户:$(who) 其他信息:$(w|awk 'BEGIN{OFS=" "}{print $1,$8}')"
# 处理空格问题
encoded_message=$(echo $message | sed 's/ /%20/g')
curl "https://api.day.app/6cxxxxxxxxxF4/$encoded_message?icon=https://example.com/icon.jpg" &>/dev/null
2. 功能说明
当有用户通过SSH登录服务器时,脚本会自动发送包含以下信息的警报:
- 主机名
- 登录时间(北京时间)
- 登录用户名
- 当前所有登录用户
- 其他系统信息
五、高级应用拓展
- 结合SSH蜜罐技术:对非法登录尝试进行监控
- 系统日志监控:监控网页篡改、黑链植入等异常
- 数据库监控:检测数据库异常操作
- 异常用户检测:监控系统新增用户等异常行为
六、注意事项
- BARK推送内容不宜过长(受URL长度限制)
- 国内推荐使用BARK,境外VPS推荐使用Telebot
- 敏感信息推送建议使用HTTPS和自建BARK服务器
- 脚本执行权限和环境变量需正确配置
七、故障排查
- Telebot无法使用:检查代理设置和网络环境
- BARK推送失败:检查URL格式和网络连接
- 脚本不执行:检查文件权限和存放位置
- 推送延迟:检查服务器网络状况
通过以上方案,您可以构建一个高效的VPS实时监控预警系统,及时发现并响应服务器异常情况。