安全和私人浏览与Squid

版本1.0

作者: Joe Topjian <joe [at] adminspotting [dot] net>

浏览支持SSL的网站是一个确定的方法,以确保没有人可以窥探您正在做什么 - 当您做一些个人喜欢通过网络检查电子邮件或从亚马逊购买东西时,这是一件好事。 但是,如果您只是在阅读每日新闻或检查电影时间,那么隐私权是否重要? 超偏执将给这个问题一个响亮的“是”,而大多数人只会耸耸肩。 我发现自己在这两方之间。 在阅读新闻的时候,在家里,如果流量被加密,我可以放心。 但是,当我在公共Wi-Fi现场时,确实给我一些困扰。

允许访问互联网的大多数公共区域绝对没有安全性。 需要一个很好的开眼界? 下次您是公共热点时,请复制一下dsniff工具。

本文将向您展示一种保护自己免受此类影响的方法。 本文将仅显示如何保护您的网络流量。 如果您仍然决定在AIM上与您的首席执行官谈谈一些在下一次等待下一次航班时出现的一些超秘密产品,那么这不会救你。 当然,Squid可以代理除了HTTP之外的其他应用程序的请求,但HTTP是我将要覆盖的。 也许我会在另一篇文章中讨论其他的应用。

好的,我们开始吧。 这就是我们需要的:

  • 在其他网络上运行Squid的服务器。
  • 一台带有ssh和端口转发支持的笔记本电脑。
  • 我们要做的是在我们目前在网络之外的某个地方建立一个Squid服务器。 Squid只接受来自服务器本身的连接 - 没有外部连接。那我们怎么用呢?我们将在其中创建一个SSH隧道。创建隧道后,我们只需将我们的web浏览器设置为使用我们SSH隧道地址的代理服务器。现在任何从我们的笔记本电脑出来的网络流量到我们的Squid服务器都将被加密。

    但是从Squid服务器到实际的网页呢?不幸的是,这些东西不会被加密。但是,至少我们在安全的地方得到了无保护的局域网。

    我将使用Debian Sarge作为Squid服务器,但欢迎您使用您想要的任何发行版。安装Squid后,配置将完全相同。要在Debian上安装Squid,请执行以下操作:

    apt-get安装Squid

    Debian的默认配置(也许其他发行版 - 更好的检查!)只允许来自localhost的连接。这不会伤害任何东西,所以我们可以离开它。但是,我们仍然需要一种外部连接的方法。为此,我们将添加一个acl,这将提示我们输入密码,如果我们通过验证,它将让我们进入。我们将在“拒绝所有”部分之前添加它,所以它看起来像这样:

    acl localhost src 127.0.0.1/255.255.255.255
    http_access允许localhost
    http_access允许密码
    http_access拒绝所有

    默认情况下,Squid监听端口3128.我个人喜欢8080更好,所以我们将更改它:

    http_port 8080

    接下来我们需要为Squid设置身份验证。 Debian软件包中有一堆不同的身份验证方法,可以使用以下方式查看:

    ls / usr / lib / squid / * auth

    我们将使用pam_auth模块。这将允许任何具有shell帐户的人也可以使用Squid服务器。在config中搜索auth_param部分,并添加以下行:

    auth_param基本程序/ usr / lib / squid / pam_auth
    auth_param基本的孩子5
    auth_param基本领域Squid代理缓存Web服务器
    auth_param基本凭证sttl 2小时

    下一步搜索此行并取消注释:

    需要acl密码proxy_auth

    现在创建一个名为/etc/pam.d/squid的pam模块,其中包含:

    auth需要/lib/security/pam_unix.so
    需要帐户/lib/security/pam_unix.so

    你需要给这个文件SUID访问,所以chmod它4755.是的,我知道这不是最好的方法,但这是最不复杂的。你欢迎你自己研究其他方法。

    Squid应该全部准备好了。接下来请确保您通过SSH访问服务器。如果您使用密码,密码短语或空白密码无关紧要。要设置隧道,运行:

    ssh -L8080:squidhost:8080 username @ squidhost

    系统会要求您进行身份验证,如果您获得成功,则会像您登录到远程框中一样。如果您打开另一个窗口并键入

    telnet localhost 8080

    你会看到你正在远程服务器上的Squid说话。

    最后,告诉浏览器使用SSH隧道作为代理。我不会在这里浏览每个浏览器,但基本上它将在偏好中的某个位置。对于主机名,只需键入localhost和端口,输入8080。

    现在每当您浏览网页时,都会提示您进行身份验证。输入你的shell帐户信息,你将全部都去。浏览器可能会发出关于通过纯文本进行身份验证的警告 - 忽略它。它将通过我们的SSH隧道,以便它被加密。

    恭喜!您现在可以上网,而不用担心任何人窥探你。如果任何人有任何意见,修正或改进方法的方法,请让我知道!
    本文档的原始位置: http : //adminspotting.net/howtos/securesquid.html
    赞(52) 打赏
    未经允许不得转载:优客志 » 系统运维
    分享到:

    觉得文章有用就打赏一下文章作者

    支付宝扫一扫打赏

    微信扫一扫打赏