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

    Unofficial E2guardian package for pfSense

    Scheduled Pinned Locked Moved Cache/Proxy
    1.2k Posts 71 Posters 1.7m Views
    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.
    • C
      Cino
      last edited by

      It might be just my setup but there isn't any defaults for the 4 options under Anti-Virus. The boxes have no text. Also, under Search Engine there are no options only an Add/Save button. Click on Add, no options; only save. I downloaded the latest xml files this morning.

      running on
      2.3.4-DEVELOPMENT (amd64)
      built on Tue Apr 04 16:31:17 CDT 2017
      FreeBSD 10.3-RELEASE-p17

      1 Reply Last reply Reply Quote 0
      • marcellocM
        marcelloc
        last edited by

        I'll test it today.

        I'm also including the ssl group options introduced on e2guardian since 3.1 version

        Treinamentos de Elite: http://sys-squad.com

        Help a community developer! ;D

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

          @marcelloc:

          @Stewart:

          Awesome, thanks!  Now that it seems to be working, any advice on getting it to work with Squid transparently?

          Dansguardian as two work modes.

          The sandwich mode, where there is a squid -> e2guardian -> tinyproxy or any other cache

          Or the starndard mode where it stays in front of squid or any other cache and try to forward client authentication requests

          What mode are you using?

          E2guardian transparent mode while in front of squid is setup manually, creating a nat rule pointing to its listening port.

          It would be transparent.  SquidGuard doesn't need any NAT rules and just integrates with Squid.  Does e2Guardian not behave the same way?  I want it transparent with Squid so do I need a NAT rule that points LAN 80 to LAN 8080 and then e2G will automatically forward to Squid?

          1 Reply Last reply Reply Quote 0
          • marcellocM
            marcelloc
            last edited by

            E2guardian is a daemon, not a squid helper. You need to configure ip, port , forward rules as a normal proxy daemon.

            Treinamentos de Elite: http://sys-squad.com

            Help a community developer! ;D

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

              Ah, it's completely independent of Squid, then.  Where does it sit in-line?  I'll check the manuals tomorrow but does it sit between Squid and the user or between Squid and the WAN?  I'm sure the forwards needed are in the documentation so I'll see if I can find the ports needed in the morning.  Thanks for all your help!

              1 Reply Last reply Reply Quote 0
              • marcellocM
                marcelloc
                last edited by

                @Stewart:

                Ah, it's completely independent of Squid, then.  Where does it sit in-line?  I'll check the manuals tomorrow but does it sit between Squid and the user or between Squid and the WAN?  I'm sure the forwards needed are in the documentation so I'll see if I can find the ports needed in the morning.  Thanks for all your help!

                E2guardian replaces squidguard and in some cases can do all squid job too but it needs a cache peer to fetch urls.

                The idea of this package is to have a full-feature replacement for squidguard and depending on you user authentication needs, dansguardian package itsel will do the job as it include tynyproxy for url fetch.

                Treinamentos de Elite: http://sys-squad.com

                Help a community developer! ;D

                1 Reply Last reply Reply Quote 0
                • marcellocM
                  marcelloc
                  last edited by

                  I've updated the binaries and GUI to include dnsauth and icap antivirus integration. The idea is to call clamv exactly the same way squid does to avoid package conflict.

                  Treinamentos de Elite: http://sys-squad.com

                  Help a community developer! ;D

                  1 Reply Last reply Reply Quote 0
                  • marcellocM
                    marcelloc
                    last edited by

                    Latest TODO as far as I can see

                    • add gui  group ssl options introduced since E2guardian 3.1

                    • fix search acl tab and configuration

                    • increase tiny proxy config values to March E2guardian start process configuration

                    • Configure clamav icap

                    Treinamentos de Elite: http://sys-squad.com

                    Help a community developer! ;D

                    1 Reply Last reply Reply Quote 0
                    • D
                      danjeman
                      last edited by

                      A method of configuring it to listen on a CARP address via the GUI would be great too - Squid you can do this from the 'Advanced Features - Custom Options'… or is this not possible with e2g, looks like multi interface listen causes problems at the moment?

                      1 Reply Last reply Reply Quote 0
                      • marcellocM
                        marcelloc
                        last edited by

                        @danjeman:

                        It looks like multi interface listen causes problems at the moment?

                        Not anymore. I've hard coded a config option util multi auth psr port is better implemented on gui.

                        Treinamentos de Elite: http://sys-squad.com

                        Help a community developer! ;D

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

                          How do we update?  Rerun the script?  That's what I've done and I've got some changes.

                          1 Reply Last reply Reply Quote 0
                          • marcellocM
                            marcelloc
                            last edited by

                            @Stewart:

                            How do we update?  Rerun the script?  That's what I've done and I've got some changes.

                            Yes, rerun. Few days ago I've updated the e2guardian binaries to include icap and dnsauth.

                            Treinamentos de Elite: http://sys-squad.com

                            Help a community developer! ;D

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

                              I reran the script and suddenly e2Guardian wouldn't load.  The error was:

                              /usr/local/etc/rc.d/e2guardian.sh: WARNING: failed to start e2guardian
                              Error parsing the e2guardian.conf file or other e2guardian configuration files
                              Error loading auth plugins
                              auth_plugin_load() returned NULL pointer with config file: /usr/local/etc/e2guardian/authplugins/proxy-header.conf 
                              Unable read plugin config plugname variable /usr/local/etc/e2guardian/authplugins/proxy-header.conf 
                              

                              I was able to get it to start by uncommenting the last 3 lines in /usr/local/etc/e2guardian/authplugins/proxy-header.conf:

                              
                              low case
                              header = ''
                              
                              plugname = 'proxy-header'
                              
                              

                              Not sure what uncommenting them does but it allows it to load.

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

                                Well, it loads but it doesn't do anything.  Whether I try to create a NAT rule or just set the browser to 8080, no pages load.  They all just time out.  I'm watching /var/log/system.log but it isn't showing anything.

                                1 Reply Last reply Reply Quote 0
                                • marcellocM
                                  marcelloc
                                  last edited by

                                  I'll what's different from my working e2guardian.  Did you selected any authentication method?

                                  Treinamentos de Elite: http://sys-squad.com

                                  Help a community developer! ;D

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

                                    I've tried Proxy-Basic and none.  Now, some pages load.  Others are blocked but show a category of NA.  I also can't get to the pfSense GUI from the local network.  Is there a way to reset to defaults in case I've done something?

                                    Edit:  i am getting a bunch of:

                                    Apr 10 17:25:20 	e2guardian 	53019 	stats reset to freechildren 16 busychildren 2 numchildren 18
                                    Apr 10 17:25:20 	e2guardian 	53019 	freechildren 15 + busychildren 2 != numchildren 18
                                    Apr 10 17:25:20 	e2guardian 	53019 	stats reset to freechildren 16 busychildren 2 numchildren 18
                                    Apr 10 17:25:20 	e2guardian 	53019 	freechildren 16 + busychildren 1 != numchildren 18
                                    Apr 10 17:25:20 	e2guardian 	53019 	stats reset to freechildren 17 busychildren 1 numchildren 18
                                    Apr 10 17:25:21 	e2guardian 	53019 	freechildren 16 + busychildren 1 != numchildren 18
                                    Apr 10 17:25:21 	e2guardian 	53019 	stats reset to freechildren 17 busychildren 1 numchildren 18
                                    Apr 10 17:25:21 	e2guardian 	53019 	freechildren 15 + busychildren 2 != numchildren 18
                                    Apr 10 17:25:21 	e2guardian 	53019 	stats reset to freechildren 16 busychildren 2 numchildren 18
                                    Apr 10 17:25:21 	e2guardian 	53019 	freechildren 14 + busychildren 3 != numchildren 18
                                    Apr 10 17:25:21 	e2guardian 	53019 	stats reset to freechildren 15 busychildren 3 numchildren 18
                                    Apr 10 17:25:21 	e2guardian 	53019 	freechildren 14 + busychildren 3 != numchildren 18
                                    Apr 10 17:25:21 	e2guardian 	53019 	stats reset to freechildren 15 busychildren 3 numchildren 18
                                    Apr 10 17:26:36 	e2guardian 	53019 	freechildren 16 + busychildren 1 != numchildren 18
                                    Apr 10 17:26:36 	e2guardian 	53019 	stats reset to freechildren 17 busychildren 1 numchildren 18
                                    Apr 10 17:26:36 	e2guardian 	53019 	freechildren 16 + busychildren 1 != numchildren 18
                                    Apr 10 17:26:36 	e2guardian 	53019 	stats reset to freechildren 17 busychildren 1 numchildren 18
                                    Apr 10 17:26:36 	e2guardian 	53019 	freechildren 17 + busychildren 0 != numchildren 18
                                    Apr 10 17:26:36 	e2guardian 	53019 	stats reset to freechildren 18 busychildren 0 numchildren 18
                                    Apr 10 17:26:37 	e2guardian 	53019 	freechildren 17 + busychildren 0 != numchildren 18
                                    Apr 10 17:26:37 	e2guardian 	53019 	stats reset to freechildren 18 busychildren 0 numchildren 18
                                    Apr 10 17:26:39 	e2guardian 	53019 	freechildren 17 + busychildren 0 != numchildren 18
                                    Apr 10 17:26:39 	e2guardian 	53019 	stats reset to freechildren 18 busychildren 0 numchildren 18 
                                    

                                    in the log now.

                                    1 Reply Last reply Reply Quote 0
                                    • marcellocM
                                      marcelloc
                                      last edited by

                                      Unselect any autentication, save and apply(and maybe restart the service). The small documentation on proxy-header says that you must select a http header field to identify as users, and then add them on groups

                                      
                                      # Proxy-header auth plugin
                                      # FredB August 2016
                                      # Identifies users with header;
                                      # relies upon the upstream proxy.
                                      # Eg: in groups file
                                      # Mozilla/5.0 (Windows NT 6.1; rv:47.0) Gecko/20100101 Firefox/47.0=filter3
                                      # here:
                                      # header = 'user-agent'
                                      
                                      

                                      Treinamentos de Elite: http://sys-squad.com

                                      Help a community developer! ;D

                                      1 Reply Last reply Reply Quote 0
                                      • D
                                        danjeman
                                        last edited by

                                        Have updated looks ok so far except on the menus if you go to IPs then ACLs changes to Access Lists - will clear cache etc. and check again…

                                        Don't believe sync has ever worked with the default 'Sync to configured system backup server' either - this is the log entry..

                                        Apr 11 11:57:52 php-fpm 69222 /pkg_edit.php: [E2guardian] xmlrpc sync is enabled but there is no system backup hosts to push squid config.
                                        Apr 11 11:57:52 php-fpm 69222 /pkg_edit.php: Reloading E2guardian

                                        Every other package syncs fine with this setting.

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

                                          @marcelloc:

                                          Unselect any autentication, save and apply(and maybe restart the service). The small documentation on proxy-header says that you must select a http header field to identify as users, and then add them on groups

                                          
                                          # Proxy-header auth plugin
                                          # FredB August 2016
                                          # Identifies users with header;
                                          # relies upon the upstream proxy.
                                          # Eg: in groups file
                                          # Mozilla/5.0 (Windows NT 6.1; rv:47.0) Gecko/20100101 Firefox/47.0=filter3
                                          # here:
                                          # header = 'user-agent'
                                          
                                          

                                          Is there a difference between "None" and not having any selected?

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

                                            With no authentication set I now get an Access Denied page from Squid.

                                            When I access a page the Squid logs show:

                                            1491926079.428      3 127.0.0.1 TCP_MISS/403 4185 GET http://forum.pfsense.com/ - HIER_NONE/- text/html
                                            1491926079.455    248 127.0.0.1 TCP_MISS/403 4287 GET http://forum.pfsense.com/ - ORIGINAL_DST/127.0.0.1 text/html
                                            1491926079.499      2 127.0.0.1 TCP_MEM_HIT/200 13066 GET http://localhost:3128/squid-internal-static/icons/SN.png - HIER_NONE/- image/png
                                            1491926079.599      1 127.0.0.1 TAG_NONE/409 4118 CONNECT urs.microsoft.com:443 - HIER_NONE/- text/html
                                            1491926079.601      1 127.0.0.1 TAG_NONE/409 4118 CONNECT urs.microsoft.com:443 - HIER_NONE/- text/html
                                            

                                            /var/log/e2guardian/access.log shows:

                                            2017.4.11 13:29:04 - 192.168.1.100 http://forum.pfsense.com/  GET 3849 0  1 403 text/html  Default   - -
                                            2017.4.11 13:29:04 - 192.168.1.100 https://urs.microsoft.com:443  CONNECT 4118 0  1 200 -  Default   - -
                                            2017.4.11 13:29:04 - 192.168.1.100 https://urs.microsoft.com:443  CONNECT 4118 0  1 200 -  Default   - -
                                            
                                            

                                            No matter what page I go to, I get those same 5 lines.  The first 2 vary depending on where I go but the last 3 are exactly the same.  If I point directly to the Squid proxy port then pages load.  If I pass through transparently then it works.  If I point to the port 8080 for e2guardian it fails.  I've gone back and undone the changes I made to proxy-header.conf and everything loads properly now.  I've deselected all auth plugins on the General page.

                                            EDIT:  Well, not every time.  I also get

                                            1491928118.800 86400440 192.168.1.157 TAG_NONE/200 0 CONNECT 216.58.218.2:443 - HIER_NONE/- -
                                            1491928118.800 86400301 192.168.1.157 TAG_NONE_TIMEDOUT/409 0 CONNECT pagead2.googlesyndication.com:443 - HIER_NONE/- text/html;charset=utf-8
                                            
                                            

                                            EDIT 2:  Here's my config:

                                            forcequicksearch = off
                                            reverseaddresslookups = off
                                            reverseclientiplookups = off
                                            logclienthostnames = off
                                            createlistcachefiles = on
                                            prefercachedlists = off
                                            maxcontentfiltersize = 256
                                            maxcontentramcachescansize = 1000
                                            maxcontentfilecachescansize = 2000
                                            filecachedir = '/tmp'
                                            deletedownloadedtempfiles = on
                                            initialtrickledelay = 20
                                            trickledelay = 20
                                            downloadmanager = '/usr/local/etc/e2guardian/downloadmanagers/fancy.conf'
                                            downloadmanager = '/usr/local/etc/e2guardian/downloadmanagers/trickle.conf'
                                            downloadmanager = '/usr/local/etc/e2guardian/downloadmanagers/default.conf'
                                            contentscannertimeout = 60
                                            contentscanexceptions = off
                                            mapauthtoports = off
                                            recheckreplacedurls = off
                                            forwardedfor = off
                                            usexforwardedfor = off
                                            logconnectionhandlingerrors = on
                                            logsslerrors = off
                                            logchildprocesshandling = off
                                            maxchildren = 120
                                            minchildren = 8
                                            minsparechildren = 8
                                            preforkchildren = 10
                                            maxsparechildren = 64
                                            maxagechildren = 500
                                            maxips = 0
                                            ipcfilename = '/tmp/.dguardianipc'
                                            urlipcfilename = '/tmp/.dguardianurlipc'
                                            ipipcfilename = '/tmp/.dguardianipipc'
                                            nodaemon = off
                                            nologger = off
                                            logadblocks = off
                                            loguseragent =
                                            daemonuser = 'clamav'
                                            daemongroup = 'nobody'
                                            softrestart = on
                                            cacertificatepath = '/etc/ssl/demoCA/cacert.pem'
                                            caprivatekeypath = '/etc/ssl/demoCA/private/cakey.pem'
                                            certprivatekeypath = '/etc/ssl/demoCA/private/serverkey.pem'
                                            generatedcertpath = '/usr/local/etc/e2guardian/ssl/generatedcerts'
                                            
                                            
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.