标签: squid

ssl_crtd 助手在鱿鱼中崩溃得太快

我正在使用鱿鱼的 sslBump 和动态 SSL 证书生成功能,下面是我对 sslBump 的配置

sslcrtd_program /usr/lib64/squid/ssl_crtd -s /usr/local/squid/var/lib/ssl_db -M 4MB sslcrtd_children 5

sslproxy_cert_error 允许所有

always_direct 允许所有

ssl_bump 客户端优先

sslproxy_cert_error 允许所有

sslproxy_flags DONT_VERIFY_PEER

http_port 3128 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/etc/squid/ssl/myCA.pem

当我启动鱿鱼时,我面临以下错误。

鱿鱼-d 23

2014/08/29 16:55:59 Kid1| 将当前目录设置为 /var/cache/squid
2014/08/29 16:55:59 Kid1| 正在为 x86_64-redhat-linux-gnu 启动 Squid Cache 3.4.4.2 版...
2014/08/29 16:55:59 Kid1| 进程 ID 32150
2014/08/29 16:55:59 Kid1| 流程角色:工人
2014/08/29 16:55:59 Kid1| 有 1024 个文件描述符可用
2014/08/29 16:55:59 Kid1| 正在初始化 IP 缓存...
2014/08/29 16:55:59 Kid1| DNS 套接字创建于 [::], FD 7
2014/08/29 …

ssl squid ssl-certificate

5
推荐指数
1
解决办法
9142
查看次数

iptables 阻止客户端 ip 互联网访问并保持 LAN 访问

随着具有网络访问权限的设备的增加和黑客攻击的可能性,我想阻止特定 ip 地址访问互联网,但允许 LAN 访问。例如,我使用 Logitech Harmony 遥控器通过 1 个按钮控制我的立体声音响、卫星电视和电视。我也可以用我的 iPad 通过本地网络控制它。但我不想让黑客操作我的电视,所以我想用我的 IP 表防火墙阻止分配给和声遥控器的 IP 地址。

这是我用来编辑 IP 表配置的当前脚本。它在我的带有 2 个网卡的 Fedora 20 机器上工作。第 6 节是我试图插入规则的地方。其他一切都按预期工作。我包含了整个脚本,希望它可以帮助其他人,即使与我的问题无关。毕竟,这一切都是从我自己的搜索中获得的知识构建的!


#!/bin/sh
#
# A script for creating an iptables firewall
#

#
# Start by clearing iptables
#
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X

#
# Define our interfaces, Squid IP, and Squid port
#
WAN="p4p1"
LAN="p4p2"
SQUIDIP="192.168.10.10"
SQUIDPORT="3129"

# …
Run Code Online (Sandbox Code Playgroud)

linux firewall iptables squid

5
推荐指数
1
解决办法
3万
查看次数

在 CentOS 7 上 Squid 耗尽文件描述符

我在 CentOS 7 上运行 Squid 3.3 (EPEL),最近我在我的系统中收到以下错误消息 cache.log

WARNING! Your cache is running out of filedescriptors
Run Code Online (Sandbox Code Playgroud)

我对此有点困惑,因为我似乎有足够的描述符可用:

squidclient mgr:info | grep 'file descri'
Maximum number of file descriptors:   16384
Available number of file descriptors: 16326
Reserved number of file descriptors:   100
Run Code Online (Sandbox Code Playgroud)

Squid 也是用这个标志编译的:

--with-filedescriptors=16384
Run Code Online (Sandbox Code Playgroud)

Squid 确认这些实际上在启动时可用:

2015/08/18 21:11:45 kid1| With 16384 file descriptors available
Run Code Online (Sandbox Code Playgroud)

但是这个错误不断发生。记录此错误后不久,该squid进程似乎也达到了 100% CPU 或使用了几乎所有系统内存超过 90%,导致互联网速度下降到爬行或无限期挂起。杀死进程并重新启动可以解决它,但最终它会再次发生。

我总共有 8 GB 可用内存,这些是我的内存/缓存相关参数 squid.conf

cache_dir ufs /var/spool/squid 16000 16 256
cache_mem 1024 MB
Run Code Online (Sandbox Code Playgroud)

我还在使用ufdbguardKerberos 和 NTLM …

squid file-descriptors centos7

5
推荐指数
1
解决办法
3952
查看次数

将来自 docker 容器的传出流量列入白名单

我有一台运行多个 docker 容器的服务器,配置如下:

  • 其中一个容器是绑定到其他容器公开端口的反向代理。这是唯一一个在 http 端口 80 上接受来自外部世界的连接的容器
  • 所有其他容器都是运行 tty shell 的开发环境。这些在主机上暴露了端口,但由于主机上的 EC2 安全组配置,这些端口不会暴露给外界。所以与他们沟通的唯一方法是通过反向代理。反向代理通过它们暴露的端口与它们通信。
    nb 我不能在这里使用容器链接,因为我不想用每个新的开发容器重新启动反向代理容器。

                    |                                DEV Env Docker
                    |                              / 
OUTSIDE WORLD <-----|------> REVERSE PROXY DOCKER  - DEV Env Docker
                    |                              \ 
                    |                                DEV Env Docker
Run Code Online (Sandbox Code Playgroud)

这个想法是用户可以通过反向代理访问开发容器并在该容器内运行命令。

我想通过将他们可以连接的域列入白名单来防止用户运行连接到外部世界的命令。

我已经安装了 squid3 并通过在配置文件中添加以下几行来设置白名单:

acl whitelist dstdomain "/etc/squid3/whitelist.txt"
http_access allow whitelist
Run Code Online (Sandbox Code Playgroud)

我还设法使用以下 iptables 命令 iptables -t nat -A PREROUTING -i docker0 -p tcp -d 0/0 -j REDIRECT --to-port 3128 将流量从 docker 容器重定向到鱿鱼

我遇到的问题是,我只希望来自 Dev Env 容器的传出流量通过 squid,但由于“我相信”,我需要使用 PREROUTING 所有流量都通过 squid,即使是传入和目的地为我的反向代理的流量。

当我尝试通过网络访问我的反向代理时,我从鱿鱼收到以下错误 …

iptables squid transparent-proxy docker

5
推荐指数
1
解决办法
4003
查看次数

如何通过squid透明转发HTTPS流量?

我想将所有 HTTP 和 HTTPS 流量重定向为squid充当透明代理。然后,该流量将在特定时间内被阻止或授权(批量)。具体来说,我不想解密/重新加密 HTTPS 流量,而是按原样推送。

HTTP 部分起作用,REDIRECT规则将shorewall所有打算发送到目标端口的流量传输80到模式下的侦听3128鱿鱼端口transparent

同样的技巧对于端口443不起作用。

有关于如何为 HTTPS 流量设置透明代理的教程,但我发现的所有教程都描述了创建证书对来解密/重新加密流量 - 这是我不想做的事情。

鱿鱼维基提到 CONNECT 作为隧道 HTTPS 流量的一种方式,但添加http_access allow CONNECT all到配置(并禁用默认值deny)不会改变任何东西。

然后,之前的 一些答案表明,在不破坏 TLS 隧道的情况下,透明的 HTTPS 流量是不可能的。

因此:是否有一种方法可以配置,squid以便通过重新路由到它的 HTTPS 流量iptables然后透明地传输,而不需要任何修改?

(当满足某些时间规则时,我最终会阻止(这就是说,该阻止不会基于 HTTPS 流本身内的任何内容))

https squid transparent-proxy

5
推荐指数
1
解决办法
2万
查看次数

无法通过squid代理连接到HTTPS网站

我刚刚尝试在 CentOS7 中的 OpenVZ VPS 上创建代理服务器。一切都很好,但我无法访问 https 网站,如 google、instagram、facebook 等。它说超时,响应时间太长。

我已经生成了 myCA.pem 证书,并使用 ssl_bump 链接了签名证书,没有错误(使用 检查systemctl status squid),现在当我尝试连接到上面列举的网站时,它不会给我任何互联网错误:

1

下面是我的squid.conf,这里是我的cache.log http://pastebin.com/MUkujTig

acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
acl SSL_ports port 443
acl Safe_ports port 80        # http
acl Safe_ports port 21        # ftp
acl Safe_ports port 443        # https
acl Safe_ports port 1025-65535    # unregistered ports
acl Safe_ports port 280        # http-mgmt
acl Safe_ports port 488        # gss-http
acl Safe_ports port 591        # …
Run Code Online (Sandbox Code Playgroud)

squid centos7

5
推荐指数
1
解决办法
2万
查看次数

Squid 记录 https 没有 SSL Bumping

我已经实现了一个透明的 squid3 代理用于日志记录。

我不会进行 SSL 碰撞/HTTPS 解密,因为这对于在每个客户端上安装证书来说太多了。

但是,我想记录CONNECT传递给鱿鱼的URL 数据。出于某种原因,它甚至不会在 HTTPS 请求中记录根域,而这些请求肯定会命中鱿鱼。

有没有办法做到这一点?


我的/squid.conf

http_port 192.168.15.225:3128
http_port 127.0.0.1:3128 intercept
icp_port 0
dns_v4_first off
pid_filename /var/run/squid/squid.pid
cache_effective_user squid
cache_effective_group proxy
error_default_language en
icon_directory /usr/local/etc/squid/icons
visible_hostname localhost
cache_mgr admin@localhost
logformat squid %ts.%03tu %tr %>a %>eui %>Hs %<st %rm %ru %un %<A %mt 
access_log /var/squid/logs/access.mac.log squid
cache_log /var/squid/logs/cache.log
cache_store_log none
netdb_filename /var/squid/logs/netdb.state
pinger_enable on
pinger_program /usr/local/libexec/squid/pinger

logfile_rotate 0
debug_options rotate=0
shutdown_lifetime 3 seconds
acl localnet src  10.10.10.0/24 192.168.15.0/24
forwarded_for on …
Run Code Online (Sandbox Code Playgroud)

squid

5
推荐指数
1
解决办法
3590
查看次数

配置squid 3.5为不同的监听端口使用不同的父代理

我现在有以下配置:

# Squid normally listens to port 3128
http_port 3128

cache_peer proxy1_address parent proxy1_port 0 proxy-only default login=name1:pass1
never_direct allow all
Run Code Online (Sandbox Code Playgroud)

现在,我需要以某种方式配置鱿鱼,将所有到 3128 的传入请求都重定向到 proxy1(就像现在一样),并且所有到 3127 的传入请求都将重定向到 proxy2。可以做吗?

我当前的配置不起作用:

http_port 3128
http_port 3127

acl port_3128 port 3128
acl port_3127 port 3127

# 3128
cache_peer proxy01 parent 3128 0 no-query originserver name=proxy3128
cache_peer_access proxy3128 allow port_3128
cache_peer_access proxy3128 deny port_3127

# 3127 
cache_peer proxy02 parent 3128 0 no-query originserver name=proxy3127
cache_peer_access proxy3127 allow port_3127
cache_peer_access proxy3127 deny port_3128
Run Code Online (Sandbox Code Playgroud)

proxy squid transparent-proxy

5
推荐指数
2
解决办法
9218
查看次数

本地透明代理

我有一个不支持代理的应用程序,但我需要将其流量发送到本地代理。我想设置 IPTABLES 以透明地将流量重定向到给定的 IP 和 PORT (80) 以被拦截并重定向到本地代理。不幸的是,我发现的所有示例都假设透明代理设置在执行 NATTING 的 GW 中。是否可以将流量重定向到透明代理 (SQUID) 而无需 NAT?我很欣赏一个例子

iptables squid transparent-proxy

5
推荐指数
1
解决办法
5437
查看次数

python get-pip.py 不能在代理后面工作

我在尝试运行尝试使用以下命令获取的devstack时遇到问题,我添加了详细参数pip

sudo -H -E python /opt/stack/devstack/files/get-pip.py -c /opt/stack/devstack/tools/cap-pip.txt --verbose
Run Code Online (Sandbox Code Playgroud)

我得到了这个输出,它永远挂在那里,然后再试四次就退出了。

Created temporary directory: /tmp/pip-ephem-wheel-cache-WNf2he
Created temporary directory: /tmp/pip-req-tracker-YNDzMb
Created requirements tracker '/tmp/pip-req-tracker-YNDzMb'
Created temporary directory: /tmp/pip-install-qbbm3e
Setting pip!=8,<10 (from -c /opt/stack/devstack/tools/cap-pip.txt (line 1)) extras to: ()
Collecting pip!=8,<10 (from -c /opt/stack/devstack/tools/cap-pip.txt (line 1))
  1 location(s) to search for versions of pip:
  * https://pypi.org/simple/pip/
  Getting page https://pypi.org/simple/pip/
  Looking up "https://pypi.org/simple/pip/" in the cache
  No cache entry available
  Starting new HTTPS connection (1): pypi.org:443
Run Code Online (Sandbox Code Playgroud)

我的机器坐在一个代理后面,它使用白名单来允许一些域名,这些域名是允许的。

# …
Run Code Online (Sandbox Code Playgroud)

ssl proxy squid whitelist

5
推荐指数
1
解决办法
9355
查看次数