步骤 1:安装 redsocks

步骤 1:安装 redsocks

我已经编辑apt.conf、应用了“系统范围配置”、编辑了/etc/enviroment等等……但运气不佳。

我的公司正在运行 Squid 代理DIGEST 身份验证,我认为 APT 不支持。

有谁遇到过这个问题吗?

  • apt.conf

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

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

我总是收到“407 需要身份验证”。

答案1

我遇到了同样的问题,我的大学使用带有摘要身份验证的代理。到目前为止,我发现的唯一解决方法是使用 redsocks 之类的工具,它可以对摘要代理进行身份验证,然后将流量(例如使用 iptables)重定向到不需要身份验证的 redsocks 代理。

步骤 1:安装 redsocks

sudo apt install redsocks

但由于你不能在公司使用 apt,你需要下载文件.deb并使用sudo apt deb xxxxx.deb

第 2 步:配置 redsocks 以使用你的代理

编辑/etc/redsocks.conf并替换部分中的以下参数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
}

步骤3:重启redsocks服务以更新配置

sudo service redsocks restart

步骤4:配置iptables

将以下内容保存到 shell 脚本中,这样您就不必每次都输入它:

#!/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

执行上述脚本,以便创建 iptable 规则。

第五步:玩得开心

开始使用apt-get

http://www.darkk.net.ru/redsocks/或参阅 redsock 手册以了解更多信息。

答案2

我遇到了同样的问题,我完全理解这个功能不受支持。

事实上,摘要式身份验证是从安全角度来看相当薄弱

  • 从客户端的角度来看,它无法阻止中间人攻击等多种攻击,
  • 从服务器的角度来看,情况甚至更糟,因为它使得无法使用强密码哈希以安全的方式存储密码。

摘要式身份验证会削弱可用性,但并不能切实提高安全性。

因此,现在这个协议已经没什么用了:

  • 如果安全很重要,则使用客户端和代理之间通过 HTTPS 连接保护的基本身份验证,
  • 或者,如果安全性不重要,那么通过纯 HTTP 进行的基本身份验证是可以接受的。

相关内容