Navigation

    Netgate Discussion Forum
    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search

    Squidguard Error Page wird nicht angezeigt

    Deutsch
    2
    10
    2482
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      streetsfinest last edited by

      Hallo zusammen,

      folgendes Problem:

      ich habe zwei Subnetze:

      -192.168.1.0 (LAN A)
      -172.18.1.0  (LaN B)

      Auf LAN B ist der Squidguard aktiviert, und die Blacklist läuft so wie sie soll - alles gut.
      Ich möchte jetzt die Kommunikation zwischen den beiden Subnetzen, die beide jeweils eine physikalische NIC an der pfSense darstellen, untereinander verbieten, also:

      LAN A kein Zugriff auf LAN B
      LAN B kein Zugriff auf LAN A

      Das funkioniert auch!

      Jetzt zum Problem:

      Wenn ich die Kommunikation zwischen den beiden Subnetzen verbiete, bekomme ich bei einer vom Squidgard "verbotenen Seite" im LAN B nur ein Timeout, weil sich die Errorpage anscheinend an die IP vom Gateway des LAN A wendet (192.168.1.1)
      Sieht dann so aus das ganze: "https://192.168.1.1/sgerror.php?url=403 &a=172.18.1.50&n=&i=&s=default"

      Ist ja dann logisch das die Errorpage nicht angezeigt wird, und alles in einem Timeout endet, aber das kann man doch bestimmt einstellen.
      Jemand Tipps für mich?

      Vielen Dank im Voraus

      Gruß

      1 Reply Last reply Reply Quote 0
      • N
        Nachtfalke last edited by

        Ja, mit DNS ;)
        Oder du erlaubst den Zugriff auf diese IP in der Firewall.

        Ich habe das Problem allerdings nicht. Als "Redirect mode" habe ich "Int error page (enter error message)" und als "Redirect" dann "Zugriffsbeschraenkung beim Versuch
        folgende Seite zu oeffnen"

        Das funktioniert, ohne Angabe der IP etc.

        1 Reply Last reply Reply Quote 0
        • S
          streetsfinest last edited by

          Danke erstmal für die Antwort!

          Die Freigabe der IP würde klappen, jedoch finde ich das nicht so optimal, wenn Leute in diesem LAN B die Webconfig zumindest aufrufen können. Ist ein Gast-Lan.
          Wie meinst du das genau mit dem DNS?

          Edit: Habe das bei mir auch probiert, aber klappt irgendwie nicht - mir würde es auch reichen, wenn bei einem Verstoß auf "www.google.de" zurück verwiesen wird.
          Wenn ich jedoch "ext url err page" eingebe, und unter "Redirect Info" die URL angebe, greifen gar keine ACLs mehr…

          1 Reply Last reply Reply Quote 0
          • N
            Nachtfalke last edited by

            Hallo,

            mach doch mal das, was ich geschrieben habe:

            Ich habe das Problem allerdings nicht. Als "Redirect mode" habe ich "Int error page (enter error message)" und als "Redirect" dann "Zugriffsbeschraenkung beim Versuch folgende Seite zu oeffnen"

            Bei allen Group ACL und COmmon ACL. Dann Auf "Save" und "Apply"

            DNS:
            Deine pfsense hat ja einen Namen, also pfsense.localdomain
            Trage das im DNS Forwarder ein als Host Override.
            pfsense.localdomain <–> 192.168.1.1
            pfsense.localdomain <--> 192.168.2.1

            Und dann eben die URL modifiziert:
            https://pfsense.localdomain/sgerror.php.....

            1 Reply Last reply Reply Quote 0
            • S
              streetsfinest last edited by

              Das habe ich jetzt mal probiert, die Redirect Info kommt auch zustande:

              Jedoch kommt immernoch die Fehlermeldung, das die IP (Gateway vom LAN A: 192.168.1.1) nicht erreichbar sei. Ist auch logisch, weil meine Firewall ACLs das nicht zulassen. Ich möchte erreichen, dass Leute aus dem LAN A das LAN B nicht erreichen und umgedreht ebenfalls nicht. Das hat aber leider zur Folge, dass die Nachricht vom Proxy (Squid) nicht dargestellt wird, weil die Errorpage die sich normal lädt, auf 192.168.1.1 adressiert ist. Es würde reichen, wenn die pfSense die Errorpage auf dem Gateway des GAST LAN B sucht. Momentane Meldung:

              Logisch, weil 192.168.1.1 vom Gast LAN B (172.18.1.0) nicht erreicht werden kann, durch meine definierten Firewall ACLs.
              Kann die Errorpage nicht auf das Gateway des LAN B (172.18.1.200) gemappt sein?

              Grüße

              1 Reply Last reply Reply Quote 0
              • N
                Nachtfalke last edited by

                Bei mir dürfen VLANs auch nicht untereinander kommunizieren und trotzdem klappt es.

                Stehen innerhalb deinwr sgerror.php IPs und URLs? Wenn ja, dann könnte das das problem sein. Meine sgerror.php enthält keine URLs oder IPs oder verlinkt auf externe seiten oder JPGs.

                Teste außerdem bitte mal mit pfsense GUI auf http und port 80.
                Also keine custom ports oder https.

                1 Reply Last reply Reply Quote 0
                • S
                  streetsfinest last edited by

                  Du hast den Fehler gefunden :)

                  War der ssl zugang zur webconfig!
                  Habe es auf http umgestellt  und es funktionert!
                  Ist natürlich jetzt bisschen bitter, wenn meine anmeldedaten der web gui unverschlüsselt übers lan wandern…so gedacht? oder ist meine config noch fehlerhaft?

                  Aber das Grundsatzproblem, dass ich keine ordentliche Fehlermeldung bekomme sondern ein Timeout ist weg, trotz firewall acl´s (so wie du beschrieben hast mit deinen vlans, die auch segmentieren) - so soll das sein!

                  Vielen Dank schon mal dafür.

                  1 Reply Last reply Reply Quote 0
                  • S
                    streetsfinest last edited by

                    @streetsfinest:

                    Du hast den Fehler gefunden :)

                    War der ssl zugang zur webconfig!
                    Habe es auf http umgestellt  und es funktionert!
                    Ist natürlich jetzt bisschen bitter, wenn meine anmeldedaten der web gui unverschlüsselt übers lan wandern…so gedacht? oder ist meine config noch fehlerhaft?

                    Aber das Grundsatzproblem, dass ich keine ordentliche Fehlermeldung bekomme sondern ein Timeout ist weg, trotz firewall acl´s (so wie du beschrieben hast mit deinen vlan, die auch segmentieren) - so soll das sein!

                    Vielen Dank schon mal dafür.

                    Edit: Wo finde ich denn die errorpage.php (zum editieren oder ähnliches)?

                    1 Reply Last reply Reply Quote 0
                    • N
                      Nachtfalke last edited by

                      Hallo,

                      du musst mal im forum suchen btgl. squidguard und https GUI. Das klappt glaube ich leider nicht immer in jeder Konstellation. Vor allem, wenn du von den Standardpoprts abweichst, dann gibts Probleme. Deswegen würde ich erstmal mit http und port 80 testen. Deine sgerror.php wie unten beschrieben anpassen und testen.

                      Anschließend kannst du auch https 443 umsteigen und erneut testen.

                      Was aber zu 99.99% nicht reibungslos klappt ist zum Beispiel https und Port 4711 oder http und port 56789

                      Die sgerror.php findest du hier:

                      /usr/local/www/sgerror.php
                      

                      Du findest dort folgenden Abschnitt:

                      
                      # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                      # IE displayed self-page, if them size > 1024
                      # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                      function get_error_page($er_code_id, $err_msg='') {
                              global $err_code;
                              global $cl;
                              global $g;
                              global $config;
                              $str = Array();
                      
                              header("HTTP/1.1 " . $err_code[$er_code_id]);
                      
                              $str[] = '';
                              $str[] = '';
                              if ($config['installedpackages']['squidguarddefault']['config'][0]['deniedmessage']) {
                                      $str[] = "
                      
                      ### {$config['installedpackages']['squidguarddefault']['config'][0]['deniedmessage']}: {$err_code[$er_code_id]}
                      
                      ";
                              } else {
                                      $str[] = "
                      
                      ### Request denied by {$g['product_name']} proxy: {$err_code[$er_code_id]}
                      
                      ";
                              }
                              if ($err_msg) $str[] = " **Reason:** $err_msg";
                              $str[] = '
                      
                      * * *
                      
                      ';
                              if ($cl['a']) $str[] = " **Client address:** {$cl['a']} 
                      ";
                              if ($cl['n']) $str[] = " **Client name:** {$cl['n']} 
                      ";
                              if ($cl['i']) $str[] = " **Client user:** {$cl['i']} 
                      ";
                              if ($cl['s']) $str[] = " **Client group:** {$cl['s']} 
                      ";
                              if ($cl['t']) $str[] = " **Target group:** {$cl['t']} 
                      ";
                              if ($cl['u']) $str[] = " **URL:** {$cl['u']} 
                      ";
                              $str[] = '
                      
                      * * *
                      
                      ';
                              $str[] = "";
                              $str[] = "";
                      
                              return implode("\n", $str);
                      }
                      
                      

                      Dieser generiert die angezeigte error page. Du darfst diese nach deinem Belieben anpassen. So habe ich das gemacht.
                      Ich würde in dieser Spalte aber keine Bilder einbinden - da du hierfür die Pfad angeben musst und dann passt es mit den Ports un http/s evtl. nicht.

                      Auch solltest du nicht auf etwas verlinken etc. was für eines der beiden VLANs gesperrt ist.

                      PS: Es gab sogar mal einen Thread in welchem die Leute ihre verschiedenen sgerror.phps vorstellen.

                      Viel Erfolg!

                      1 Reply Last reply Reply Quote 0
                      • S
                        streetsfinest last edited by

                        Vielen Dank für die ausführlichen Antworten, den Rest werde ich nun auch noch hinbekommen!
                        Von sowas lebt ein Forum  :)

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post