Imperva Incapsula
und CapMonster Cloud

Captcha-Lösung, Installation auf der Website und Tests.

Preise für Imperva Incapsula-Lösung

CAPTCHA
Preis (USD)
$ 2.00
1000 Token
Sie haben eine Website mit eingebauter Captcha- oder Bot-Schutzlösung übernommen, aber keinen Zugriff auf den Quellcode? Dann stellt sich schnell die Frage: Welche Lösung ist installiert, ist sie korrekt konfiguriert und wie lässt sie sich testen?

In diesem Artikel haben wir versucht, alle wichtigen Fragen zu beantworten. Der erste Schritt bei der Lösung der Aufgabe besteht darin festzustellen, welches Schutzsystem eingesetzt wird. Dazu können Sie die Liste beliebter Captchas und Anti-Bot-Schutzsysteme heranziehen, in der visuelle Beispiele und zentrale Merkmale aufgeführt sind, die Ihnen helfen, schnell zu erkennen, womit Sie es zu tun haben.

Wenn Sie feststellen, dass auf Ihrer Website Imperva Incapsula eingesetzt wird, besteht der nächste Schritt darin, seine Eigenschaften und Funktionsweise genauer zu untersuchen. Ebenfalls in diesem Artikel finden Sie eine Anleitung zur Integration von Imperva Incapsula, damit Sie vollständig verstehen, wie das System auf Ihrer Website arbeitet. So können Sie nicht nur den aktuellen Schutz besser einschätzen, sondern auch seine Wartung vorausschauend planen.

Was ist Incapsula?
Was ist Incapsula?
Imperva Incapsula Web Protection ist ein Cloud-basiertes System zum Schutz von Websites und Anwendungen vor externen Bedrohungen. Das System verwendet sichere Reverse-Proxys und eine Web Application Firewall (WAF), die weltweit auf CDN-Servern verteilt sind. Die Website wird über gesicherte Imperva-Server geleitet, was die Prüfung jeder Anfrage und das Filtern schädlicher Aktivitäten ermöglicht.

Wie man Incapsula mit CapMonster Cloud löst

Beim Testen von Seiten, die durch Imperva Incapsula geschützt sind, ist es oft notwendig sicherzustellen, dass der Schutz korrekt funktioniert und das System verdächtigen Datenverkehr richtig filtert.

Sie können die Funktion des Schutzes auf Ihrer Website manuell überprüfen:

  • Öffnen Sie die gewünschte Seite und vergewissern Sie sich, dass Incapsula eine Überprüfung verlangt.
  • Versuchen Sie, ohne die Überprüfung zuzugreifen — die Website sollte einen Fehler 405 oder eine zusätzliche Challenge zurückgeben.
  • Nach Bestehen der Überprüfung sollte der Zugriff ohne Fehler möglich sein.

Zur Automatisierung solcher Tests können Dienste wie CapMonster Cloud verwendet werden.

CapMonster akzeptiert die Parameter der Imperva-Challenge (z. B. das Cookie _incap_, Daten aus HTML und Skripten), verarbeitet sie und gibt fertige gültige Cookies zurück, die in den Browser oder HTTP-Client eingesetzt werden können.

Die Arbeit mit CapMonster Cloud über die API umfasst in der Regel folgende Schritte:

Aufgabe erstellenAufgabe erstellen
arrow
API-Anfrage sendenAPI-Anfrage senden
arrow
Ergebnis empfangenErgebnis empfangen
arrow
Einsetzen von Incapsula-Cookies auf der SeiteEinsetzen von Incapsula-Cookies auf der Seite
arrow
Erkennung von Imperva Incapsula unter Verwendung fertiger Bibliotheken
Der Dienst CapMonster Cloud bietet fertige Bibliotheken für die komfortable Arbeit in den Sprachen Python und JavaScript (Node.js).
Python
JavaScript
Lösung, Abrufen von Parametern und Setzen von Cookies
Ein Beispiel in Node.js für den vollständigen Zyklus der Captcha-Erkennung auf Ihrer Webseite. Mögliche Ansätze: Verwendung von HTTP-Anfragen zum Abrufen von HTML und Parametern des Schutzsystems, Senden der Antwort und Verarbeiten des Ergebnisses. Oder mithilfe von Automatisierungstools (z. B. Playwright) — Seite öffnen, auf die Überprüfung warten, Parameter über den CapMonster Cloud-Client senden, Ergebnis erhalten, Cookies in den Browser einsetzen (zum Testen können Sie sowohl korrekte als auch inkorrekte Daten verwenden) und das Ergebnis sehen.
// npm install playwright @zennolab_com/capmonstercloud-client
// npx playwright install chromium

import { chromium } from "playwright";
import { CapMonsterCloudClientFactory, ClientOptions, ImpervaRequest } from '@zennolab_com/capmonstercloud-client';

async function main() {
    // 1) Einstellungen
    const TARGET_URL = "https://example.com";
    const API_KEY = "YOUR_CAPMONSTER_API_KEY";

    const proxy = {
        proxyType: "http",
        proxyAddress: "PROXY_IP",
        proxyPort: 8080,
        proxyLogin: "PROXY_USER",
        proxyPassword: "PROXY_PASS"
    };

    // 2) Wir öffnen die Website und sammeln Imperva-Cookies
    const browser = await chromium.launch({
        headless: true,
        proxy: {
            server: `${proxy.proxyType}://${proxy.proxyAddress}:${proxy.proxyPort}`,
            username: proxy.proxyLogin,
            password: proxy.proxyPassword
        }
    });

    const page = await browser.newPage();
    await page.goto(TARGET_URL, { waitUntil: "networkidle" });

    const cookies = await page.context().cookies();
    const impervaCookiesString = cookies
        .filter(c => c.name.startsWith("visid_incap_") || c.name.startsWith("incap_ses_"))
        .map(c => `${c.name}=${c.value}`)
        .join("; ");

    console.log("Imperva-Cookies von der aktuellen Seite:", impervaCookiesString);

    await browser.close();

    // 3) Wir lösen die Imperva-Challenge
    const cmcClient = CapMonsterCloudClientFactory.Create(
        new ClientOptions({ clientKey: API_KEY })
    );

    const impervaRequest = new ImpervaRequest({
        websiteURL: TARGET_URL,
        userAgent: "USER_AGENT_STRING",
        metadata: {
            incapsulaScriptUrl: "_Incapsula_Resource?example_param",
            incapsulaCookies: impervaCookiesString
        },
        proxy
    });

    const result = await cmcClient.Solve(impervaRequest);
    console.log("Lösung:", result);

    // 4) Wir setzen die erhaltenen Cookies ein
    const domain = new URL(TARGET_URL).hostname;
    const solutionCookiesObj = result.solution.domains[domain].cookies;

    const solutionCookies = Object.entries(solutionCookiesObj).map(([name, value]) => ({
        name,
        value,
        domain: ".your-domain",
        path: "/",
        secure: true,
        httpOnly: false
    }));

    // 5) Setzen der Cookies und Öffnen der Seite
    const browser2 = await chromium.launch({
        headless: false,
        proxy: {
            server: `${proxy.proxyType}://${proxy.proxyAddress}:${proxy.proxyPort}`,
            username: proxy.proxyLogin,
            password: proxy.proxyPassword
        }
    });

    const context2 = await browser2.newContext();
    await context2.addCookies(solutionCookies);

    const page2 = await context2.newPage();
    const resp2 = await page2.goto(TARGET_URL, { waitUntil: "networkidle" });

    // Ausgabe des Status der Zielseite (optional)
    // console.log("Status der Zielseite nach dem Setzen der Cookies:", resp2?.status());

    // …oder endgültiger Screenshot
    // await page2.screenshot({ path: "final_page.png" });

    console.log("Seite geladen mit angewendeten Imperva-Cookies.");
}

main().catch(console.error);

Wie man Imperva Incapsula mit der eigenen Website verbindet
Um sich sicher in der Funktionsweise des Captchas auf Ihrer Website zurechtzufinden, die Logik der Prüfung zu verstehen, den Schutz neu zu verbinden oder umzukonfigurieren, empfehlen wir Ihnen, diesen Abschnitt zu studieren. Darin wird der Prozess der Aktivierung des Schutzes beschrieben — dies hilft Ihnen, schnell alle Nuancen zu verstehen.

1. Erstellen Sie ein Konto (verwenden Sie bei der Registrierung Ihre geschäftliche E-Mail-Adresse) und gehen Sie zur Imperva Cloud Security Console.

2. Bestätigen Sie die E-Mail. Nach der Anmeldung gelangen Sie zum Dashboard (mehr über die Arbeit mit der Security Console erfahren Sie in der Dokumentation).

3. Öffnen Sie den Bereich Websites und geben Sie die echte Domain Ihrer Website ein.

HowTo Connect image 1

Imperva wird automatisch:

  • Ihren DNS-Provider erkennen,
  • SSL prüfen,
  • einen Scan der DNS-Einträge starten.

4. Konfigurieren Sie die DNS-Einträge. Wenn Imperva den folgenden Schritt anzeigt:

Point dev.mysite.com DNS records to Imperva

Tun Sie Folgendes:

  • Gehen Sie in das DNS-Panel Ihres Registrars oder Hostings.
  • Erstellen oder aktualisieren Sie den Eintrag:


Typ: CNAME
Name: dev (Subdomain, die Sie verbinden)
Wert: <ihr_imperva_host>.ng.impervadns.net

Beispiel:

dev.mysite.com > CNAME > xivaxeo.ng.impervadns.net

Optional: Aktivieren Sie die Unterstützung für Non-SNI-Clients

Wenn Imperva die Benachrichtigung anzeigt:

If you expect Non-SNI traffic…

Dies betrifft veraltete Clients und spezifische Integrationen. Wenn Ihre Website gewöhnlich ist, kann dieser Schritt übersprungen werden.

Falls erforderlich, aktivieren Sie:

CDN > Delivery > Support Non-SNI clients

5. Warten Sie auf die DNS-Verifizierung. Imperva aktiviert den Schutz und SSL.

Sobald DNS verbunden ist, wird Imperva automatisch:

  • das CDN bereitstellen,
  • die WAF (Web Application Firewall) aktivieren,
  • ein HTTPS-Zertifikat erstellen,
  • den Schutz vor DDoS und Bots einschalten.

6. Beschränken Sie den direkten Zugriff auf Ihren Server (empfohlen)

Damit der Datenverkehr nur über Imperva läuft, sollten Sie auf Ihrem Server:

  • den Zugriff nur von Imperva-IP-Adressen erlauben,
  • direkte Verbindungen verbieten (außer von eigenen IPs),

Ausführlichere Informationen finden Sie im Bereich Create Rules.

7. Überprüfen Sie die Funktion der Website. Nach der Aktivierung

  • öffnen Sie Ihre Subdomain/Domain im Browser,
  • oder verwenden Sie curl:

curl -I https://dev.mysite.com

In den Headern sollten Zeilen wie folgt erscheinen:


HTTP/1.1 403 Forbidden
Content-Type: text/html
Cache-Control: no-cache, no-store
Connection: close
Content-Length: 1234
X-Iinfo: 00-00000000-0 0NNN RT(1234567890 0) q(0 -1 -1 1) r(0 -1) B16(0,0,0) U24
Strict-Transport-Security: max-age=31536000
Set-Cookie: visid_incap_00000000000000000000000000000000=ABCDEFG1234567890TESTCOOKIE; expires=Wed, 11 Nov 2026 23:41:40 GMT; HttpOnly; path=/; Domain=.example.com; Secure; SameSite=None
Set-Cookie: incap_ses_0000_00000000=TESTSESSION1234567890; path=/; Domain=.example.com; Secure; SameSite=None

Das bedeutet, dass der Datenverkehr durch Imperva läuft.

Background
Mögliche Fehler und Debugging
Bug Icon
Ungültige Domain oder Regel — Challenge wird nicht angezeigt.
Überprüfen Sie, ob die Security Rule an die richtige Domain und den richtigen Pfad gebunden ist und dass keine Konflikte mit IncapRules oder ACL bestehen.
Bug Icon
Zeitüberschreitung beim Laden der Seite oder bei der Prüfung.
Der Browser wartet möglicherweise nicht auf die Antwort von Imperva. Erhöhen Sie die Timeouts in den Tests und stellen Sie sicher, dass das Backend schnell genug antwortet.
Bug Icon
Abgelaufene Imperva-Cookies.
Veraltete visid_incap, incap_ses, nlbi führen zu einer erneuten Challenge oder Blockierung.
Bug Icon
Übermäßig empfindliche Regeln.
Strenge Signaturen können echte Besucher Ihrer Website blockieren.
Bug Icon
Falsche Konfiguration.
Falsche Einstellungen oder Regeln, die die Besonderheiten der Website nicht berücksichtigen, verursachen fehlerhafte Blockierungen und Fehlalarme.
Tests der Schutzstabilität
Stellen Sie nach der Integration sicher, dass das System die Website wirklich vor automatisierten Aktionen schützt.
Tipps zu Sicherheit und Optimierung
Konfigurieren Sie WAF und Security Policies entsprechend dem Risikoniveau. Verwenden Sie Managed Rules, Bot Protection und benutzerdefinierte Regeln für eine genauere Kontrolle.
Protokollieren Sie Sicherheitsereignisse und WAF-Auslösungen, um Fehlalarme zu erkennen und die Gründe für Blockierungen zu analysieren.
Fügen Sie Links zur <span class="font-bold">Datenschutzerklärung</span> und den <span class="font-bold">Nutzungsbedingungen</span> hinzu. Dies ist wichtig für Transparenz und die Einhaltung von Sicherheitsanforderungen.
Fazit

Wenn Sie eine Website übernommen haben, auf der bereits ein Captcha oder ein anderes Schutzsystem installiert ist und Sie keinen Zugriff auf den Code haben, ist das kein Problem! Es ist ziemlich einfach festzustellen, welche Technologie genau verwendet wird. Und um die korrekte Funktionsweise zu überprüfen, können Sie den Erkennungsdienst CapMonster Cloud in einer isolierten Testumgebung nutzen, um sicherzustellen, dass der Mechanismus zur Tokenverarbeitung und die Prüflogik ordnungsgemäß funktionieren.

Im Fall von Imperva Incapsula reicht es aus, das System zu erkennen, sein Verhalten zu analysieren und sich zu vergewissern, dass der Schutz korrekt arbeitet. In diesem Artikel haben wir gezeigt, wie Sie Imperva Incapsula identifizieren und wo Sie Anleitungen für die Einbindung oder Neukonfiguration finden, damit Sie den Schutz zuverlässig betreiben und seine Arbeit unter Kontrolle halten können.

Conclusion
Nützliche Links
DocIconDokumentation zu Imperva IncapsulaDocIconLogin zur Cloud Security ConsoleDocIconDokumentation CapMonster Cloud (Arbeit mit Imperva Incapsula)

Häufig gestellte Fragen zu Imperva Incapsula

Die offiziellen SDK-Bibliotheken für JavaScript und Python vereinfachen die Integration, anstatt das Abfragen der Low-Level-API manuell durchführen zu müssen.

Ihre allgemeine Logik umfasst folgende Schritte:

  1. Erstellen Sie einen ImpervaRequest mit websiteURL und einem metadata-Objekt. Dieses metadata muss enthalten:
    • incapsulaScriptUrl — Name der Incapsula-JS-Datei.
    • incapsulaCookies — Die Cookies von Incapsula. Sie können auf der Seite mit document.cookie oder im Request-Header Set-Cookie: "incap_ses_=...; visid_incap_=..." abgerufen werden
    • reese84UrlEndpoint (optional) — Name des Endpoints, an den der reese84-Fingerprint gesendet wird; kann unter den Requests gefunden werden und endet mit ?d=site.com
  2. Verwenden Sie für den JavaScript/Node.js-Client Solve(), um auf eine fertige Lösung zu warten.
  3. Die zurückgegebene Lösung enthält gültige Cookies.

Python folgt dem gleichen Gesamt-Workflow.

  1. Erstellen Sie ein Imperva-Konto
  2. Öffnen Sie die Cloud Security Console
  3. Fügen Sie Ihre Website im Bereich Websites hinzu

Imperva stellt dann das DNS-Ziel bereit, das Sie verwenden sollten, in der Regel als CNAME für die zu verbindende Subdomain.

Sobald die DNS-Verbindung verifiziert ist, aktiviert Imperva die CDN/WAF-Schicht und leitet den Traffic über seine Infrastruktur, bevor Anfragen an Ihren Origin weitergeleitet werden.

Um die Einrichtung zu bestätigen, führen Sie eine Header-only-Anfrage wie curl -I https://dev.mysite.com aus.

Wenn der Traffic korrekt über Imperva läuft, enthält die Beispielantwort 403 Forbidden und Set-Cookie-Header wie visid_incap_* und incap_ses_*.

Die meisten Imperva Incapsula-Integrationsfehler werden durch Proxy-, Cookie-, Timing- oder Regelkonfigurationsprobleme verursacht. Prüfen Sie diese zuerst:

  • Error 16: Ihre Proxy-Geolocation entspricht nicht der erforderlichen Region. Verwenden Sie einen Proxy aus dem richtigen Land oder der richtigen Region.
  • Ungültige Domain oder Regelkonfiguration: Überprüfen Sie die Zieldomain, WAF-Regelbindung und Integrationseinstellungen.
  • Verifizierungs-Timeout: Einige Challenge-Parameter laufen schnell ab, sammeln Sie daher frische Seitendaten und senden Sie sie sofort.
  • Abgelaufene Imperva-Cookies: Aktualisieren Sie Cookies, bevor Sie die Anfrage erneut versuchen.
  • Proxy- oder Browser-Mismatch: Verwenden Sie Ihren eigenen Proxy und senden Sie den aktuellen Windows-Browser-userAgent für die Aufgabe.
  • Wiederholte Prüfungen oder fehlgeschlagene Verifizierung: Überprüfen Sie Cookies, Proxy-Region, Regelsensitivität und Timeout-Einstellungen, bevor Sie annehmen, dass die Payload falsch ist.

Die dynamischen Parameter visid_incap_* und incap_ses_* sind kurzlebig. Die Verwendung abgelaufener Cookies führt dazu, dass Imperva eine erneute Challenge ausgibt oder die Anfrage vollständig blockiert. Die Lösung besteht darin, frische Cookies von der Seite neu zu sammeln und sofort eine neue Aufgabe an CapMonster Cloud mit den aktualisierten incapsulaCookies im metadata-Objekt zu senden.

Imperva Incapsula wird als cloudbasierter Schutzlayer beschrieben, der sichere Reverse Proxies und eine Web Application Firewall nutzt, die auf CDN-Infrastruktur bereitgestellt wird.

In diesem Modell wird der Website-Traffic über Imperva-Server geleitet, wo Anfragen überprüft und bösartige Aktivitäten gefiltert werden können, bevor der Traffic den Origin erreicht.

Um diese Architektur effektiv zu machen, empfehlen wir außerdem, den direkten Zugriff auf Ihren Server einzuschränken und den Traffic nur von Imperva-IP-Bereichen zu erlauben, wo dies angemessen ist.