Skip to content

Category Archives: 安全

全部使用 https:// 协议的 TwitterFox

19-三-09

TwitterFox 是个 Firefox 扩展,据作者说,TwitterFox 和 twitter 服务器之间均为加密通讯,但查看 TwitterFox 的源程序,里面仍有几处直接使用  http:// 协议连接 twitter.com,最明显的例子就是,如果你双击 TwitterFox 的状态图标去 twitter.com 官方页面,将会是用  http://twitter.com/home 打开页面,并且该页面下所有 twitter.com 引用页面链接也都是使用 http:// 协议。在 twitter.com 上充满低俗内容的今天,某些数据通讯无疑会让墙不太高兴。
向作者提出过将 http:// 协议全部改成  https:// 协议的建议,但未被采纳(我个人比较奇怪,因为作者似乎很在乎通讯隐私,要不也不会把 TwitterFox 改成强制使用 SSL 收发 tweets,而不是像早期版本那样允许用户自己设置是否使用 SSL)。
下面这个版本是从官方 subversion repository 里面取得最新源代码,修改全部 http:// 协议引用到  https:// 后的编制版本,目前版本为 1.8b1,和官方发布的最新版 1.7.7.1 的区别只是上述修改和版本号:
https://dl.getdropbox.com/u/106561/TwitterFox-lxl-https.xpi
我会定期监察官方 subverion repository 里面的源代码,如果发现更新,也会相应更新这个版本,一直到官方版本完全使用 https:// 协议为止。
如果你还在用不安全的 TwitterFox 官方版进行低俗推发,那么建议你使用这个版本。如果你对这个版本不是很放心,可以下载 xpi 文件后,改名到 zip 文件,然后解开该文件和官方的正式发布版比较一下看看差异,确认没有恶意代码后再安装。
安装之后如果你双击 [...]

用 KeePass 实现远程控制的自动登录

11-二-09

我经常要登录多个远程系统进行维护,输入用户名和密码是一件很烦的事情,但如果将用户密码保存在远程控制软件中又会造成安全隐患,尤其是如果该远程控制软件是放在 U 盘上的便携版,一旦 U 盘遗失,可能会被别人轻易侵入系统,我的几个 Linux 帐号都有 sudo 权限,被窃取后基本上就等同 root 帐号被攻克了。
比较安全的自动登录可以用 KeePass 配合适当的远程控制软件来实现。
首先远程控制软件必须允许在命令行设定远程登录的信息,如远程系统IP/域名,端口,用户名,密码等等。我最常用的几款都可以:
登录 SSH 服务器使用 putty:putty.exe -ssh $username@$host:$port -pw $password
登录 SFTP 服务器使用 winscp:winscp.exe” sftp://$username:$password@$host:$port
远程桌面使用 UltraVNC viewer:vncviewer.exe” $host:$port -password $password
远程桌面使用 TeamViewer:Teamviewer.exe” -i $ID -P $password
如果想在 U 盘上使用 KeePass 便携版的话,这几款远程控制软件都有便携版或者便携的替代版,如 putty 可以用 kitty 来替代。
这里用 KeePass 1.14 中的 URL field 配合 cmd:// 链接来启上述动远程控制软件,传入登录信息,就可以无需输入用户名/密码自动登录到远程系统上了。由于远程系统的登录信息是由 KeePass 加密保存的,远程软件中可完全不需要保存远程系统的信息(可手动逐一删除目前已经保存的信息),并且设置不要记录登录历史,这样即使把 KeePass + 远程控制软件便携版保存在 [...]

给 chrome 过滤广告

24-九-08

chrome 目前不支持扩展,像 Firefox 里面这样强大的 AdBlock Plus 不能用,淹没在网络广告的海洋里,还是比较难受的。
不过我的 Linux 服务器上面有 privoxy, 正好可以给 chrome 过滤广告用。设置一下,用 Linux 当 chrome 的 HTTP/HTTPS 代理,广告立刻见少。不过 chrome 偷懒,没有写自己的代理设置,而是用 Windows 的系统代理设置,给它设定代理,等于是全系统都设置了,结果联想网盘客户端不能正常访问网盘,而且频频崩溃。
只好在 privoxy 的 user.action 里面把
.lenovodata.com
加入 fragile 类网站了。
如果 chrome 或者联想网盘两者之一可以自定义 proxy 设置的话,就不会互相影响了。

hamachi 改变授权策略

19-八-08

8/18 hamachi 发布了新版本 1.0.3.0,细心的用户除了发现界面上的细微变化之外,授权策略也改变了。但无论是官方网页还是官方论坛,都没有明确说明新的授权策略和以前的相比有何不同。
根据我的观察,对比一下新授权和旧授权。
旧授权的两个版本:Free(免费) vs. Premium(付费),可以简单归结为:付费用户购买高级功能,但不需要高级功能的商用用户仍可以选择使用免费版本;
新授权的两个版本:Non-commerical (非商用) vs. Commercial(商用),商用用户现在必须强制性付费使用商用授权,非商用用户则可免费使用。
在旧授权方式下,付费用户优于免费用户可以使用的高级功能主要包括:
1、加入 network 时不受 16 个免费用户的数量限制,而是受 256 个付费用户的限制;
2、可以使用 hamachi 客端自带的 system service 功能;
3、network 管理员可指定多个管理员;
4、network 可以设置为不使用加密管道以提高速度/性能;
5、如果两个客端无法直接连通,可以使用经过 hamachi 服务提供的高速转接(非商用用户只能使用低速转接)。
而在新授权方式下 ,非商用用户和商用用户基本上没有功能的区别了,上述那5条主要区别现在除了第5条,前面第2、3、4条非商用用户也可以享用了,至于第1条,现在不管商用还是非商用,每个 network 统一为最多 50 个用户。
所以,对于非商用用户来说,新授权策略大大优于旧授权策略。

自架/使用基于 openssh 加密管道的 SOCKS v5 代理

11-四-08

使用基于 openssh 加密管道的 SOCKS v5 代理可以获得类似在远程系统上网的效果,而这个代理你可以自己架设。
你需要有一个远程系统,满足下列两个条件:
1、该系统允许远程用户的加密管道转接;
2、你有一个用户帐号,可以通过 openssh 的 SSH-2 协议正常登录。
先假设这个远程系统的域名是 mysshd.myhost.com (IP 也可以) ,登录用户名是 myuser。
现在你需要一个登录远程的 ssh 客端,Windows 系统上可以用 putty 的图形界面,或者它附带的工具 plink.exe,这里以 plink 举例,在 Windows 的 cmd 中输入以下命令:
plink myuser@mysshd.myhost.com -N -D 127.0.0.1:9090
(关于这个命令的具体解释可以阅读 plink 的帮助信息,输入 plink 即可列出它支持的命令行选项)
在 Linux 系统上,可直接用 ssh:
ssh -2qTfN -D 127.0.0.1:9090 myuser@mysshd.myhost.com
输入你的用户密码,登录到远程系统上,通过加密管道的 SOCKS v5 就建立好了。
怎样使用它呢?在 Firefox 中可以设定 127.0.0.1:9090 作为 SOCKS v5 代理,下面是 FoxyProxy 里面的设定截图:

通过这个代理访问一下
http://www.123cha.com
看看你的 [...]

网络服务的安全自我保护

20-三-08

现在大家都越来越依赖网络上提供的各种服务来通讯,把个人信息放在网上(或者通过网络传输)有个显而易见的好处,就是信息是随时随地可以访问的(前提是你在网上)。在享用方便的同时,也不可避免地带来隐私外泄的隐忧。
一般人理解 p2p 连接只有两个点的参与双方才能接收到对方发送的信息,但在大多数情况下,这并不正确。实际上,在信息包从一方传输到另一方之间通过的任何网络节点都可以实施网络窃听、信息分析及过滤。没有安全保护的数据传输,在实际生活中就像两个人在一间挤满陌生人的房间里肆无忌惮地大声聊天,而旁边的陌生人可以完全听到他们之间的谈话。当这个房间只是一个局域网,安全隐私或许还不引人关切,但是如果这个房间是个覆盖几千公里范围的广域网,甚至整个 internet 呢?
随着人们对网络的访问从局域网扩大到广域网,许多原来安全漏洞不明显的工具的弱点就完全暴露出来了。
举个例子,在 unix 系统上很常见的 telnet/rsh,由于使用未加密的纯文本传输(又称明文传输),用任何网络嗅探器就可以轻而易举地窃听到登录用户名和密码,进而登录到系统中。
对 telnet/rsh 增加安全保护的方法有两种:
1、停止使用 telnet/rsh,改用 ssh 这样的安全连接;
2、在用户和主机之间使用安全的 VPN 连接管道,只允许在此安全管道中使用 telnet/rsh。
这两种办法原理都是把用户和主机之间通讯的数据包在送出之前加密后传输,到目的地后再解密,只不过,这个加密/解密的过程在情况1中是由 ssh 自己完成的,在情况2中是由 VPN 安全管道完成的(不安全的 telnet/rsh 则完全无需做任何修改) 。
下面类似地看看如何使我们日常的网络服务变得更安全。
先把网络服务分成两个大类:
A 类、朋友对朋友之间的通讯
所谓“朋友对朋友” ,意思是通讯双方是互相信赖的,一方发送的隐私数据并不怕另一方读取。这样的服务不仅仅包括最常见的聊天(IM),更包括银行查帐服务、email 服务等等,很多情况下对方并非你生活中的真实朋友(比如 email 提供商的服务器),但是如果对方如果不能读取你的个人信息将无法提供服务。
B 类、用户和服务商之间的通讯
和“朋友对朋友” 不同,用户和服务商之间完全是服务者和被服务者之间的关系,用户希望服务商只提供服务,但无法读取用户的保密数据。一个常见的例子是保密的网盘。
对 A 类应用,我们可以假设对方是可以信任的,所以安全保护的重点是从本方到对方中间的传输过程如何保证数据包是加密的;对 B 类应用,则需要假设对方不能信任,安全保护就包括了两个方面:一个是和 A 类中类似的传输过程的安全保护,另一个则是在对方处存贮过程的安全保护。
来看看我常用的网络服务:
1、email (A 类)
我目前使用 Gmail:
https://mail.google.com/mail/
Gmail 提供网页界面和 POP/IMAP 多种访问方式。网页访问要确保使用 https:// 协议,而 POP/IMAP 都需要基于 SSL 安全加密的连接管道,所以 Gmail 服务已经提供了安全保护。
需要提醒的是,许多提供 POP/IMAP 访问的 email 服务商仍然允许用户使用未加密的连接来访问邮箱,这是非常不安全的。
2、IM 聊天 [...]