AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 1166961
Accepted
exore
exore
Asked: 2024-10-23 18:24:54 +0800 CST2024-10-23 18:24:54 +0800 CST 2024-10-23 18:24:54 +0800 CST

como autenticar apenas uma porta quando o squid escuta em 2 portas

  • 772

Quero que o squid escute as portas 3128 e 3129. Quero autenticação na 3129 e nenhuma autenticação na 3128. Por enquanto, tenho esta configuração

# auth_param not shown but working

http_port 3128
http_port 3129
acl input_3128 myportname 3128
acl input_3129 myportname 3129
acl authenticated proxy_auth REQUIRED

http_access allow authenticated input_3129
http_access deny input_3129
http_access allow input_3128
http_access deny all

Infelizmente isso não funciona de jeito nenhum. O Squid sempre requer autenticação.

Exemplo de solicitação:

curl -v --proxy http://myproxy.example.com:3128 http://debian.org/

Resposta do Squid:

* processing: http://debian.org/
10.1.2.3:3128...
* Connected to myproxy.example.com (10.1.2.3) port 3128
> GET http://debian.org/ HTTP/1.1
> Host: debian.org
> User-Agent: curl/8.2.1
> Accept: */*
> Proxy-Connection: Keep-Alive
>
< HTTP/1.1 407 Proxy Authentication Required
< Server: squid/5.9
< Mime-Version: 1.0
< Date: Wed, 23 Oct 2024 10:15:01 GMT
< Content-Type: text/html;charset=utf-8
< Content-Length: 3511
< X-Squid-Error: ERR_CACHE_ACCESS_DENIED 0
< Vary: Accept-Language
< Content-Language: en
< Proxy-Authenticate: Basic realm="Squid proxy-caching web server"
< X-Cache: MISS from myproxy
< X-Cache-Lookup: NONE from myproxy:3129
< Via: 1.1 myproxy (squid/5.9)
< Connection: keep-alive
<

Pergunta

Como fazer o squid exigir autenticação somente na porta 3129?

proxy
  • 2 2 respostas
  • 47 Views

2 respostas

  • Voted
  1. Best Answer
    telcoM
    2024-10-23T19:01:09+08:002024-10-23T19:01:09+08:00

    Ao usar o tipo ACL myportname, você está confiando no nome padrão implícito, ou seja, que seu http_port 3128é realmente http_port 3128 name=3128o mesmo e o mesmo vale para a porta 3129.

    Talvez tente usar o myporttipo ACL, ou seja, acl input_3128 myport 3128e acl input_3129 myport 3129?

    Você também pode tentar classificar as http_accessdiretivas assim:

    http_access allow input_3128
    http_access allow authenticated input_3129
    http_access deny all
    

    Isso deve permitir que a primeira http_accesslinha corresponda a quaisquer conexões recebidas na porta 3128 sem nem mesmo sugerir que a autenticação pode ser necessária. Se isso não corresponder, a segunda regra corresponderá às conexões na porta 3129, agora com o requisito de autenticação em vigor. A final deny allcapturará qualquer coisa que não corresponda a nenhuma das duas primeiras linhas; você não precisa de uma http_access deny input_3129linha separada.

    • 1
  2. exore
    2024-10-23T22:22:37+08:002024-10-23T22:22:37+08:00

    @telcoM deu uma explicação no segundo comentário. Posto outra solução com base neste comentário.

    Em uma linha, todas as condições são anded. Então o problema com

    http_access allow authenticated input_3129
    

    é que ele verifica primeiro a authenticatedcondição. Esta condição dispara uma resposta 407 antecipada para qualquer conexão não autenticada, qualquer que seja o número da porta.

    Agora, se eu usar em vez de input_3129 authenticated, por causa do implícito and, a authenticatedcondição é tentada somente quando o input_3129é atendido. Então, nada de 407 antecipado. O Squid pode prosseguir e tentar a segunda http_accessregra.

    http_access allow input_3129 authenticated
    http_access allow input_3128
    http_access deny all
    
    • 1

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve