
إشعار Zeek عبر تيليجرام (إصدار ZeekJS)
تعيد هذه الحزمة تنفيذ zeek-notice-telegram باستخدام TypeScript (ZeekJS) للتغلب على عدم الموثوقية في ActiveHTTP.
وهي تستعير كلًا من حزمة Yacin أعلاه وإعادة تنفيذ ZeekJS للمصدر الأصلي لتلك الحزمة (zeek-notice-slack) والذي أصبح الآن zeekjs-notice-slack.
يمكن إعادة توليد scripts/telegram.js من مصدر TypeScript عن طريق
تشغيل npm install && npm run build.
الاستخدام الأساسي مطابق لـ zeek-notice-telegram. للتوضيح، يمكن استخدامه على هذا النحو:
@load base/frameworks/notice
export {
redef enum Notice::Type += {
Notice::SSHLoginSuccessful,
};
// NOTE: you must define these!
redef Notice::telegram_token = "xxx";
redef Notice::telegram_chat_id = "yyy";
}
event ssh_auth_successful(c: connection, auth_method_none: bool)
{
NOTICE([$note=Notice::SSHLoginSuccessful, $conn=c, $msg="Login detected"]);
}
hook Notice::policy(n: Notice::Info)
{
if ( n$note == Notice::SSHLoginSuccessful )
{
add n$actions[Notice::ACTION_TELEGRAM];
}
}
عدم نجاح إرسال إشعار عبر تيليغرام لا يوقف معالجة خطاف الإشعار. بدلاً من ذلك، يتم توفير خطافات zeek للتعامل مع حالات الخطأ كلها و(إذا رغبت) عندما يتم إرسال الرسائل بنجاح:
Notice::telegram_notice_succeeded عندما يكون كل شيء على ما يرام؛Notice::telegram_notice_api_error عندما يستجيب Telegram API نفسه بخطأ؛Notice::telegram_notice_network_error عندما يحدث خطأ ما أثناء الاتصال بـ Telegram API.راجع حالة btest للحصول على مثال لاستخدام هذه الخطافات.
تحاكي حالة btest واجهة Telegram API وتختبر النجاح والحالات المختلفة للأخطاء.
لتشغيل الاختبارات، ادخل إلى دليل testing ثم شغّل make.