PfBlockerNG v2.0 w/DNSBL
-
@Merchant:
Hi,
same situation in my environment. I changes from HTTPS WebUI to HTTP because WPAD is hosted on pfsense itself. But i defined all private IPs to go DIRECT and not using the proxy in the WPAD files. But unfortunately it does not work.
Further I disabled auto proxy configuration and hardcoded the proxy in my browser but DNSBL still does only work with HTTP (pfsense WebUI page) but not with HTTPS. Further it does not log anything :-(
PS:
Anybody here who could suggest a good DNSBL which focuses on command and control server and such stuff?can u post ur wpad file content , ( Look my wpad file , for me after instructing wpad to give Direct connection to 10.x.x..x now its working okay
FOR PEOPLE WITH GIF ISSUES READ THIS
If your running WPAD and have on your navigator to auto detect proxy you WILL get the webGUI of pfSense instead of the GIF but disable the auto detect proxy on the navigator you then will see the GIF…It seems that WPAD overrides everything even when it comes to OpenVPN also...
Thanks for that information. I am using WPAD with squid3 proxy. But I only get the WebUI with http websites. Is it working for you with httpS websites, too?
Can you describe if you configued something sepcidal to get pfblocker-NG + squid (http + https) working?For me it looks like it is not working fpr https and it ios not working for http and https to see the bad websites in the "Alerts" tab of pfblopcker-ng.
Regards
Well I have pfBlockerNG working just for IP I had to disable DNSBL because WPAD was overriding everything. Because WPAD files are hosted on pfSense I had to revert to HTTP on the webGUI of pfSense. But by disabling auto detect proxy then works DNSBL but then WPAD wont work BUT transparent proxy will. I guess having WPAD and DNSBL wont work at the same time. UNLESS somehow on the wpad.dat a way to direct or ignore the 10.10.10.1 something that i wish it can do with OpenVPN. You get the HTTPS sites i guess because WPAD overlaps that but the http that would be the transparent proxy which DNSBL does not have an issue. Also depends if your webGUI is HTTPS or HTTP
I also had issue with squid with wpad initially and with BBcan177 help i resolved the issue with my setup
i updated my wpad.pac file to make direct connected to 10.10.10.1
function FindProxyForURL(url,host) { if (isInNet( host, "192.168.0.0", "255.255.255.0" )) { return "DIRECT"; } if (isInNet( host, "10.10.10.1", "255.255.255.0" )) { return "DIRECT"; } return "PROXY 192.168.0.1:3128"; }
now i am able to use proxy with wpad and also get 1x1 gif while blocking
Hi Merchant,
thank you for taking time on trying to resolve this issue.
Here is my proxy.pac, wpad.da and wpad.dat - all three files are the same:
function FindProxyForURL(url, host) { // Normalize the URL for pattern macthing url = url.toLowerCase(); host = host.toLowerCase(); // diese Ziel-IPs, Domains oder Hosts gehen DIRECT if (shExpMatch(host, "192.168.*.*") || shExpMatch(host, "*.microsoft.com") || shExpMatch(host, "*.windowsupdates.com") || shExpMatch(host, "127.0.0.1") || shExpMatch(host, "ap.bundesbank.de") || shExpMatch(host, "10.*.*.*") || shExpMatch(host, "10.123.123.123") || shExpMatch(host, "localhost")) { return "DIRECT"; } if (isInNet( host, "10.123.123.0", "255.255.255.0" )) { return "DIRECT"; } // diese URLs gehen DIRECT ohne Proxy. // if (shExpMatch(url, "https://www.vrbank-mkb.de/*") || // shExpMatch(url, "https://www.cortalconsors.de/*") || // shExpMatch(url, "https://www.consorsbank.de/*")) // { // return "DIRECT"; // } // Fuer alle anderen Requests den Proxy zurueckgeben return "PROXY 192.168.10.1:3128"; }
My LAN is on 192.168.10.0/24
My WAN is on 192.168.178.0/24
My DNSBL VIP is on 10.123.123.123SQUID is running in non-transparent mode and I am using WPAD and "Auto Configuration" configured on my Chrome browser on my client 192.168.10.10
pinging a URL "c06.smaato.net" which is on a blocklist works. See screenshot "ping_OK"
Accessing the same website via chrome (http or https) ist NOT working - see screenshot "chrome_DNS":
I cleared the DNS cache on windows with "ipconfig /dnsflush" and I cleared the brwosers dns cache like you can see in the screenshot.PS:
Some questions:Question1 - Unbound interfaces:
Can we compare the unbound DNS configuration - Which interfaces do you have for incoming and outgoing?
I have only "LAN and loopback for incoming" and only "WAN for outgoing". Nothing else.Question 2 - squid listening interfaces:
Which interfaces do you have on squid?
I have "LAN and loopback" configured as listening interfaces.Question 3 - DNS configuration on squid:
I did NOT configre any alternate squid DNS Servers.Question 4 - DNS Servers for pfsense:
In pfsense "General setup" I have configured one external DNS Server which is my upstream router (Fritz!Box).
I have unchecked "DNS Server Override"
I have unchecked "Disable DNS Forwarder"I would really appreciate any advice if possible :-)
–-- edit ----
Added "loopback" interface as listening interface for unbound. Missed this.
-
Anyone else experience that pfBlockerNG doesn't work on 2.3 if using floating rules? After the last update, I noticed all my rule counts were ZERO hits on the pfBlocker widget. So I tried going to a website on a blocked country, and it did not block.
Then tried:
1. Disabled the floating rules option (saved), forced an update, and then tried the website again and it was blocked.
2. Then re-enabled floating rules (saved), forced an update, tried the website again and it was NOT blocked.
3. Disabled the floating rules option (saved), forced an update, and then tried the website again and it was blocked.So, seems on my system at least the floating rules simply do not work. I can't tell if this is a 2.3 issue or a pfBlocker issue though.
Jason Bottjen
-
Help please,
I'm having a strage problem in pfsense 2.3. Whenever I enable pfBlockerNG DNSBL it stops DNS Resolver, and I have to start it manually. when I rebot pfsense 2.3 I have to manualy start DNS Resolver. if I desable DNSBL, DNS Resolver will always run automaticaly.
thanks
-
function FindProxyForURL(url, host) {
// Normalize the URL for pattern macthing
url = url.toLowerCase();
host = host.toLowerCase();// diese Ziel-IPs, Domains oder Hosts gehen DIRECT
if (shExpMatch(host, "192.168..") ||
shExpMatch(host, ".microsoft.com") ||
shExpMatch(host, ".windowsupdates.com") ||
shExpMatch(host, "127.0.0.1") ||
shExpMatch(host, "ap.bundesbank.de") ||
shExpMatch(host, "10...*") ||
shExpMatch(host, "10.123.123.123") ||
shExpMatch(host, "localhost"))
{
return "DIRECT";
}if (isInNet( host, "10.123.123.0", "255.255.255.0" ))
{ return "DIRECT"; }// diese URLs gehen DIRECT ohne Proxy.
// if (shExpMatch(url, "https://www.vrbank-mkb.de/") ||
// shExpMatch(url, "https://www.cortalconsors.de/") ||
// shExpMatch(url, "https://www.consorsbank.de/*"))
// {
// return "DIRECT";
// }// Fuer alle anderen Requests den Proxy zurueckgeben
return "PROXY 192.168.10.1:3128";
}My DNSBL VIP is on 10.123.123.123
Hi Nachtfalke,
I don't use Squid, but a quick google search, do you think that "host" should be changed to "url" instead in this line below?
shExpMatch(host, "10.123.123.123") ||
-
Anyone else experience that pfBlockerNG doesn't work on 2.3 if using floating rules?
Hi Jason,
Do you have any Floating rules above the pfBNG floating rules? Maybe send a screenshot? also edit one of those rules and send a screenshot…
-
Help please,
I'm having a strage problem in pfsense 2.3. Whenever I enable pfBlockerNG DNSBL it stops DNS Resolver, and I have to start it manually. when I rebot pfsense 2.3 I have to manualy start DNS Resolver. if I desable DNSBL, DNS Resolver will always run automaticaly.
thanks
Hi cmaxwell04,
Can you review the pfblockerng.log and see if there are any error messages in regards to DNSBL. Try to Re-Enable DNSBL, and try to send any relevant error messages… Do you see any errors in the resolver.log or system.log?
-
function FindProxyForURL(url, host) {
// Normalize the URL for pattern macthing
url = url.toLowerCase();
host = host.toLowerCase();// diese Ziel-IPs, Domains oder Hosts gehen DIRECT
if (shExpMatch(host, "192.168..") ||
shExpMatch(host, ".microsoft.com") ||
shExpMatch(host, ".windowsupdates.com") ||
shExpMatch(host, "127.0.0.1") ||
shExpMatch(host, "ap.bundesbank.de") ||
shExpMatch(host, "10...*") ||
shExpMatch(host, "10.123.123.123") ||
shExpMatch(host, "localhost"))
{
return "DIRECT";
}if (isInNet( host, "10.123.123.0", "255.255.255.0" ))
{ return "DIRECT"; }// diese URLs gehen DIRECT ohne Proxy.
// if (shExpMatch(url, "https://www.vrbank-mkb.de/") ||
// shExpMatch(url, "https://www.cortalconsors.de/") ||
// shExpMatch(url, "https://www.consorsbank.de/*"))
// {
// return "DIRECT";
// }// Fuer alle anderen Requests den Proxy zurueckgeben
return "PROXY 192.168.10.1:3128";
}My DNSBL VIP is on 10.123.123.123
Hi Nachtfalke,
I don't use Squid, but a quick google search, do you think that "host" should be changed to "url" instead in this line below?
shExpMatch(host, "10.123.123.123") ||
Nothing changed. I deleted these file because I added the part Merchant posted in this thread:
function FindProxyForURL(url, host) { // Normalize the URL for pattern macthing url = url.toLowerCase(); host = host.toLowerCase(); // diese Ziel-IPs, Domains oder Hosts gehen DIRECT if (shExpMatch(host, "192.168.*.*") || shExpMatch(host, "*.microsoft.com") || shExpMatch(host, "*.windowsupdates.com") || shExpMatch(host, "ap.bundesbank.de") || shExpMatch(host, "localhost")) { return "DIRECT"; } if (isInNet( host, "10.123.123.0", "255.255.255.0" )) { return "DIRECT"; } // diese URLs gehen DIRECT ohne Proxy. // if (shExpMatch(url, "https://www.vrbank-mkb.de/*") || // shExpMatch(url, "https://www.cortalconsors.de/*") || // shExpMatch(url, "https://www.consorsbank.de/*")) // { // return "DIRECT"; // } // Fuer alle anderen Requests den Proxy zurueckgeben return "PROXY 192.168.10.1:3128"; }
-
shExpMatch(host, "10.123.123.123") ||
Nothing changed. I deleted these file because I added the part Merchant posted in this thread:
I think you need to change that line from "host" to "url"… I believe that your desktop is the host, and the url is where you want to goto... So the DNSBL VIP is not the host, but the url... As i said, I don't use squid, so just an assumption...
shExpMatch(url, "10.123.123.123") ||
-
Anyone else experience that pfBlockerNG doesn't work on 2.3 if using floating rules?
Hi Jason,
Do you have any Floating rules above the pfBNG floating rules? Maybe send a screenshot? also edit one of those rules and send a screenshot…
The only other floating rule is the DNSBL rule, and it works I think.
I block the country China in pfBlocker. With it set to not use floating rules www.edu.cn is blocked as expected. It gets blocked, and the pfB_Top_v4 hit count increases.
If I go back and enable floating rules, the rules get made (as shown in the attached pictures), and the aliases do have IPs in them. But if I again go to www.edu.cn, it does not get blocked… I really don't get it, as the floating rule looks the same to me as the rule that gets created in the interface when not using floating rules in pfBlocker...
Pic 1 shows my floating rules when pfBlocker is set to not use floating rules.
Pic 2 shows that pfB_Top-v4 hit count increases when going to www.edu.cn, as expected
Pic 3 shows floating rules when floating rules in pfBlocker is enabled
Pic 4 shows that after trying to go to www.edu.cn again, nothing is blocked
Pic 5 shows that if I manually make the exact same rule, it DOES work... ????????Jason
![1-Floating Rules.png](/public/imported_attachments/1/1-Floating Rules.png)
![1-Floating Rules.png_thumb](/public/imported_attachments/1/1-Floating Rules.png_thumb)
![2-Widget showing pfB_Top_v4 hits.PNG](/public/imported_attachments/1/2-Widget showing pfB_Top_v4 hits.PNG)
![2-Widget showing pfB_Top_v4 hits.PNG_thumb](/public/imported_attachments/1/2-Widget showing pfB_Top_v4 hits.PNG_thumb)
![3-Floating Rules Enabled on pfBlockerNG.PNG](/public/imported_attachments/1/3-Floating Rules Enabled on pfBlockerNG.PNG)
![3-Floating Rules Enabled on pfBlockerNG.PNG_thumb](/public/imported_attachments/1/3-Floating Rules Enabled on pfBlockerNG.PNG_thumb)
![4-Widget showing nothing is getting blocked.PNG](/public/imported_attachments/1/4-Widget showing nothing is getting blocked.PNG)
![4-Widget showing nothing is getting blocked.PNG_thumb](/public/imported_attachments/1/4-Widget showing nothing is getting blocked.PNG_thumb)
![5-Manually created floating rule works.PNG_thumb](/public/imported_attachments/1/5-Manually created floating rule works.PNG_thumb)
![5-Manually created floating rule works.PNG](/public/imported_attachments/1/5-Manually created floating rule works.PNG) -
Hi Jason,
When you edit those Floating rules, do your interfaces get added correctly? Looks fine at first glance… I tested it on my machine, and all seems to be working with/without floating rules...
-
Hi Jason,
When you edit those Floating rules, do your interfaces get added correctly? Looks fine at first glance… I tested it on my machine, and all seems to be working with/without floating rules...
Yes they do.
HOWEVER, I discovered the issue!! The rule direction is marked as "OUT" - which is never going to match on traffic initiated internally going to the internet. Shouldn't that be "ANY"? I checked and all of my pfBlocker created floating rules are direction "OUT" for some reason…
Screen attached.
Jason
![6-Floating rule detail.PNG](/public/imported_attachments/1/6-Floating rule detail.PNG)
![6-Floating rule detail.PNG_thumb](/public/imported_attachments/1/6-Floating rule detail.PNG_thumb) -
The rule direction is marked as "OUT". Shouldn't that be "ANY"? I checked and all of my pfBlocker created floating rules are direction "OUT" for some reason…
Did you define the "Adv. In/Outbound settings" in each pfBNG Alias settings? Specifically the "Gateway" setting?
It should normally be left at "default"; at which time, the Floating Rules "Direction" setting is set to "any".
You can run this command to find out what the pfBNG aliases gateway settings are defined as:
grep "<agateway" conf="" config.xml<="" pre=""></agateway">
-
The rule direction is marked as "OUT". Shouldn't that be "ANY"? I checked and all of my pfBlocker created floating rules are direction "OUT" for some reason…
Did you define the "Adv. In/Outbound settings"? Specifically the "Gateway" setting?
It should normally be left at "default"; at which time, the Floating Rules "Direction" setting is set to "any".
I don't think so… Here are the advanced settings on my country Top 20 alias, which gets created as OUT.
Jason
![7-Advanced Country Block Settings.PNG](/public/imported_attachments/1/7-Advanced Country Block Settings.PNG)
![7-Advanced Country Block Settings.PNG_thumb](/public/imported_attachments/1/7-Advanced Country Block Settings.PNG_thumb) -
Can you save each of your pfBlockerNG aliases as I think that tag is missing from your config.
Run this command first and send me the output:
grep "<agateway" conf="" config.xml<="" pre=""></agateway">
-
Where do you run the command? Should I SSH in or can I do it from the GUI?
-
In pfSense: Diagnostics / Command Prompt / Execute PHP Commands
-
Ran this:
grep " <agateway" conf="" config.xml<br="">Got this:
Parse error: syntax error, unexpected '"</agateway"> -
Ran this:
grep " <agateway" conf="" config.xml<br="">Got this:
Parse error: syntax error, unexpected '"<agateway"' (t_constant_encapsed_string)="" in="" tmp="" r6f0tv="" on="" line="" 5<br=""></agateway"'></agateway">Sorry, use the "Execute Shell Command" box..
-
Ran this:
grep " <agateway" conf="" config.xml<br="">Got this:
Parse error: syntax error, unexpected '"<agateway"' (t_constant_encapsed_string)="" in="" tmp="" r6f0tv="" on="" line="" 5<br=""></agateway"'></agateway">Sorry, use the "Execute Shell Command" box..
First time I ran it, it gave me an error.
After I re-saved all of the alias it gave me:
<agateway_in>default</agateway_in>
<agateway_out>default</agateway_out>
<agateway_in>default</agateway_in>
<agateway_out>default</agateway_out>
<agateway_in>default</agateway_in>
<agateway_out>default</agateway_out>
<agateway_in>default</agateway_in>
<agateway_out>default</agateway_out>
<agateway_in>default</agateway_in>
<agateway_out>default</agateway_out>
<agateway_in>default</agateway_in>
<agateway_out>default</agateway_out> -
Ok now run a "Force Update" and check your rules to see if "Any" in defined in the direction field… then check the blocking behavior again... I will get a fix out for this tonight... Thanks for reporting...