[GUIA] Proxy HTTP/HTTPS + SquidGuard + sgerror.php + WPAD via DHCP e DNS 100%
-
Bom dia galera!
segui igual receita de bolo, mas nao deu certo :-[
abraço
[/quote]Poste aqui o que acontece, algum print.
Bruno,
bom dia!
segui o tutorial ao pe da letra, instalei em uma instalação limpa em um ambiente de teste.
alterei o domínio do arquivo para o meu, consigo fazer o download dos arquivos do wpad.
fiz os bloqueios das portas 80 e 443, e liberação do ip e porta do PF.
através da detecção automática de proxy não navega em nada, seu setar o proxy manual ai funfa tudo legal.
segue minhas regras…
-
Fez alguma alteração no wpad? O ip:porta definido nele bate com a sua configuração de proxy?
-
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.
-
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?