我想要的是在家里用 Windows 配置一台计算机,并将其用作TCP 代理,用于连接和路由数据包从 80 到 Internet 中另一台服务器中的端口 23
好吧,可能是因为我很密集,或者可能只是没有找到合适的来源,但我不明白为什么这些 IPTABLES 设置中的一个会比另一个更好。
这是我的设置:
我有一个用作透明代理和路由器的盒子。它上面有两个接口,ETH0和ETH1,地址方案如下:
ETH0 = DHCP ETH1 = 192.168.5.1/24 为 192.168.5.0/24 网络的 DHCP 服务在 LAN 后面的客户端
我安装了 privoxy 并作为透明代理在端口 8080 上监听。我通过此设置完成的是能够将此框放入现有网络中,配置最少,并将客户端附加到代理。
这是我的原始 IPTABLES 文件
*nat
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-port 8080
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
*filter
COMMIT
Run Code Online (Sandbox Code Playgroud)
此配置工作正常,流量来回流动没有问题。我在 privoxy 日志文件中获得了原始客户端的 IP 地址,并且生活很好。
当我开始查看其他人的配置并看到他们使用 DNAT 而不是 REDIRECT 时,我的困惑就出现了,我试图了解其中一个的真正好处。这是一个示例配置:
*nat
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to 192.168.5.1:8080
-A POSTROUTING -o eth0 -j …Run Code Online (Sandbox Code Playgroud) 我在家里的电脑上的 ~/.ssh/config 中有一个条目,如下所示:
host foo bar
ProxyCommand ssh -x -a -q gateway.example.com nc %h 22
Run Code Online (Sandbox Code Playgroud)
gateway.example.com连接到公共 Internet 和内部网络的工作服务器在哪里。网关框使用 /etc/hosts 中的条目解析 foo 和 bar。
我的问题是我需要到达foo. 我们称之为“巴兹”。“baz”主机位于 foo 连接到的另一个专用网络上,但不是“网关”连接到的那个。
我试过用这个:
host baz
ProxyCommand ssh -x -a -q gateway/example.com ssh foo nc %h 22
Run Code Online (Sandbox Code Playgroud)
但这不起作用,我有点超出我的深度。我该怎么做呢?
我认为这不重要,但我在 Ubuntu 10 中这样做。
是否可以替换通过代理传递的每个页面上的内容,类似于 mod_rewrite 用于 URL 的方式?关于替代品的文件不清楚。
我有一些我正在反向代理的页面具有绝对路径。这破坏了网站。它们需要替换,并且 mod_rewrite 之类的工具没有选择它们,因为它们不是 URL 请求。
<VirtualHost *:80>
ServerName servername1
ServerAlias servername2
ErrorLog "/var/log/proxy/jpuat_prox_error_log"
CustomLog "/var/log/proxy/jpuat_prox_access_log" common
RewriteEngine on
LogLevel alert rewrite:trace2
RewriteCond %{HTTP_HOST} /uat.site.co.jp$ [NC]
RewriteRule ^(.*)$ http://jp.uat.site2uk.co.uk/$1 [P]
AddOutputFilterByType SUBSTITUTE text/html
Substitute "s|uat.site.co.jp|jp.uat.site2uk.co.uk|i"
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://uat.site.co.jp/
ProxyPassReverse / http://uat.site.co.jp/
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
以上都不适用于替换 HTML 字符串
<link href="//uat.site.co.jp/css/css.css
Run Code Online (Sandbox Code Playgroud)
和
<link href="//uat.site2uk.co.uk/css/css.css
Run Code Online (Sandbox Code Playgroud)
<VirtualHost *:80>
ServerName jp.uat.site2uk.co.uk
ServerAlias uat.site.co.jp
ErrorLog "/var/log/proxy/jpuat_prox_error_log"
CustomLog "/var/log/proxy/jpuat_prox_access_log" common
ProxyRequests Off
<Proxy …Run Code Online (Sandbox Code Playgroud) 乍一看,这似乎是一个愚蠢(或邪恶)的问题,但请允许我详细说明......
我们已经在公司网络和代理上实施了各种措施,以防止将某些文件类型下载到公司机器上。大多数文件,甚至是带有 exe 的 zip 文件,在单击下载这些文件时都会被阻止。
但是一些“有进取心”的用户仍然设法让下载工作。例如,我站在某人(不认识我或我在哪个部门)身后,他在我们眼前将以“.exe”结尾的 URL 更改为“.exe?”,然后浏览器去了就在前面并下载了“未知”文件类型。从那时起,我们就堵上了这个漏洞,但我想知道是否还有其他人知道绕过网络安全和检查软件下载文件的任何邪恶手段。
或者,如果您知道一些可以发誓是防弹的商业软件,我们可以试用一段时间。
任何帮助表示赞赏...
第三方安全专家建议我们在 Web 服务器(均托管在 DMZ 中)前运行反向代理作为最佳实践安全措施。
我知道这是一个典型的推荐架构,因为它在 Web 应用程序前面提供了另一个级别的安全性以防止黑客。
然而,由于反向代理在用户和内部 Web 服务器之间愉快地来回穿梭 HTTP,它不会提供任何防止对 Web 服务器本身进行黑客攻击的措施。换句话说,如果您的 Web 应用程序存在安全漏洞,代理将不会提供任何有意义的安全性。
并且考虑到攻击 Web 应用程序的风险远高于攻击代理的风险,在中间添加一个额外的框真的有很多好处吗?我们不会使用反向代理的任何缓存功能——只是一个来回传输数据包的愚蠢工具。
还有什么我在这里想念的吗?反向代理 HTTP 数据包检查是否变得如此出色,可以检测到有意义的攻击而没有重大性能瓶颈,或者这只是安全剧院的另一个例子?
反向代理是 MS ISA fwiw。
有人知道为伊朗持不同政见者提供代理服务器的努力吗?
我愿意帮忙。警告:我是一个网络新手,拥有一些未充分利用的轻量级硬件,所以我不知道我能提供多少。我不知道我提供的任何服务是否会免受该政权的情报行动的影响。
也就是说,我想知道是否有一些我可以提供帮助的途径。
我理解开放代理服务器可能会给其他用户带来风险和滋扰。我认为信息自由流动的公共回报暂时高于平时,因此改变了对这些事物的社区成本/收益的正常计算。我很乐意配置以监控和阻止滥用。
如果离线回复更有意义,可以通过 gmail 联系我。我愿意进行身份的离线验证。
我们在我们的环境中使用 Squid 代理服务器,我们想要缓存 HTTPS 请求。
有没有办法配置 Squid 或一般的代理服务器来缓存 HTTPS 请求?
我正在考虑将 SSH 隧道实现为一种廉价的 VPN 解决方案,供外部用户访问仅面向 Intranet 的 Web 应用程序。
我目前正在使用安装了 OpenSSH 的 Ubuntu Server 10.04.1 64 位。
我在 Windows 机器上使用 Putty 在本地端口上创建到我的 ssh 服务器的隧道。
start putty -D 9999 mysshserver.com -N
Run Code Online (Sandbox Code Playgroud)
然后我使用 tell Firefox 在 localhost:9999 上使用 SOCKS 代理。
-N 标志将从客户端禁用交互式 shell。有没有办法在服务器端做到这一点?
除了禁用 root 访问,使用 rsa 密钥认证,并更改默认端口;为此,我还应该遵循任何其他明显的安全实践吗?我的目标是简单地能够隧道网络流量。
我有相当复杂的代理设置,其中一个代理需要用户名/密码。有没有办法配置用户名/密码,以便用户在流量重定向到这个代理时不必输入它们?至少返回PROXY username:password@server:port或PROXY http://username:password@server:port不会工作。