[GUIA] Proxy HTTP/HTTPS + SquidGuard + sgerror.php + WPAD via DHCP e DNS 100%
-
após reiniciar o firewall para tentar identificar o motivo do download ao invés da interpretação do sgerror percebi que o wpad parou de funcionar.
identifiquei o problema, mas não a solução, ao tentar aplicar o wpad me retorna a mensagem de que já existe um serviço ativo na porta 80.
qual comando para listar qual serviço esta rodando nesta porta?
-
qual comando para listar qual serviço esta rodando nesta porta?
Desativou o redirecionamento automático da gui em system-> advanced?
-
Desativou o redirecionamento automático da gui em system-> advanced?
Sim, mesmo que alguém esqueça, eu fiz um teste aqui e o script do wpad não aceita aplicar esta configuração caso o redirecionamento esteja ativado.
-
Fez alguma alteração no wpad? O ip:porta definido nele bate com a sua configuração de proxy?
Nada.
so segui o tutorial, ip e porta batendo.
Qual o IP configurado no alias "FIREWALL" ?
-
Desativou o redirecionamento automático da gui em system-> advanced?
Sim, mesmo que alguém esqueça, eu fiz um teste aqui e o script do wpad não aceita aplicar esta configuração caso o redirecionamento esteja ativado.
Tem contato com o Shell?
Me mostre a saída do comando:
cat /usr/local/etc/nginx/nginx_wpad*.conf
-
parabéns ótimo tuto
-
Fez alguma alteração no wpad? O ip:porta definido nele bate com a sua configuração de proxy?
Nada.
so segui o tutorial, ip e porta batendo.
Qual o IP configurado no alias "FIREWALL" ?
Bruno,
bom dia!
IP padrao do teste e do seu tutorial 192.168.1.1
abraço
-
Fiz aqui todo o procedimento e infelizmente não funcionou, uso a versão 2.3.2 amd64.
Consegui ter acesso normal a internet, ele não faz bloqueios, mesmo mexendo nas regras do SquidGuard, refiz toda a configuração e mesmo assim não foi.
Atualmente fiz uma configuração de PfSense que ficou boa aqui, ainda não está em produção, mas com os testes feitos em alguns setores, principalmente o financeiro, não tive nenhum problema, mas é aquela história, é preciso instalar o certificado no computador do usuário, deu para fazer bloqueio com sites HTTPS, e usar pesquisa segura no Google e outros buscadores.
Enfim, em casa tento novamente fazer essa configuração ;D -
Boa noite pessoal, talvez ajude alguém, para complementar as configurações até então feitas, relaciono abaixo um exemplo básico de regras de firewall. Se não estiverem adequadas peço que sugiram/efetuem alterações.
Ação - Protocolo - Source - Port - Destination - Port - Gateway - Queue - Description Pass IPv4 TCP - LAN net * 192.168.1.1 9443,22,80 * none - Libera WebGUI, SSH, WPAD (NGINX) Pass IPv4 UDP - LAN net * 192.168.1.1 53 (DNS) * none - Libera DNS Reject IPv4 TCP - LAN net * * 80 (HTTP) * none - Bloqueia HTTP Reject IPv4 TCP - LAN net * * 443 (HTTPS) * none - Bloqueia HTTPS Pass IPv4 TCP - LAN net * * 3128 * none - Libera Proxy
-
Tem contato com o Shell?
Me mostre a saída do comando:
cat /usr/local/etc/nginx/nginx_wpad*.conf
Refiz as configurações dei um reboot no firewall e acabou o problema de conflito na porta 80.
o problema agora é a pagina de erro que não são interpretada pelo php, sempre que vai efetuar o bloqueio é feito o download do sgerror, em qualquer navegador e em qualquer computador da rede.
# nginx configuration file user root wheel; worker_processes 10; pid /var/run/nginx_wpad0.pid; error_log syslog:server=unix:/var/run/log,facility=local5; events { worker_connections 1024; } http { include /usr/local/etc/nginx/mime_wpad.types; default_type application/octet-stream; sendfile on; access_log syslog:server=unix:/var/run/log,facility=local5 combined; keepalive_timeout 65; server { listen 192.168.0.1:80; server_name wpad.localdomain server name 127.0.0.1 client_max_body_size 200m; root "/usr/local/www/wpad0/"; location / { index index.php sgerror.php index.html index.htm; } location ~ \.php$ { try_files $uri =404; # This line closes a potential security hole # ensuring users can't execute uploaded files # see: http://forum.nginx.org/read.php?2,88845,page=3 fastcgi_pass unix:/var/run/php-fpm.socket; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # Fix httpoxy - https://httpoxy.org/#fix-now fastcgi_param HTTP_PROXY ""; fastcgi_read_timeout 180; include /usr/local/etc/nginx/fastcgi_params; } }
-
Boa noite pessoal, talvez ajude alguém, para complementar as configurações até então feitas, relaciono abaixo um exemplo básico de regras de firewall. Se não estiverem adequadas peço que sugiram/efetuem alterações.
Ação - Protocolo - Source - Port - Destination - Port - Gateway - Queue - Description Pass IPv4 TCP - LAN net * 192.168.1.1 9443,22,80 * none - Libera WebGUI, SSH, WPAD (NGINX) Pass IPv4 UDP - LAN net * 192.168.1.1 53 (DNS) * none - Libera DNS Reject IPv4 TCP - LAN net * * 80 (HTTP) * none - Bloqueia HTTP Reject IPv4 TCP - LAN net * * 443 (HTTPS) * none - Bloqueia HTTPS Pass IPv4 TCP - LAN net * * 3128 * none - Libera Proxy
Boa tarde, mas essa regra não bloqueia todo o acesso a sites? Fiz aqui e não da acesso a nenhum site kkkkkk
Vou testar mais aqui :) -
Oi pokemzy, penso que essas regras bloqueiam todo acesso a sites, exceto o tráfego pela porta 3128, que é a do proxy. Se deixar aberta a 80 e 443 ele navegará por fora do proxy, aí as regras de bloqueio do squidguard não irão funcionar.
Essa explicação e regramento é recomendável? Se alguém puder opinar agradeço.
-
Boa noite pessoal, talvez ajude alguém, para complementar as configurações até então feitas, relaciono abaixo um exemplo básico de regras de firewall. Se não estiverem adequadas peço que sugiram/efetuem alterações.
Ação - Protocolo - Source - Port - Destination - Port - Gateway - Queue - Description Pass IPv4 TCP - LAN net * 192.168.1.1 9443,22,80 * none - Libera WebGUI, SSH, WPAD (NGINX) Pass IPv4 UDP - LAN net * 192.168.1.1 53 (DNS) * none - Libera DNS Reject IPv4 TCP - LAN net * * 80 (HTTP) * none - Bloqueia HTTP Reject IPv4 TCP - LAN net * * 443 (HTTPS) * none - Bloqueia HTTPS Pass IPv4 TCP - LAN net * * 3128 * none - Libera Proxy
Boa tarde, mas essa regra não bloqueia todo o acesso a sites? Fiz aqui e não da acesso a nenhum site kkkkkk
Vou testar mais aqui :)Testei aqui com essas regras e funcionou bem…bloqueando sites adultos, facebook,etc...acredito que seja um bom inicio...depois vai ajustando demais portas....
-
boa tarde;
Vcs Saberiam me dizer onde que fica o arquivo sgerror.php (pagina de bloqueio do squid guard) gostaria de colocar uma personalizada.
-
Oi Rene,
Procura através do comando "find / -name sgerror.php"
Ele vai retornar onde está. Se você configurou o ambiente com o script do marcelloc vai estar numa pasta wpad0. É esse que vc muda. Terá outro também na www mas o que está valendo é a dentro da pasta wpad0.
-
Tem contato com o Shell?
Me mostre a saída do comando:
cat /usr/local/etc/nginx/nginx_wpad*.conf
Refiz as configurações dei um reboot no firewall e acabou o problema de conflito na porta 80.
o problema agora é a pagina de erro que não são interpretada pelo php, sempre que vai efetuar o bloqueio é feito o download do sgerror, em qualquer navegador e em qualquer computador da rede.
# nginx configuration file user root wheel; worker_processes 10; pid /var/run/nginx_wpad0.pid; error_log syslog:server=unix:/var/run/log,facility=local5; events { worker_connections 1024; } http { include /usr/local/etc/nginx/mime_wpad.types; default_type application/octet-stream; sendfile on; access_log syslog:server=unix:/var/run/log,facility=local5 combined; keepalive_timeout 65; server { listen 192.168.0.1:80; server_name wpad.localdomain server name 127.0.0.1 client_max_body_size 200m; root "/usr/local/www/wpad0/"; location / { index index.php sgerror.php index.html index.htm; } location ~ \.php$ { try_files $uri =404; # This line closes a potential security hole # ensuring users can't execute uploaded files # see: http://forum.nginx.org/read.php?2,88845,page=3 fastcgi_pass unix:/var/run/php-fpm.socket; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # Fix httpoxy - https://httpoxy.org/#fix-now fastcgi_param HTTP_PROXY ""; fastcgi_read_timeout 180; include /usr/local/etc/nginx/fastcgi_params; } }
Este arquivo é gerado pelo pacote WPAD que o Marcello criou.
Aparentemente, está diferente do meu, que eu tinha aqui no manual. Talvez as atualizações que ele fez, pode estar conflitando com alguma coisa.Faça o seguinte:
Substitua o conteúdo do arquivo, por este
# nginx configuration file worker_processes 10; pid /var/run/nginx_wpad0.pid; events { worker_connections 1024; } http { include /usr/local/etc/nginx/mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 192.168.0.1; server_name wpad.localdomain server name 127.0.0.1 client_max_body_size 200m; root "/usr/local/www/wpad0/"; location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php-fpm.socket; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_read_timeout 180; include /usr/local/etc/nginx/fastcgi_params; } } }
Depois, reinicie a instância do nginx, ou reinicia o servidor e testa novamente.
-
Parabéns pelo Manual, funcionou muito bem, está bem explicativo, até para quem não tem tanto conhecimento.
E sobre dar a mensagens para paginas HTTPS tem alguma novidade? -
Beleza jamers!
Pessoal, estou com uma questão com o seguinte cenário:
- Wan
- LanA: 192.168.28.1/22
- LANB: 192.168.50.1/24
Configurei o wpad para ser disponibilizado através da LanB (192.168.50.1). Tudo certo, funcional para as duas interfaces LAN. Porém, após o primeiro host da LanA estar conectado ao pfSense, surge no pfSense mensagens de erro (anexo).
Tal situação não ocorre se apenas hosts da LanB forem conectados ao firewall. Mesmo surgindo as mensagens de erro o wpad funciona para a LanA, mas gostaria de saber o que está acontecendo.
Desde já agradeço o apoio!
-
Está usando a última versão do pacote?
-
Beleza jamers!
Pessoal, estou com uma questão com o seguinte cenário:
- Wan
- LanA: 192.168.28.1/22
- LANB: 192.168.50.1/24
Configurei o wpad para ser disponibilizado através da LanB (192.168.50.1). Tudo certo, funcional para as duas interfaces LAN. Porém, após o primeiro host da LanA estar conectado ao pfSense, surge no pfSense mensagens de erro (anexo).
Tal situação não ocorre se apenas hosts da LanB forem conectados ao firewall. Mesmo surgindo as mensagens de erro o wpad funciona para a LanA, mas gostaria de saber o que está acontecendo.
Desde já agradeço o apoio!
Eu estava com esse mesmo problema, existe um conflito na porta 80, não sei se é funcional ou foi conhecidencia, mas eu fiz o seguinte:
no pacote Wpad desativei o serviço.
reboot no firewall
novamente no pacote ative o serviço.estou tentando chegar a uma conclusão e solução, mas aqui os conflitos cessaram mas ainda estou com problema da 2º instância não interpretar o PHP.