APT-GET por trás de um proxy com autenticação DIGEST

1

Eu editei apt.conf , apliquei "configuração de todo o sistema", editei /etc/enviroment , etc ... mas sem sorte.

Minha empresa está executando um proxy do Squid com autenticação DIGEST , o que eu acho que o APT não suporta.

Alguém já enfrentou esse problema?

  • apt.conf :

    Acquire::http::proxy "http://[user]:[password]@[host]:[port]/";
    Acquire::https::proxy "https://[user]:[password]@[host]:[port]/";
    
  • ambiente:

    http_proxy="http://[user]:[password]@[host]:[port]/"
    https_proxy="https://[user]:[password]@[host]:[port]/"
    

Eu sempre recebo "407 Authentication Required".

    
por Victor Marconi 17.08.2015 / 10:20

2 respostas

1

Estou enfrentando o mesmo problema, minha universidade usa um proxy com autenticação digest. A única maneira que encontrei até agora é usar uma ferramenta como redsocks que pode autenticar com o seu proxy digest, então você redireciona seu tráfego (ex. Com iptables) para o proxy redsocks que não precisa de autenticação.

Passo 1: Instalar os redsocks

sudo apt install redsocks

mas como você não pode usar o apt na sua empresa, você precisará baixar o arquivo .deb e instalá-lo usando sudo apt deb xxxxx.deb

Etapa 2: configurar os redsocks para usar seu proxy

Edite /etc/redsocks.conf e substitua os seguintes parâmetros na seção redsocks :

redsocks { 
...
ip = <YOUR-PROXY-IP>;   // example: 10.12.1.77                                                          
port = <YOUR-PROXY-PORT>;  // example: 3128
...
type = <YOUR-PROXY-TYPE>; // example: http-connect
...
login = <YOUR-USERNAME>;   // the username for your proxy                                                      
password = <YOUR-PASWORD>;  // the password for your proxy
}

Etapa 3: Reinicie o serviço de redsocks para atualizar a configuração

sudo service redsocks restart

Passo 4: Configure o iptables

Salve o seguinte em um script de shell para que você não precise digitá-lo sempre:

#!/bin/bash                                                                                                                                                             
if [ -z $SUDO_COMMAND ]; then                                                        
    sudo $0 $*                                                                       
    exit 0                                                                           
fi                                                                                   

## Create new chain                                                                  
iptables -t nat -N REDSOCKS                                                          

## Ignore LANs and some other reserved addresses.                                    
## See http://en.wikipedia.org/wiki/Reserved_IP_addresses#Reserved_IPv4_addresses    
## and http://tools.ietf.org/html/rfc5735 for full list of reserved networks.        
iptables -t nat -A REDSOCKS -d 0.0.0.0/8 -j RETURN                                   
iptables -t nat -A REDSOCKS -d 10.0.0.0/8 -j RETURN                                  
iptables -t nat -A REDSOCKS -d 127.0.0.0/8 -j RETURN                                 
iptables -t nat -A REDSOCKS -d 169.254.0.0/16 -j RETURN                              
iptables -t nat -A REDSOCKS -d 172.16.0.0/12 -j RETURN                               
iptables -t nat -A REDSOCKS -d 192.168.0.0/16 -j RETURN                              
iptables -t nat -A REDSOCKS -d 224.0.0.0/4 -j RETURN                                 
iptables -t nat -A REDSOCKS -d 240.0.0.0/4 -j RETURN                                 

## Anything else should be redirected to port 12345                                  
iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-ports 12345  

iptables -t nat -A OUTPUT -p tcp -j REDSOCKS

execute o script acima para que as regras de iptable sejam criadas.

Passo 5: Divirta-se

Basta começar a usar apt-get

% bl0ck_qu0te%     
por Asiel Diaz Benitez 11.05.2018 / 19:19
0

Eu enfrentei o mesmo problema e entenderia completamente que esse recurso simplesmente não é suportado.

De fato, a autenticação Digest é bastante fraca do ponto de vista da segurança :

  • Do ponto de vista do cliente, ele não faz nada para impedir vários ataques, como os ataques Man-In-The-Middle,
  • Da perspectiva do servidor, é ainda pior, pois torna impossível armazenar senhas de forma segura, usando hashes de senha strongs.

Autenticação resumida prejudica a usabilidade sem aumentar concretamente a segurança.

Portanto, hoje em dia há muito pouco ou nenhum uso para este protocolo:

  • Em questões de segurança, use a autenticação básica protegida por uma conexão HTTPS entre o cliente e o proxy,
  • Ou a segurança não importa, então a autenticação básica sobre um HTTP simples é aceitável.
por WhiteWinterWolf 17.03.2016 / 11:21