Anwendungsfall: Sicherung des Unternehmensnetzwerks durch Verwendung von ICAP für die Remote-Malware-Inspektion

Die Citrix ADC Appliance fungiert als Proxy und fängt den gesamten Clientdatenverkehr ab. Die Appliance verwendet Richtlinien, um den Datenverkehr auszuwerten und leitet Clientanforderungen an den Ursprungsserver weiter, auf dem sich die Ressource befindet. Die Appliance entschlüsselt die Antwort vom Ursprungsserver und leitet den Nur-Text-Inhalt für eine Antischadwareprüfung an den ICAP-Server weiter. Der ICAP-Server antwortet mit einer Meldung mit der Meldung Keine Anpassung erforderlich oder Fehler oder geänderte Anforderung. Abhängig von der Antwort des ICAP-Servers wird der angeforderte Inhalt entweder an den Client weitergeleitet oder eine entsprechende Nachricht gesendet.

Für diesen Anwendungsfall müssen Sie eine allgemeine Konfiguration, eine Proxy- und SSL-Interceptionkonfiguration sowie eine ICAP-Konfiguration auf der Citrix ADC Appliance durchführen.

Allgemeine Konfiguration

Konfigurieren Sie die folgenden Entitäten:

  • NSIP-Adresse
  • Subnetz-IP-Adresse (SNIP)
  • DNS-Namensserver
  • Zertifizierungsstellenschlüsselpaar zum Signieren des Serverzertifikats für SSL-Interception

Proxyserver- und SSL-Interceptionkonfiguration

Konfigurieren Sie die folgenden Entitäten:

  • Proxy-Server im expliziten Modus, um den gesamten ausgehenden HTTP- und HTTPS-Datenverkehr abzufangen.
  • SSL-Profil zum Definieren von SSL-Einstellungen, wie Verschlüsselungen und Parameter, für Verbindungen.
  • SSL-Richtlinie zum Definieren von Regeln zum Abfangen von Datenverkehr. Auf true gesetzt, um alle Clientanforderungen abzufangen.

Weitere Informationen finden Sie in den folgenden Themen:

In der folgenden Beispielkonfiguration befindet sich der Antischadsoftware-Erkennungsdienst unter www.example.com.

Allgemeine Beispielkonfiguration:

add dns nameServer 203.0.113.2

add ssl certKey ns-swg-ca-certkey -cert ns_swg_ca.crt -key ns_swg_ca.key

Beispiel-Proxyserver und SSL-Interceptionkonfiguration:

add cs vserver explicitswg PROXY 192.0.2.100 80 –Authn401 ENABLED –authnVsName explicit-auth-vs

set ssl parameter -defaultProfile ENABLED

add ssl profile swg_profile -sslInterception ENABLED

bind ssl profile swg_profile -ssliCACertkey ns-swg-ca-certkey

set ssl vserver explicitswg -sslProfile swg_profile

add ssl policy ssli-pol_ssli -rule true -action INTERCEPT

bind ssl vserver explicitswg -policyName ssli-pol_ssli -priority 100 -type INTERCEPT_REQ

Beispiel-ICAP-Konfiguration:

add service icap_svc 203.0.113.225 TCP 1344

enable ns feature contentinspection

add icapprofile icapprofile1 -uri /example.com -Mode RESMOD

add contentInspection action CiRemoteAction -type ICAP -serverName  icap_svc -icapProfileName icapprofile1

add contentInspection policy CiPolicy -rule "HTTP.REQ.METHOD.NE("CONNECT")" -action CiRemoteAction

bind cs vserver explicitswg -policyName  CiPolicy -priority 200 -type response

Konfigurieren der Proxy-Einstellungen

  1. Navigieren Sie zu Sicherheit > SSL-Forward-Proxy > SSL-Forward-Proxy-Assistent.

  2. Klicken Sie auf Erste Schritte und dann auf Weiter.

  3. Geben Sie im Dialogfeld Proxyeinstellungen einen Namen für den expliziten Proxyserver ein.

  4. Wählen Sie unter Aufnahmemodus die Option Explizit aus.

  5. Geben Sie eine IP-Adresse und Portnummer ein.

    lokalisiertes Bild

  6. Klicken Sie auf Weiter.

Konfigurieren der Einstellungen für SSL-Interception

  1. Wählen Sie SSL-Interception aktivierenaus.

    lokalisiertes Bild

  2. Wählen Sie in SSL-Profilein vorhandenes Profil aus oder klicken Sie auf „+“, um ein neues Front-End-SSL-Profil hinzuzufügen. Aktivieren Sie **SSL-Interception**in diesem Profil. Wenn Sie ein vorhandenes Profil auswählen, überspringen Sie den nächsten Schritt.

    lokalisiertes Bild

  3. Klicken Sie auf OK und dann auf Fertig.

  4. Wählen Sie unter Select SSL Interception CA Certificate-Key Pairein vorhandenes Zertifikat aus, oder klicken Sie auf +, um ein CA-Zertifikatschlüsselpaar für die SSL-Abhörung zu installieren. Wenn Sie ein vorhandenes Zertifikat auswählen, überspringen Sie den nächsten Schritt.

    lokalisiertes Bild

  5. Klicken Sie auf Installieren und dann auf Schließen.

  6. Fügen Sie eine Richtlinie hinzu, um den gesamten Datenverkehr abzufangen. Klicken Sie auf Bind. Klicken Sie auf Hinzufügen, um eine neue Richtlinie hinzuzufügen oder eine vorhandene Richtlinie auszuwählen. Wenn Sie eine vorhandene Richtlinie auswählen, klicken Sie auf Einfügen, und überspringen Sie die nächsten drei Schritte.

    lokalisiertes Bild

  7. Geben Sie einen Namen für die Richtlinie ein, und wählen Sie Erweitert aus. Geben Sie im Ausdruckseditor true ein.

  8. Wählen Sie unter Aktion die Option INTERCEPT aus.

    lokalisiertes Bild

  9. Klicken Sie auf Erstellen.

  10. Klicken Sie viermal auf Fortfahren, und klicken Sie dann auf Fertig .

Konfigurieren der ICAP-Einstellungen

  1. Navigieren Sie zu Load Balancing > Services, und klicken Sie auf Hinzufügen .

    lokalisiertes Bild

  2. Geben Sie einen Namen und eine IP-Adresse ein. Wählen Sie unter Protokoll die Option TCPaus. Geben Sie in Port den Wert 1344ein. Klicken Sie auf OK.

    lokalisiertes Bild

  3. Navigieren Sie zu SSL-Forward-Proxy> Virtuelle Proxy-Server . Fügen Sie einen virtuellen Proxyserver hinzu, oder wählen Sie einen virtuellen Server aus, und klicken Sie auf Bearbeiten. Klicken Sie nach der Eingabe von Details auf OK.

    lokalisiertes Bild

    Klicken Sie erneut auf OK.

    lokalisiertes Bild

  4. Klicken Sie unter Erweiterte Einstellungen auf Richtlinien.

    lokalisiertes Bild

  5. Wählen Sie unter Richtlinie auswählen die Option Inhaltsüberprüfung aus. Klicken Sie auf Weiter.

    lokalisiertes Bild

  6. Klicken Sie unter Richtlinie auswählen auf das +-Zeichen, um eine Richtlinie hinzuzufügen.

    lokalisiertes Bild

  7. Geben Sie einen Namen für die Richtlinie ein. Klicken Sie in Aktion auf das +-Zeichen, um eine Aktion hinzuzufügen.

    lokalisiertes Bild

  8. Geben Sie einen Namen für die Aktion ein. Geben Sie unter Servername den Namen des zuvor erstellten TCP-Dienstes ein. Klicken Sie im ICAP-Profil auf das +-Zeichen, um ein ICAP-Profil hinzuzufügen.

    lokalisiertes Bild

  9. Geben Sie einen Profilnamen ein, URI. Wählen Sie unter Modus die Option REQMOD aus.

    lokalisiertes Bild

  10. Klicken Sie auf Erstellen.

    lokalisiertes Bild

  11. Klicken Sie auf der Seite ICAP-Aktion erstellen auf Erstellen.

    lokalisiertes Bild

  12. Geben Sie auf der Seite ICAP-Richtlinie erstellen im Ausdruckseditor “true” ein. Klicken Sie dann auf Erstellen.

    lokalisiertes Bild

  13. Klicken Sie auf Bind.

    lokalisiertes Bild

  14. Wenn Sie aufgefordert werden, die Funktion zur Inhaltsprüfung zu aktivieren, wählen Sie Ja aus.

    lokalisiertes Bild

  15. Klicken Sie auf Fertig.

    lokalisiertes Bild

Beispiel für ICAP-Transaktionen zwischen der Citrix ADC Appliance und dem ICAP-Server in RESPMOD

Anforderung von der Citrix ADC Appliance an den ICAP-Server:

RESPMOD icap://10.106.137.15:1344/resp ICAP/1.0

Host: 10.106.137.15

Connection: Keep-Alive

Encapsulated: res-hdr=0, res-body=282

HTTP/1.1 200 OK

Date: Fri, 01 Dec 2017 11:55:18 GMT

Server: Apache/2.2.21 (Fedora)

Last-Modified: Fri, 01 Dec 2017 11:16:16 GMT

ETag: "20169-45-55f457f42aee4"

Accept-Ranges: bytes

Content-Length: 69

Keep-Alive: timeout=15, max=100

Content-Type: text/plain; charset=UTF-8

X5O!P%@AP[4PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

Antwort vom ICAP-Server auf die Citrix ADC Appliance:

ICAP/1.0 200 OK

Connection: keep-alive

Date: Fri, 01 Dec, 2017 11:40:42 GMT

Encapsulated: res-hdr=0, res-body=224

Server: IWSVA 6.5-SP1_Build_Linux_1080 $Date: 04/09/2015 01:19:26 AM$

ISTag: "9.8-13.815.00-3.100.1027-1.0"

X-Virus-ID: Eicar_test_file

X-Infection-Found: Type=0; Resolution=2; Threat=Eicar_test_file;

HTTP/1.1 403 Forbidden

Date: Fri, 01 Dec, 2017 11:40:42 GMT

Cache-Control: no-cache

Content-Type: text/html; charset=UTF-8

Server: IWSVA 6.5-SP1_Build_Linux_1080 $Date: 04/09/2015 01:19:26 AM$

Content-Length: 5688

<html><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"/>

…

…

</body></html>