名校课程推荐 | MIT《CS 实用工具课程》-安全与隐私

安全与隐私

虽然世界并没有想象中的那么可怕,但这也不意味着你准备好把你所有的秘密都公之于众。安全(与隐私)通常是为了提高攻击门槛。找出你的威胁模式,然后围绕它设计你的安全机制。如果威胁模式是NSA或者Mossad,那可能会很麻烦。

让你的网络身份更加安全有多种方法,我们这里会讲到很多高级内容,但这是一个过程,你们要学会自己学习消化。所以你们可以做的是:

关注对的人

提高安全技术的最有效方法是关注在安全领域有一定话语权的账号。建议可以关注:

  • @TroyHunt

  • @SwiftOnSecurity

  • @taviso

  • @thegrugq

  • @tqbf

  • @mattblaze

  • @moxie

更多推荐账号参见该列表

一般的安全建议

Tech Solidarity给新闻工作者们列出了一个基础安全防范措施列表,里面有很多很好的建议,而且是最新的。@thegrugq也有一篇关于旅行安全建议的很好的博客,值得一读。我们将重复它们当中的很多建议,另加添加一些。另外,买一个USB数据阻断器吧,USB有很多你不知道的安全隐患

验证机制

你应该做的第一件事是下载一个密码管理器(如果没有下载过的话)。一些好用的密码管理器:

如果你还是有顾虑,不希望将密码以明文形式存储在服务器上,可以选择在你计算机上本地加密密码的密码管理器。你可以用它来生成所有你在意的网站的密码。然后,打开双因子验证,最好是使用FIDO/U2F加密狗(例如YubiKey,学生可以享受8折优惠)。TOTP(像谷歌验证器或Duo)在必要时也可以,但它不能防止网络钓鱼。除非你的威胁模式只是随机陌生人在途获取你的密码,否则短信服务(SMS)几乎毫无用处。

另外,关于纸钥匙。通常,服务软件会给你一个“备份密钥”,如果你丢失了真正的第二个验证因子,可以用它作为第二个因子(顺便说一句,永远要在安全的地方存储一个备份加密狗!)。虽然你可以把它们放到你的密码管理器中,但这意味着,如果有人能够访问你的密码管理器,那就完蛋了(但可能你可以接受这种威胁模式)。如果你真的还有顾虑,那你把这些纸钥匙打印出来,不要把它们存储在数字世界,而是放到现实世界的保险箱里。

私人交流

使用 Signal(Signal的设置指南。也推荐 Wire;WhatsApp也不错;不要用Telegram。桌面聊天应用比较糟糕(部分原因是通常依赖于Electron,它是一个巨大的可信堆栈)。

电子邮件尤其成问题,即使PGP加密并签名电子邮件。它通常不是前向安全的,而且密钥分发问题相当严重。keybase.io 就很好用,并且在许多其他方面都很好用。此外,PGP密钥通常在桌面计算机上处理,这是最不安全的计算环境之一。因此,可以考虑用Chromebook,或者带键盘的平板电脑。

文件保密

文件保密很困难,并且需要在多个层次上进行操作。你想要防范的安全风险有哪些?

security

  • 离线攻击(有人偷走了你处于关机状态的笔记本电脑):开启全盘加密。(Linux上的cryptsetup + LUKS, Windows上的BitLocker, macOS上的 FileVault)。请注意,如果攻击者把你掳走了,并且想知道你的秘密,那么这就没有用。

  • 在线攻击(有人在你电脑在线的状态下控制了它):使用文件保密。有两种主要机制:

    • 加密文件系统:堆叠的文件系统加密软件单独加密文件,而不是加密块设备。你可以通过提供解密密钥来“挂载”这些文件系统,然后可以自由地浏览其中的文件。卸载文件系统后,这些文件都不可用。现代的解决方案包括gocryptfs 和eCryptFS。它们之间的详细对比信息可以参见这里这里

    • 加密文件:使用对称加密(参见 gpg -c)和密钥对单个文件进行加密。或者,与pass一样,使用你的公钥加密密钥,这样,之后只有你可以使用你的私钥读取它。严密的加密设置很重要!

  • 合理推诿(这里的问题官员是谁?):通常会降低性能,容易丢失数据。很难证明它实际上提供了可否认加密!看这里的讨论,然后思考你是否会尝试 VeraCrypt(基于神一样的TrueCrypt)。

  • 加密备份:使用TarsnapBorgbase

    • 想一想,如果攻击者得到了你的笔记本电脑,他们是否能删除你的备份。

联网安全与隐私

互联网是个可怕之地。开放的WiFi网络风险很大。一定记住要用后即弃,否则你的手机之后会重新连接到同名WiFi!

如果你曾经使用过你不信任的网络,那么VPN可能值得一试,但请记住,一定是要你非常信任的VPN提供商。比起你的ISP,你更信任他们吗?如果你真的要用VPN,一定要用确保你信得过的提供商,有的可能需要付费,或者为自己设置WireGuard -它非常棒!

cipherlist.eu网站上也有很多互联网应用程序的安全配置设置。如果你特别注重隐私,privacytools.io也是一个不错的资源。

有些人可能会想到Tor。请记住,Tor不大能抵御强大的全局攻击者,对流量分析攻击的抵抗力也较弱。它可能对小范围内的流量隐藏比较有用,但在隐私方面,它并不会给你带来太多好处。你最好使用更安全的服务(Signal、TLS +证书锁定等)。

Web安全

还想在Web上继续?那真的要继续碰运气了。

安装HTTPS Everywhere。SSL/TLS非常关键,它不只是加密数据,还涉及认证用户和服务器,确保数据发送到正确的您正在与正确的服务上!如果你运行自己的web服务器,对它进行测试二次测试。TLS配置可能会很麻烦。HTTPS Everywhere将尽其所能,如果有其他选择,它永远不会导航你到HTTP站点。这救不了你,但有所帮助。如果你有安全顾忌,把你绝对不需要的SSL/TLS CAs列入黑名单。

安装uBlock Origin。它是一个用途广泛的拦截器,不仅能拦截广告,还能拦截各种第三方页面、内联脚本等等。如果你愿意花些时间进行配置,可以研究下中等模式甚至是强力模式。在你调整好设置之前一些网站会停止工作,但这些配置会显著提高你的网络安全水平。

如果你正在使用火狐浏览器(Firefox),可以安装多帐户容器插件,为社交网络、银行、购物等分别创建单独的容器。火狐会将每个容器的缓存以及其他状态完全分开,这样你在一个容器中访问的站点就不能窃取你其他容器中的敏感数据。在谷歌Chrome浏览器中,可以使用Chrome Profile来达到类似的效果。

练习

  1. 用PGP加密一个文件

  2. 用veracrypt创建一个简单的加密卷

  3. 为你的大部分数据敏感账号(比如GMail、Dropbox、Github等)启用2FA双因子验证

客服