Ana içeriğe geç

Webhook

Wallarm'ı, HTTPS protokolü üzerinden gelen webhook'ları kabul eden herhangi bir sisteme anında bildirim gönderecek şekilde ayarlayabilirsiniz.

Bildirim Formatı

Bildirimler, entegrasyon kurulumu sırasında seçiminize bağlı olarak JSON Array veya New Line Delimited JSON (NDJSON) formatında gönderilir. JSON nesneleri kümesi, bildirimin gönderildiği olaya bağlıdır. Örneğin:

  • Hit tespit edildi

    [
    {
        "summary": "[Wallarm] Yeni hit tespit edildi",
        "details": {
          "client_name": "Test Company",
          "cloud": "EU",
          "notification_type": "new_hits",
          "hit": {
            "domain": "example.com",
            "heur_distance": 20.714285714285715,
            "method": "GET",
            "path": "/",
            "payloads": [
              "1' select version();"
            ],
            "point": [
              "get",
              "id"
            ],
            "probability": 20.714285714285715,
            "remote_country": null,
            "remote_port": 41253,
            "remote_addr4": "8.8.8.8",
            "remote_addr6": null,
            "datacenter": "unknown",
            "tor": "none",
            "request_time": 1703519823,
            "create_time": 1703519826,
            "response_len": 345,
            "response_status": 404,
            "response_time": 359,
            "stamps": [
              7965
            ],
            "regex": [],
            "stamps_hash": 271168947,
            "regex_hash": -2147483648,
            "type": "sqli",
            "block_status": "monitored",
            "brute_counter": "b:1111:xxxxxxxxxxxxxxxx",
            "final_wallarm_mode": "monitoring",
            "libproton_version": "4.8.0",
            "lom_id": 932,
            "protocol": "rest",
            "proxy_type": null,
            "request_id": "xxxxxxxxxxxxxxxx",
            "wallarm_mode": null,
            "id": [
              "hits_production_1111_202312_v_1",
              "xxxxxxxxxxxxxxxx"
            ],
            "object_type": "hit",
            "anomaly": 1.0357142857142858,
            "parameter": "GET_id_value",
            "applications": [
              "default"
            ]
          }
       }
    },
    {
        "summary": "[Wallarm] Yeni hit tespit edildi",
        "details": {
          "client_name": "Test Company",
          "cloud": "EU",
          "notification_type": "new_hits",
          "hit": {
            "domain": "example.com",
            "heur_distance": 2.5,
            "method": "GET",
            "path": "/etc/passwd",
            "payloads": [
              "/etc/passwd"
            ],
            "point": [
              "uri"
            ],
            "probability": 2.5,
            "remote_country": null,
            "remote_port": 41254,
            "remote_addr4": "8.8.8.8",
            "remote_addr6": null,
            "datacenter": "unknown",
            "tor": "none",
            "request_time": 1703519826,
            "create_time": 1703519829,
            "response_len": 345,
            "response_status": 404,
            "response_time": 339,
            "stamps": [
              2907
            ],
            "regex": [],
            "stamps_hash": -1063984326,
            "regex_hash": -2147483648,
            "type": "ptrav",
            "block_status": "monitored",
            "brute_counter": "b:1111:xxxxxxxxxxxxxxxx",
            "final_wallarm_mode": "monitoring",
            "libproton_version": "4.8.0",
            "lom_id": 932,
            "protocol": "none",
            "proxy_type": null,
            "request_id": "xxxxxxxxxxxxxxxx",
            "wallarm_mode": null,
            "id": [
              "hits_production_1111_202312_v_1",
              "xxxxxxxxxxxxxxxx"
            ],
            "object_type": "hit",
            "anomaly": 0.22727272727272727,
            "parameter": "URI_value",
            "applications": [
              "default"
            ]
          }
       }
    }
    ]
    
    {"summary":"[Wallarm] Yeni hit tespit edildi","details":{"client_name":"Test Company","cloud":"EU","notification_type":"new_hits","hit":{"domain":"example.com","heur_distance":20.714285714285715,"method":"GET","path":"/","payloads":["1' select version();"],"point":["get","id"],"probability":20.714285714285715,"remote_country":null,"remote_port":41253,"remote_addr4":"8.8.8.8","remote_addr6":null,"datacenter":"unknown","tor":"none","request_time":1703519823,"create_time":1703519826,"response_len":345,"response_status":404,"response_time":359,"stamps":[7965],"regex":[],"stamps_hash":271168947,"regex_hash":-2147483648,"type":"sqli","block_status":"monitored","brute_counter":"b:1111:xxxxxxxxxxxxxxxx","final_wallarm_mode":"monitoring","libproton_version":"4.8.0","lom_id":932,"protocol":"rest","proxy_type":null,"request_id":"xxxxxxxxxxxxxxxx","wallarm_mode":null,"id":["hits_production_1111_202312_v_1","xxxxxxxxxxxxxxxx"],"object_type":"hit","anomaly":1.0357142857142858,"parameter":"GET_id_value","applications":["default"]}}
    {"summary":"[Wallarm] Yeni hit tespit edildi","details":{"client_name":"Test Company","cloud":"EU","notification_type":"new_hits","hit":{"domain":"example.com","heur_distance":2.5,"method":"GET","path":"/etc/passwd","payloads":["/etc/passwd"],"point":["uri"],"probability":2.5,"remote_country":null,"remote_port":41254,"remote_addr4":"8.8.8.8","remote_addr6":null,"datacenter":"unknown","tor":"none","request_time":1703519826,"create_time":1703519829,"response_len":345,"response_status":404,"response_time":339,"stamps":[2907],"regex":[],"stamps_hash":-1063984326,"regex_hash":-2147483648,"type":"ptrav","block_status":"monitored","brute_counter":"b:1111:xxxxxxxxxxxxxxxx","final_wallarm_mode":"monitoring","libproton_version":"4.8.0","lom_id":932,"protocol":"none","proxy_type":null,"request_id":"xxxxxxxxxxxxxxxx","wallarm_mode":null,"id":["hits_production_1111_202312_v_1","xxxxxxxxxxxxxxxx"],"object_type":"hit","anomaly":0.22727272727272727,"parameter":"URI_value","applications":["default"]}}
    
  • Zafiyet tespit edildi

    [
        {
            summary:"[Wallarm] Yeni zafiyet tespit edildi",
            description:"Bildirim tipi: vuln
    
                        Sisteminizde yeni bir zafiyet tespit edildi.
    
                        ID: 
                        Başlık: Test
                        Domain: example.com
                        Path: 
                        Method: 
                        Tespit eden: 
                        Parametre: 
                        Tip: Info
                        Tehdit: Medium
    
                        Daha fazla detay: https://us1.my.wallarm.com/object/555
    
    
                        Client: TestCompany
                        Cloud: US
                        ",
            details:{
                client_name:"TestCompany",
                cloud:"US",
                notification_type:"vuln",
                vuln_link:"https://us1.my.wallarm.com/object/555",
                vuln:{
                    domain:"example.com",
                    id:null,
                    method:null,
                    parameter:null,
                    path:null,
                    title:"Test",
                    discovered_by:null,
                    threat:"Medium",
                    type:"Info"
                }
            }
        }
    ]
    
    {"summary":"[Wallarm] Yeni zafiyet tespit edildi","description":"Bildirim tipi: vuln\nSisteminizde yeni bir zafiyet tespit edildi.\nID: \nBaşlık: Test\nDomain: example.com\nPath: \nMethod: \nTespit eden: \nParametre: \nTip: Info\nTehdit: Medium\nDaha fazla detay: https://us1.my.wallarm.com/object/555\nClient: TestCompany\nCloud: US","details":{"client_name":"TestCompany","cloud":"US","notification_type":"vuln","vuln_link":"https://us1.my.wallarm.com/object/555","vuln":{"domain":"example.com","id":null,"method":null,"parameter":null,"path":null,"title":"Test","discovered_by":null,"threat":"Medium","type":"Info"}}}
    

Entegrasyonun Ayarlanması

  1. Wallarm UI'i açın → Integrations.

  2. Webhook bloğuna tıklayın veya Add integration butonuna tıklayıp Webhook seçeneğini seçin.

  3. Bir entegrasyon adı girin.

  4. Hedef Webhook URL'sini girin.

  5. Gerekirse, gelişmiş ayarları yapılandırın:

    • Request method: POST or PUT. By default, POST requests are sent.
    • Request header and its value if the server requires a non-standard header to execute the request. The number of headers is not limited.
    • CA certificate: certificate of CA that signed a server certificate. If CA is publicly trusted, this field is optional. If a server certificate is self-signed, this field is required and must contain a certificate of your own CA that signed a server certificate.
    • Verify TLS certificate: this setting allows to disable verification of the specified server certificate. By default, Wallarm verifies whether a server certificate is signed by a publicly trusted CA. We do not recommend disabling the verification of production server certificates. If your server uses a self-signed TLS certificate, you can add a self-signed CA certificate to allow sending requests to this server.
    • Request timeout, in seconds: if the server does not respond to the request within the specified time, the request fails. By default: 15 seconds.
    • Connection timeout, in seconds: if the connection to the server cannot be established during the specified time, the request fails. By default: 20 seconds.
    • Wallarm data format: either a JSON Array (default) or a New Line Delimited JSON (NDJSON).

    Gelişmiş ayarlar örneği

  6. Bildirimleri tetikleyecek olay türlerini seçin.

    Webhook entegrasyonu

    Mevcut olaylar hakkında detaylar:

  7. Yapılandırmanın doğruluğunu, Wallarm Cloud'un erişilebilirliğini ve bildirim formatını kontrol etmek için Test integration'a tıklayın. Test bildirimleri, New Line Delimited JSON (NDJSON) seçilmiş olsa bile her zaman JSON Array formatında gönderilir.

  8. Add integration'a tıklayın.

Wallarm Cloud IP addresses

To provide Wallarm Cloud access to your system, you may need a list of its public IP addresses:

35.235.66.155
34.102.90.100
34.94.156.115
35.235.115.105
34.94.85.217
34.94.51.234
34.102.59.122
34.94.238.72
34.141.230.156
34.91.138.113
34.90.114.134
35.204.127.78

Ek Uyarıların Ayarlanması

Besides the notifications you have already set up through the integration card, Wallarm triggers allow you to select additional events for notifications:

For condition detailing, you can add one or more filters. As soon, as condition and filters are set, select the integration through which the selected alert should be sent. You can select several integrations simultaneously.

Choosing an integration

Örnek: IP adresi denylist'e eklendiğinde Webhook URL'sine bildirim gönderilmesi

Bir IP adresi denylist'e eklendiğinde, bu olay hakkında webhook, Webhook URL'sine gönderilecektir.

Kara listeye alınan IP için tetikleyici örneği

Tetikleyiciyi test etmek için:

  1. Wallarm Console'u açın → IP listsDenylist ve IP adresini denylist'e ekleyin. Örneğin:

    IP'nin denylist'e eklenmesi

  2. Aşağıdaki webhook'un Webhook URL'sine gönderildiğini doğrulayın:

    [
        {
            "summary": "[Wallarm] Tetikleyici: Yeni IP adresi kara listeye alındı",
            "description": "Bildirim tipi: ip_blocked\n\nIP adresi 1.1.1.1, Produces many attacks nedeniyle 2021-06-10 02:27:15 +0300 tarihine kadar kara listeye alındı. Wallarm Console'un \"Denylist\" bölümünde engellenen IP adreslerini inceleyebilirsiniz.\nBu bildirim, \"Notification about denylisted IP\" tetikleyicisi tarafından tetiklendi. IP, Application #8 uygulaması için engellendi.\n\nClient: TestCompany\nCloud: EU\n",
            "details": {
            "client_name": "TestCompany",
            "cloud": "EU",
            "notification_type": "ip_blocked",
            "trigger_name": "Notification about denylisted IP",
            "application": "Application #8",
            "reason": "Produces many attacks",
            "expire_at": "2021-06-10 02:27:15 +0300",
            "ip": "1.1.1.1"
            }
        }
    ]
    
    • Notification about denylisted IP tetikleyici adı
    • TestCompany Wallarm Console'daki şirket hesabınızın adıdır
    • EU şirket hesabınızın kayıtlı olduğu Wallarm Cloud'tur

Bir Entegrasyonun Devre Dışı Bırakılması ve Silinmesi

You can delete or temporarily disable the integration. While deleting stops sending notificatioins and completely deletes all configuration, disabling just stops sending notifications which you can at any moment re-enable with the same settings.

If for the integration the System related events are selected to trigger notifications, Wallarm will notify about both of these actions.

Sistem Kullanılamazlığı ve Yanlış Entegrasyon Parametreleri

Notifications to the system are sent via requests. If the system is unavailable or integration parameters are configured incorrectly, the error code is returned in the response to the request.

If the system responds to Wallarm request with any code other than 2xx, Wallarm resends the request with the interval until the 2xx code is received:

  • The first cycle intervals: 1, 3, 5, 10, 10 seconds

  • The second cycle intervals: 0, 1, 3, 5, 30 seconds

  • The third cycle intervals: 1, 1, 3, 5, 10, 30 minutes

If the percentage of unsuccessful requests reaches 60% in 12 hours, the integration is automatically disabled. If you receive system notifications, you will get a message about automatically disabled integration.