Ana içeriğe geç

Webhook'lar

NetRecon, olaylar meydana geldiğinde uç noktalarınıza gerçek zamanlı bildirimler gönderebilir. Webhook'ları Ayarlar > Entegrasyonlar bölümünden veya API aracılığıyla yapılandırın.

Webhook Yapılandırma

POST /api/v1/integrations/webhooks
Content-Type: application/json

{
"url": "https://your-server.com/webhook",
"secret": "your-hmac-secret",
"events": ["alert.created", "scan.completed", "device.discovered"],
"active": true
}

Olay Türleri

OlayAçıklama
alert.createdYeni uyarı oluşturuldu
alert.resolvedUyarı çözümlendi
scan.startedTarama başlatıldı
scan.completedTarama tamamlandı
scan.failedTarama hatası
device.discoveredYeni cihaz bulundu
device.offlineCihaz çevrimdışı oldu
ids.alertIDS kuralı tetiklendi
honeypot.hitBal küpü etkileşimi
rogue.detectedSahte DHCP/ARP tespit edildi
cve.matchedBir cihazla yeni CVE eşleşti
backup.completedYedekleme tamamlandı
backup.failedYedekleme hatası
anomaly.detectedML anomalisi tespit edildi

Yük Formatı

Tüm webhook yükleri bu yapıyı izler:

{
"id": "event-uuid",
"event": "alert.created",
"timestamp": "2026-03-15T10:30:00Z",
"tenant_id": "tenant-uuid",
"data": {
"alert_id": "alert-uuid",
"title": "New open port detected",
"severity": "high",
"device_ip": "192.168.1.10"
}
}

İmza Doğrulama

Her webhook isteği, X-NetRecon-Signature başlığında bir HMAC-SHA256 imzası içerir:

X-NetRecon-Signature: sha256=a1b2c3d4e5f6...

Python Doğrulama Örneği

import hmac
import hashlib

def verify_webhook(payload: bytes, signature: str, secret: str) -> bool:
expected = "sha256=" + hmac.new(
secret.encode(), payload, hashlib.sha256
).hexdigest()
return hmac.compare_digest(expected, signature)

Node.js Doğrulama Örneği

const crypto = require('crypto');

function verifyWebhook(payload, signature, secret) {
const expected = 'sha256=' + crypto
.createHmac('sha256', secret)
.update(payload)
.digest('hex');
return crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(signature));
}

Yeniden Deneme Politikası

Başarısız webhook teslimatları üstel geri çekilme ile yeniden denenir:

DenemeGecikme
1Hemen
230 saniye
32 dakika
410 dakika
51 saat

5 başarısız denemeden sonra webhook failing olarak işaretlenir ve hesap sahibine e-posta bildirimi gönderilir.

Webhook Test Etme

POST /api/v1/integrations/webhooks/{webhook_id}/test

Uç noktanızın erişilebilir olduğunu ve olayları doğru şekilde işlediğini doğrulamak için bir test yükü gönderir.

Webhook'ları Listeleme

GET /api/v1/integrations/webhooks

Webhook Silme

DELETE /api/v1/integrations/webhooks/{webhook_id}

Webhook Teslimat Günlüğü

GET /api/v1/integrations/webhooks/{webhook_id}/deliveries?page=1&per_page=25

Durum kodları ve yanıt süreleriyle birlikte son teslimat denemelerini döndürür.