อ้างอิง / การเก็บรักษาข้อมูลและการบูรณาการ
webhooks ส่งออก
ส่งเหตุการณ์ที่ระบุขอบเขตไปยังผู้รับ HTTPS พร้อมลายเซ็น HMAC การลองส่งซ้ำ และสถานะการส่ง
เนื้อหาหลักปัจจุบัน: ใช้การเช็คเอาต์จากแหล่งที่มา; เวอร์ชัน 0.7.0 portable preview ยังไม่มีคุณสมบัตินี้
เปิด Integrations → Outgoing webhooks ในพื้นที่ทำงานที่เลือกไว้ เพิ่มผู้รับ HTTPS เลือกเหตุการณ์ collector/media/export และสามารถเลือกแชทได้ สำหรับข้อมูลสังเกตการณ์ใหม่และการเปลี่ยนแปลง ข้อความข้อความถูกปิดไว้ตามค่าเริ่มต้น การเปิดใช้งานส่วนสรุป จะเพิ่มสูงสุด 1,000 ตัวอักษรไปยังเหตุการณ์การเปลี่ยนแปลงข้อความ; สนาม Telegram แบบดิบและ ข้อมูลรับรองจะไม่ถูกส่งไปเลย
คัดลอก HMAC secret ลงในส่วนการตั้งค่าที่ได้รับการปกป้องของผู้รับเพียงครั้งเดียวเท่านั้น มัน ถูกเข้ารหัสใน vault ของ TgWitness และไม่สามารถเรียกคืนจากแผงควบคุมได้ ลบ และสร้างปลายทางใหม่เพื่อหมุนเวียนมัน ส่งการทดสอบจำลอง จะเพิ่มการทดสอบที่ไม่มีเนื้อหาแชทลงในคิว รีเฟรชสถานะการส่งเพื่อดูผลลัพธ์
ระบบส่งข้อมูลนี้ขยายวงจรการแจ้งเตือนที่มีอยู่ร่วมกับ Apprise โดยใช้ เส้นทางภายนอกของพื้นที่ทำงาน (workspace) และข้อจำกัดปลายทางส่วนตัวที่มีอยู่ ไม่มีระบบสำรองหรือการเปลี่ยนเส้นทางโดยตรงตามมา URL ต้องไม่รวมข้อมูลรับรอง สตริงการค้นหา หรือส่วนย่อย; ที่อยู่ส่วนตัวต้องได้รับการอนุญาตจากระดับเซิร์ฟเวอร์ ไม่ใช่การตั้งค่าที่ผู้ใช้แผงควบคุมสามารถข้ามได้
ข้อมูลที่ส่งและลายเซ็น#
Schema: tgwitness.webhook/1. ทุก payload
ประกอบด้วย event_id, timestamp, workspace, type, synthetic และตัวนับ
เหตุการณ์ที่บันทึกในสมุดบันทึกจะรวมถึงลำดับและค่าแฮช การส่งออกข้อมูลแบบเต็มรูปแบบและ
การทดสอบสังเคราะห์ถือเป็นเหตุการณ์การส่งมอบ โดยไม่มีการอ้างอิงสมุดบันทึกที่ลงนามและสร้างขึ้น
การแจ้งเตือนการลบข้อความใน Telegram และ missing_on_recheck ยังคงเป็นประเภทที่แยกต่างหาก
ส่วนหัวX-TgWitness-Signature คือt=UNIX_SECONDS,v1=HEX_HMAC_SHA256
คำนวณ HMAC จากไบต์ที่ระบุไว้อย่างแม่นยำtimestamp + "." + raw_request_body โดยใช้
คีย์ลับที่แสดงไว้เป็นไบต์ UTF-8 เปรียบเทียบลายเซ็นในเวลาคงที่ก่อน
ที่จะวิเคราะห์หรือดำเนินการกับเนื้อหา ปฏิเสธเวลาประทับที่ห่างจาก
นาฬิกาของคุณเกินห้านาที เวลาประทับจะได้รับการอัปเดตทุกครั้งที่มีการพยายามส่งข้อความ
ใช้ event_id เป็นกุญแจความคงที่ (idempotency key) ในพื้นที่จัดเก็บข้อมูลที่ทนทาน (durable storage) พร้อมด้วยข้อจำกัดความเป็นเอกลักษณ์แบบอะตอมิก (atomic unique
constraint) ก่อนที่จะเกิดผลข้างเคียง (side effects) ลายเซ็นที่ถูกต้องเพียงอย่างเดียวไม่สามารถป้องกันการ
เล่นซ้ำ (replay) ของคำขอที่เพิ่งส่งไปได้ เก็บ ID ที่ได้รับการประมวลผลไว้อย่างน้อยตลอด
ช่วงเวลาการลองใหม่ (retry window); เก็บไว้นานกว่านั้นหากผู้รับสามารถประมวลผลเหตุการณ์ที่จัดเก็บไว้ได้ใหม่
ลองใหม่#
การส่งข้อมูลจะถูกจัดเข้าคิวอย่างคงทนก่อนการส่งคำขอ HTTP โดยใช้หลักการ "at-least-once": การสูญเสียการยืนยันหรือการเริ่มต้นใหม่ อาจส่งผลให้เหตุการณ์ถูกส่งซ้ำด้วย ID เดียวกัน มีทั้งหมดแปดครั้งในการลองส่ง โดยใช้การลดความถี่แบบเอ็กซ์โพเนนเชียล (exponential backoff) เริ่มต้นที่ 15 วินาที และจำกัดสูงสุดที่หนึ่งชั่วโมง การส่งสำเร็จต้องได้รับคำตอบ 2xx งานที่หมดเวลา จะแสดงข้อผิดพลาดที่มองเห็นได้; การส่งข้อมูลไม่ได้รับการรับประกันหลังจากสิ้นสุดการลองใหม่
คิวสามารถเก็บการส่งได้ 1,000 ครั้ง เมื่อเต็ม การสแกนเหตุการณ์ในบันทึกจะหยุดชั่วคราวและ จะเริ่มใหม่เมื่อมีพื้นที่ว่าง การส่งออกข้อมูลแบบเต็มที่ไม่สามารถจัดเข้าคิวได้ จะแสดงข้อผิดพลาดในคิวที่มองเห็นได้ ระบบจะพยายามส่งข้อมูลสูงสุด 5 ครั้งต่อรอบการแจ้งเตือน และบันทึกการพยายามส่ง 100 ครั้งล่าสุดไว้ การลบปลายทาง จะลบการส่งข้อมูลที่รออยู่ด้วย
ตัวอย่าง n8n#
นำเข้าตัวอย่างเวิร์กโฟลว์ ซึ่งยังไม่ถูกเปิดใช้งาน
และไม่มีการเก็บข้อมูลลับหรือการดำเนินการต่อเนื่องใดๆ ตั้งค่า TGWITNESS_WEBHOOK_SECRET ใน
สภาพแวดล้อม n8n worker, อนุญาตการเข้าถึงสภาพแวดล้อมนั้น และอนุญาต crypto
builtin สำหรับโหนด Code ตัวอย่างนี้ใช้ตัวเลือก raw-body ของโหนด Webhook,
ตรวจสอบลายเซ็น/ความสดใหม่ และยืนยันเหตุการณ์ที่ได้รับการตรวจสอบแล้ว สิ่งนี้สอดคล้องกับ
การดำเนินการที่บันทึกไว้ในเอกสารของโหนด
ก่อนที่จะเพิ่มการเขียนหรือการแจ้งเตือน SIEM ให้เพิ่มระบบจัดเก็บข้อมูลที่มีความคงทนและคุณสมบัติ idempotency
โดยใช้คีย์event_id จำกัดการแก้ไขเวิร์กโฟลว์ n8n และการเก็บรักษาบันทึกการดำเนินการ
ตามข้อมูลที่คุณเลือกส่ง TgWitness ไม่เพิ่มคำสั่งขาเข้าใดๆ