Guest User!

You are not Sophos Staff.

This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

UTM mit WAF für SecureID Self-Service Portal

Hallo liebe Community,

folgende Ausgangssituation:

Sophos UTM als zentrale Firewall. Firmware 9.700-5 und vorher noch 9.605001 mit selben Ergebnis.

- RSA SecureID als Radius Server mit Token um die VPN Einwahl zu schützen. Läuft.

- SSL Zertifkate Let´s Encrypt - läuft.

- Exchange WAF - Läuft.

- weiterer Webdienst per WAF - Läuft.

Nun mochte die GF das das Self-Service Portal vom RSA Server von extern nutzbar wird, damit man auch außerhalb der Arbeitszeit sein Token resyncronisieren etc. kann.

Als RSA Server ist eine Appliance mit der Version 8.2 SP1 CU8 installiert. Das Portal läuft mit internem Zertifikat ohne Probleme.

Nun wollte ich (wie schon bei diversen anderen Servern gemacht) auch dort das Portal freigeben. Hab VORHER auch das Handbuch des RSA Servers gelesen und verstanden. Dort wird leider per NAT der Port 443 komplett freigegeben. Möchte ich nicht weil 443 schon weg und auch nur eine externe IP da ist. Und mit anderem Port möchte ich auch nicht. URL soll rsa.firma.tld sein. Kann sich jeder (Chef) merken.

WAF konfiguriert und läuft.... dachte ich. Und hier kommt IHR ins Spiel.

Die Startseite geht offensichtlich fehlerfrei auf. Aber bei jeder Funktion kommt dann eine Meldung, das der Dienst nicht verfügbar ist.

"Ihre Anforderung kann derzeit leider nicht verarbeitet werden. Die Anforderung wurde verarbeitet, oder es handelt sich um eine unzulässige Anforderung. Wechseln Sie wieder zur Startseite und versuchen Sie es erneut."

Wenn man sich die Webseite in der Console ansieht, dann werden 3-5 Dateien (1 x CSS und der Rest JS oder JSP) nicht geladen wegen HTTP Fehler 500. Das selbe sehe ich auch im WAF Protokoll. Direkt auf dem internen Server kommen die Dateien natürlich an.

Hab das alles direkt auf der Appliance und auch auf einem vorgeschalteten Web-Tier probiert. Mit selbem Ergebnis.

Ich werde diese Frage auch mal im RSA-Link stellen. Leider brachte die Google Suche nur Hinweise zu anderen Firewalls und älteren Versionen des RSA Servers.

Ich habe eigentlich schon einiges mit Firewall und Ausnahmen probiert. Bin bei UTM auch kein Neuling.

Hab jemand eine gute Idee ?

Anbei noch etwas Logfile...


 

2019:11:06-07:49:40 sophos-2 httpd: id="0299" srcip="xxx..xxx.xxx.xxx" localip="192.168.178.20" size="3960" user="-" host="xxx..xxx.xxx.xxx" method="GET" statuscode="200" reason="-" extra="-" exceptions="SkipURLHardening, SkipThreatsFilter_XssAttacks" time="70293" url="/console-selfservice/" server="rsa.firma.tld" port="443" query="" referer="-" cookie="console-selfservice-jsessionid=4bw_bDgQW8jLHKr2I3s6ANNaq3ZnszX3e4cc4IetaJkZWwYd5Wy3!851688784" set-cookie="-" websocket_scheme="-" websocket_protocol="-" websocket_key="-" websocket_version="-" uid="XcJtBI63aV0fqXs@oDTcMwAAACI"
2019:11:06-07:49:40 sophos-2 httpd: id="0299" srcip="xxx..xxx.xxx.xxx" localip="192.168.178.20" size="2169" user="-" host="xxx..xxx.xxx.xxx" method="GET" statuscode="500" reason="-" extra="-" exceptions="SkipURLHardening, SkipThreatsFilter_XssAttacks" time="17497" url="/console-selfservice/framework/js/extjs/4.0.2a/resources/css/ext-all-gray.css" server="rsa.firma.tld" port="443" query="" referer="rsa.firma.tld/.../" cookie="console-selfservice-jsessionid=4bw_bDgQW8jLHKr2I3s6ANNaq3ZnszX3e4cc4IetaJkZWwYd5Wy3!851688784" set-cookie="-" websocket_scheme="-" websocket_protocol="-" websocket_key="-" websocket_version="-" uid="XcJtBI63aV0fqXs@oDTcNAAAACI"
2019:11:06-07:49:40 sophos-2 httpd: id="0299" srcip="xxx..xxx.xxx.xxx" localip="192.168.178.20" size="2233" user="-" host="xxx..xxx.xxx.xxx" method="GET" statuscode="500" reason="-" extra="-" exceptions="SkipURLHardening, SkipThreatsFilter_XssAttacks" time="57107" url="/console-selfservice/framework/js/extjs/4.0.2a/ext-all.js" server="rsa.firma.tld" port="443" query="" referer="rsa.firma.tld/.../" cookie="console-selfservice-jsessionid=4bw_bDgQW8jLHKr2I3s6ANNaq3ZnszX3e4cc4IetaJkZWwYd5Wy3!851688784" set-cookie="-" websocket_scheme="-" websocket_protocol="-" websocket_key="-" websocket_version="-" uid="XcJtBI63aV0fqXs@oDTcNQAAADE"
2019:11:06-07:49:40 sophos-2 httpd: id="0299" srcip="xxx..xxx.xxx.xxx" localip="192.168.178.20" size="2298" user="-" host="xxx..xxx.xxx.xxx" method="GET" statuscode="500" reason="-" extra="-" exceptions="SkipURLHardening, SkipThreatsFilter_XssAttacks" time="45323" url="/console-selfservice/framework/js/extjs/extensions/rsa/1.2/Ext-rsa-extensions.js" server="rsa.firma.tld" port="443" query="" referer="rsa.firma.tld/.../" cookie="console-selfservice-jsessionid=4bw_bDgQW8jLHKr2I3s6ANNaq3ZnszX3e4cc4IetaJkZWwYd5Wy3!851688784" set-cookie="-" websocket_scheme="-" websocket_protocol="-" websocket_key="-" websocket_version="-" uid="XcJtBI63aV0fqXs@oDTcNgAAAAk"

[:(]

Alex



This thread was automatically locked due to age.
Parents
  • Hallo Alex,

    ein Versuch wäre wohl die Option "WebSocket-Durchreichung aktivieren" in der Site-Path-Route mal zu aktivieren.

    Sonst wäre es wohl ganz gut, wenn Du uns mal via Screnshot zeigen würdest, wie die Veröffentlichung im WAF geregelt ist.

    Beste Grüße

    Alex

    -

  • Hi,

    das hatte ich bereits (erfolglos) probiert: Hier mal ein paar Screenshots:

    HTML Umschreiben und Coockies alles probiert.

    Alex

  • Ohne es genau zu wissen, aber Firewall Profil -kein Profil- ? Versuch mal zumindest eines hinzuzufügen.

    -

  • Alles schon probiert. Bin 2. Tag am Problem.

    Aber ich habe einen Ansatz: Im Quellcode der Seite werden diverse CSS und js Dateien nachgeladen. Einige gehen, andere nicht:

    OK:
    <link href="/console-selfservice/styles/default/main.css" rel="stylesheet" type="text/css">
    <link href="/console-selfservice/styles/default/selfservice.css" rel="stylesheet" type="text/css">
    <link rel="stylesheet" type="text/css" media="screen" href="/console-selfservice/framework/rsa/css/framework-ext.css"/>
    <script type="text/javascript" src="/console-selfservice/common/scripts/general.js"></script>
    <script type="text/javascript" src="/console-selfservice/common/components/smartmenu/c_smartmenus.js"></script>

    Fehler:
    <link rel="stylesheet" href="/console-selfservice/framework/js/extjs/4.0.2a/resources/css/ext-all-gray.css" type="text/css" />
    <script type="text/javascript" src="/console-selfservice/framework/js/extjs/4.0.2a/ext-all.js"></script>
    <script type="text/javascript" src="/console-selfservice/framework/js/extjs/extensions/rsa/1.2/Ext-rsa-extensions.js"></script>

     

    Alle mit dem Problem habe das extjs im Pfad. Und das scheint bei Modsecurity nicht unbekannt zu sein das Problem. Wohl im Zusammenhang mit JSON.

    Alex

  • Besteht die Möglichkeit es mal ohne den Path /console-selfservice/ zu probieren und diese statt dessen im Aufruf der html seite anzugeben?

    Ich hatte bei diversen Webseite immer probleme mit den Path angaben.

    Ggf. müsste der Virtuelle Server nach dem entfernen des path aktualisiert werden.

  • Hi,

    das hatte ich auch schon probiert. Leider selbes Problem. Ich verbeiße mich weiter an dem extJS. Eventuell gibt es da eine Ausnahme im ModSecurity.

    Es gibt wohl bei WAF mit AXAJ und extJS einige Leute mit Problemen...

  • Hi,

    hab nun nochmal mit einem Firewall-Profil "Basic Protection" probiert. Zu mindestens kommt dann im Log eine bessere Meldung und ein anderer Return Code:

    2019:11:06-15:18:27 sophos-2 httpd: id="0299" srcip="xxx.xxx.xxx.xxx" localip="192.168.178.20" size="396" user="-" host="212.91.237.194" method="GET" statuscode="403" reason="waf" extra="Outbound Anomaly Score Exceeded (score 4): Last Matched Message: The application is not available" exceptions="SkipURLHardening, SkipThreatsFilter_XssAttacks" time="105719" url="/console-selfservice/framework/js/extjs/4.0.2a/ext-all.js" server="rsa.firma.tld" port="443" query="" referer="rsa.firma.tld/.../"

    Vermutlich brauche ich "nur" die passende Ausnahme für den Anomaly Score. Alles, was man mit den fertigen Optionen machen kann, habe ich probiert (SQL Inject etc.).

    Alex

Reply
  • Hi,

    hab nun nochmal mit einem Firewall-Profil "Basic Protection" probiert. Zu mindestens kommt dann im Log eine bessere Meldung und ein anderer Return Code:

    2019:11:06-15:18:27 sophos-2 httpd: id="0299" srcip="xxx.xxx.xxx.xxx" localip="192.168.178.20" size="396" user="-" host="212.91.237.194" method="GET" statuscode="403" reason="waf" extra="Outbound Anomaly Score Exceeded (score 4): Last Matched Message: The application is not available" exceptions="SkipURLHardening, SkipThreatsFilter_XssAttacks" time="105719" url="/console-selfservice/framework/js/extjs/4.0.2a/ext-all.js" server="rsa.firma.tld" port="443" query="" referer="rsa.firma.tld/.../"

    Vermutlich brauche ich "nur" die passende Ausnahme für den Anomaly Score. Alles, was man mit den fertigen Optionen machen kann, habe ich probiert (SQL Inject etc.).

    Alex

Children
  • Vielleicht wäre auch der "Monitoring Mode" hier behelfsweise zu empfehlen.
    Aber grundsätzlich solltest Du die entsprechende Rule ID einige Zeilen oberhalb des Eintrags in der Nähe finden.

    Ich finde diesen Post von DouglasFoster super informativ:

    https://community.sophos.com/products/unified-threat-management/f/recommended-reads/113817/sophos-utm-securing-web-application-firewall-waf

    Beste Grüße

    Alex

    -

  • Moin,

    der Artikel ist wirklich gut.

    Aber leider habe ich auch schon im "Überwachen" Mode gearbeitet und die Rules gefunden, die angezeigt werden. Wenn dann der Ausschluss konfiguriert ist, geht es aber leider nicht besser. Der Fehler wird von 403 zu 500. Im Grunde wird damit "nur" die Meldung unterdrückt aber die Dateien werden nicht geliefert.

    Ich verfolge weiter den Ansatz mit den extJS und werde prüfen, ob die Nachfolger Versionen des Portals eine andere Bibliothek nutz. Es gab dort ja einige Release Stände, an denen ich noch testen kann.

    Im Forum des Herstellers wurde ich auf Port 443 Weiterleitung hingewiesen. Ja. Dann geht es zwar aber natürlich auch alles, was auf dem Port läuft und auch mit falschem Zertifikat. Lets Encrypt geht dort nicht, also kaufen. 

    Alex

  • Tach zusammen,

    hab heute den RSA Server auf den neusten Stand 8.4 CU7 aktualisiert. Allerdings ohne Verbesserung:

    [security2:error] [pid 10345:tid 3793894256] [client xxx.xx.xxx.xxx:48783] [client xxx.xxx.xxx.xxx] ModSecurity: Access denied with code 403 (phase 4). Pattern match "(.*)" at TX:970901-AVAILABILITY/APP_NOT_AVAIL-RESPONSE_STATUS. [file "/usr/apache/conf/waf/modsecurity_crs_outbound_blocking.conf"] [line "24"] [id "981200"] [msg "Outbound Anomaly Score Exceeded (score 4): Last Matched Message: The application is not available"] [data "Last Matched Data: 500"] [hostname "rsa.firma.tld"] [uri "/console-selfservice/framework/js/extjs/extensions/rsa/1.2/Ext-rsa-extensions.js"]

    Wenn ich nun eine Ausnahme für Regel 981200 erstelle funktioniert es auch nicht. Dann wird einfach nur dies geliefert:

    httpd: id="0299" srcip="xxx.xxx.xxx.xxx" localip="xxx.xxx.xxx.xx" size="2348" user="-" host="xxx.xxx.xxx.xxx" method="GET" statuscode="500" reason="-" extra="-" exceptions="SkipURLHardening, SkipThreatsFilter_XssAttacks" time="156858" url="/console-selfservice/framework/js/extjs/extensions/rsa/1.2/Ext-rsa-extensions.js" server="rsa.firma.tld" port="443" query="" referer="https://rsa.firma.tld/console-selfservice/SelfService.do"

    Hat noch jemand eine Idee?

    Alex

  • Moin,

    habe nun ein Ticket beim Support eröffnet.  Mal sehen. Vermutlich wird man sagen, das RSA schuld ist und RSA sagt dann, das Sophos schuld ist...

    Werde heute mal mit Wireshark auf dem Webserver sehen, was gesprochen wird.

  • Ticket seit 08.11.19 eröffnet. Leider keine Reaktion vom Support.