关于域名的第1章到第9章这部分内容,涉及的账号只有那么几个,数量不是非常多。不过从第10章开始,我们需要管理的账号的数量将会快速上升,再加上我们后面要说的内容里的,这些账号的总体数量就非常非常多了。因此,我们有必要聊一聊账号的管理问题,因为就算服务器的安全措施再怎么严格,如果我们在账号密码的管理上非常业余,那么我们之前的安全工作就相当于白做了。
为我们提供服务的各大云服务厂商,由于我们无法得知、也无法干涉他们的安全体系,所以我们目前只能够先在自己的身上下功夫了,把自己的账号密码管理好,不犯各种可笑的低级错误。
17.1 管理策略
17.1.1
常用账号分类
我们的日常生活中,需要管理的账号数不胜数,但是它们的重要程度各不相同。因此,我们可以根据账号的重要程度,来为它们设计不同的密码策略,来有计划地降低未来可能出现的安全成本。
下面我将给出示例,来划分账号的重要程度,大家也可以举一反三,以此示例参考学习,再创造属于自己的分类方案。
1. A级
它指的是涉及个人信息较少的个人网站。A级还可以再进行细分,如A-、A、A+。
“A-”代表着注册使用过一两次以后,可能再也不会访问的特殊网站。这种网站一般只要求纯粹的账号和密码,最多使用邮箱来验证身份。如果害怕信息泄露,还可以在注册时使用临时邮箱或者特殊账号注册专用邮箱;“A”代表着一般的个人网站,使用可能较为频繁,如V2EX。网站在注册时只要用户名、密码、邮箱这些信息;“A+”则代表比较重要的个人网站,比如优设网旗下的优优网、我们自己的个人网站。
2. AA级
它指的是涉及个人信息较多的企业网站。根据过往有无严重的安全事件发生以及对日常生活的重要程度,可以再细分为AA-、AA、AA+。
“AA-”代表过往曾发生了不可饶恕的安全事件,而且可替代性较强,在日常生活中放弃使用也不会有很大影响,如全球最大中IT社区CSDN;“AA”代表安全事件较少且可替代性一般,如百度;“AA+”则代表安全事件很少且基本上没有替代品,重要程度较高,如腾讯的QQ。
3. AAA级
它指的是涉及到网络使用较多的核心网站。例如常用的电子邮件、手机号、网银、网上支付、域名管理等,这类网站如果被黑客攻破,则会直接或间接地引起个人财产损失。
电子邮件可以划分到“AAA-”;手机号则划分到“AAA”;网银、网上支付和域名管理等,则可以划分到“AAA+”。
17.1.2
常用密码分类
账号有等级分类,自然与账号对应的密码也有强度分类了。
1. 弱强度密码
弱强度密码代表最容易记忆的且默认可以丢失的密码。
弱强度密码示例:
1)使用自己或亲人朋友的生日、学号、英文名、手机号、姓名拼音、身份证号码等(易因个人信息泄露被猜解);
2)与帐号或网站名称相同或仅仅加上几个简单字符(如注册的帐号为ipc,密码设置为ipc123);
3)简单的密码,如:000000、888888、12345678、qwertyui、aaaabbbb、abcd1234、abcdefgh等;
4)长度少于8位的短密码 (和简单密码一样,太容易被暴力破解或字典破解);
5)使用简单的英文单词、纯英文、纯拼音、纯数字、顺序排列的字符、键盘连续排序的字符等。
使用场景:在使用次数较少且与使用者真实身份关联性不强的特殊个人网站使用。
具体原因:这些网站的安全性一般情况下不是很好。有些只是将密码MD5加密一下存储(MD5加密的密码可用相对应的彩虹表破解);有些可能是使用明文来存储密码,热衷于破坏的骇客们很容易从这些网站的数据库中窃取到用户的密码;极端情况下,这些网站有可能会监守自盗。
2. 中强度密码
中等强度的密码,长度在9位至16位之间,密码之中至少包括英文字符大小写和阿拉伯数字,有一定抗穷举能力。中强度和高强度密码的示例将在后面合并在一起进行展示。
使用场景:主要在国内的大型网站如网易、腾讯等使用,但不能在主要的邮箱里使用。一定要绑定手机号码,一方面是为了方便以后找回密码,另外一方面则是目前的政策要求。
具体原因:大型互联网企业的安全性一般来说相对较好,通常被破解的可能性低,基本上不可能使用明文来存储密码。需要注意的是,有些国内的网站(如新浪)既提供微博、又提供邮件系统,如果创建账号时系统默认建立了邮箱,那么建议不要在任何地方使用这些邮箱。如果要使用邮箱,最好先确认该邮箱是否具有支持独立密码登录的功能。不过这其中有一个例外,这就是QQ邮箱,QQ邮箱支持设置独立密码,设置好独立密码以后,用户需要输入QQ密码和邮箱的独立密码这两个密码之后才能使用。所有的网络游戏帐号必须使用独立的随机生成的密码,如果大家喜欢在Steam购买游戏可以无视这一条。
3. 高强度密码
高等强度的密码,长度在17位至32位之间(当然还有更高强度的密码),密码之中必须包括英文字符大小写、阿拉伯数字和特殊符号,不能包含符合弱强度密码定义的字符,有非常强的抗穷举能力。为了兼顾便利性和安全性,这样的密码一般使用开源的本地密码管理工具如KeePass来生成并加密后妥善保存;如果不怕麻烦,可以先使用坐标纸来创建二维或三维的个人自定义密保卡,然后在个人电脑中用txt文件保存相关的账号和对应的密码坐标。如果怕密保卡丢失给自己带来麻烦,建议将密保卡扫描成高清图像后用专业的加密保护工具如GiliSoft USB Encryption加密后妥善保管。
使用场景:高强度的密码主要用于邮箱、网银、域名、云服务、第三方支付等与财产直接挂钩的账号。
具体原因:与财产直接挂钩的网站是我们日常生活中最重要最核心的网站,如网银和第三方支付直接与我们的财产安全有关,邮箱则可以用来把我们以前注册过的网站账号的密码重置或是接收验证码,所以这些网站的账号密码必须使用高强度的密码组合,以保证其绝对安全。
17.1.3
密码生成策略
上面我们展示了弱密码,这里我们来展示一些优秀的中高强度密码生成原则:
1.密码长度至少设置为9位或以上,尽量设置为网站允许的最长位数;
2.至少使用英文字符大小写和阿拉伯数字,如果网站允许,请务必加上特殊符号 (特殊符号指()`~!@#$%^&*-+=|{}[]:;’<>,.?/这些符号等);
3.密码没有一眼就能看破的组成规则;
4.常用账号的密码必须是自己能轻易记住,但别人看不穿,觉得是毫无意义的乱码(误认为你记忆力强大);
5.不能有符合弱强度密码的特征。
上面的五点原则已经向我们展示了如何生成一个优秀的密码。譬如“,.IpApc41gSlzpC!”,它既包含了9位以上英文字符大小写、阿拉伯数字加特殊符号,也符合上面说到的中高强度密码生成原则,没有一眼就能看破的明显特征,即使被旁人看到也无大碍,而作为规则制定者的我们却能轻易看懂并能轻松记住!下面我们就来解释一下吧。
我们都知道,如果一项事物没有某种意义,大脑便很难记住它,如果我们想要强行记住,那只能靠大量枯燥无味的重复记忆了。这种方法是很痛苦的,看来我们只有自定义一套个人的密码生成策略库,才能解决这个问题了。
我们日常生活中的账号,大部分在AA级,对应到的密码强度大多应该为中强度。那么,我们应该首先为它们生成一个易于记忆的基础组合密码,然后根据网站的某种特征(英文域名,中文拼音等),为整体的组合密码生成如下的记忆规则:网站英文域名前两字母的大写与小写 + 基础组合密码 + 网站英文域名后两字母的小写与大写(可自定义重新生成,不能完全照抄)。
首先,我们必须为基础组合密码选定某种有意义的规则(可自定义重新生成,不能完全照抄),示例如下:
1.选取自己喜欢的歌名、歌词、一句话的拼音或英文单词的首字母组合:如歌名《Never Had A Dream Come
True》可选取为“nhADct”;“爱评测是一个示例站”,适当变形后可选取为“Apc41gSlz”(可以适当变化大小写或加入谐音相对应的阿拉伯数字、特殊符号);
2.将拼音或英文句子的顺序反转或对称变换,如“GoodJob!变成“!BojDoog”;
3.将数字或符号按一定的规律插入到密码中,如“Apc41gSlz”与“7-5>1”拼凑,每隔两个字母插入变成“7Ap-c451g>Sl1z”;
4.如果大家对五笔输入法很精通,也可以将某个词语的字根进行拼凑;
5.选一个喜欢的特别的单词,然后将手指在键盘上向上/下/左/右移一格。比如基础密码是”different”,按键盘时就变成了“e8rr343h5”;
6.根据自己所学专业譬如数学的某项知识点的规律生成一个基础组合密码;
7.终极大招:将上面的各种规则融会贯通,并继续发挥想象力创造新的规则,找出更加无厘头又适合自己的终极密码规则。
到这里,我们的基础组合密码就明了了,它是“Apc41gSlz”,我们的示例网站ipc.im的域名主体部分是“ipc”,那么根据上面的记忆规则生成的就是“IpApc41gSlzpC”,再加上我们选定的特殊符号将这个生成的密码包起来,就变成了上面的“,.IpApc41gSlzpC!”。
17.1.4
找回密码问题管理
找回密码问题是一个大多数人会忽略的细节,而且有时候厂商也会忽视掉这个细节。
比如下面的几个常见的找回密码问题:
1.你的生日是几月几号?
2.你的姓名是什么?
3.你的出生地是哪里?
4.你的手机号码是多少?
像这种类型的问题,基本上都属于没有动脑袋仔细想的问题。因为这些信息在网上早已不是秘密,大数据时代个人隐私不复存在,尤其是当前这个利欲熏心的时代。如果只提供这些白痴问题而且不能自定义修改,那就是愚蠢至极了。
如果我们的找回密码问题是属于这种类型的问题,那么骇客通过一些毫无技术含量的社会工程学技巧,就能轻易地重置我们的账号密码。
所以,找回密码问题应该设置为一个只有我们自己知道答案的问题,并且自己永远不会告诉他人、别人通过正常方法也很难知道。例如,“你中学时候暗恋的人叫什么?”、“你初三时的同桌叫什么?”、“你小学时最好的朋友叫什么?”、“你第一个初恋情人叫什么?”等等,这些问题通常别人很难猜到,这样的问题才能作为一个好的找回密码问题。
17.2 管理工具
17.2.1
邮箱分类
这里的邮箱主要指的是个人邮箱,一般来说,大部分情况下两个邮箱基本上绰绰有余了,剩下的多余的邮箱,该关闭的就关闭,实在没法删除账号的话,就清除与这个邮箱有关的内容。
邮箱分为两种类型,常用邮箱和密保邮箱,除安全管理外的邮箱使用常用邮箱即可。
目前来说,使用Gmail邮箱是最好的选择。因为只有它才支持手机动态密码验证,就算密码被盗骇客也无法入侵,除非手机也同时被偷。不过由于政策原因,目前国内无法使用Gmail邮箱,我们只好退而求其次,使用QQ邮箱并开启独立密码。QQ邮箱有一个比较人性化的设计,就是除QQ号邮箱外,我们还可以给这个邮箱添加别名如ipc@qq.com、ipc@vip.qq.com、ipc@foxmail.com,使之看起来变成四个邮箱。其实本质上还是初始邮箱,只不过这样使用会大大方便我们管理各种网络账号。开启别名以后,我们可以弃用原先的会导致信息泄露的QQ号邮箱。综上所述,我们认为常用邮箱应该使用QQ别名邮箱,而安全邮箱则使用Gmail邮箱。
17.2.2
手机号分类
同上面的邮箱分类一样,手机号应该大致分为常用手机号、商务手机号和网络手机号。
常用手机号则用来办理与财产关系比较紧密的事物,如银行、税务和工商等,当然平时大多数的时间里则是用来与家人联系;商务手机号,顾名思义是用来进行商务活动的,比如一场商务会议上与人交换名片,上面的就应该印刷这个手机号。这个手机号一定不能注册各种账号,要保证关系链纯净;而网络手机号,则是专门用来进行上网活动时,抵挡各种广告推销使用的。比如我们在淘宝购物时,可以在收货电话中填写专门的小号,这个小号在阿里小号里有卖,现在(2017年)只要20块一年。是的,大家没有看错,只要花个盒饭钱,一年广告无踪影。
17.2.3
动态验证码
现在动态验证码大致分为三类,邮箱动态验证码、短信动态验证码和软件动态验证码。还有一个比较特殊的存在,那就是硬件动态验证码,不过大多数人基本只在金融领域见过。
邮箱动态验证码相对少见,我们就不多言了,其安全性依赖邮箱服务提供者和使用者本身;比较多见的是短信动态验证码,目前来说安全性还行,只不过前提是手机号不被盗用或者没有换号;如图17-1和图17-2所示,最安全的要属以Google Authenticator和Lastpass Authenticator等为代表的软件动态验证码,因为它们都是无需联网就能使用的。不过有时候它们也有一些缺点,一旦手机丢失就会非常麻烦。与之类似的还有Authy等手机应用,只不过它是联网应用。上面我们介绍的都是通用的,下面的这些应用则是专用的,一般都是所属厂商自行开发的,如图17-3所示,。如果网络账号的服务商提供了软件动态验证码的安全服务,请一定要使用。
图17-1 最常用的Google Authenticator
图17-2 App Store里的身份验证器
图17-3 各个软件厂商自主开发的专用身份验证器
17.2.4
第三方密码管理工具
我们可以使用开源免费的本地密码管理工具如KeePass来保管我们重要账号的密码。
为什么我们要使用离线的本地工具,而不是使用那些方便易用的在线工具呢?这是因为目前这些第三方的在线密码管理工具,已经被一些骇客们盯上了;而且,我们把密码保管在自己的手中,总比交给不知底细的第三方好。更重要的是,安全比方便更加重要,为了安全牺牲一点易用性,是完全可以接受的。
废话不多说,我们接下来进行演示,简单介绍一下如何使用我们所推荐的本地密码管理工具KeePass。
首先,我们登陆KeePass官网的下载页面,下载Windows版本的安装包,下载页面的网址为http://keepass.info/download.html。如图17-4所示,我们会看到两个版本的安装包,左边的为经典版,右边的为专业版;两个版本的安装包下面分别还有免安装使用的便携版。我们这里选择下载专业版,安装在合适的位置。在页面下方,还有其他人开发的第三方客户端,里面包含了Android、iOS和其他一些小众的系统。
图17-4 KeePass官网的软件下载页面
安装好后打开KeePass,我们会发现界面默认是英文的,在使用上不是非常方便。如图17-5所示,我们登陆到KeePass的语言包页面,去下载志愿者们翻译的简体中文语言包,语言包页面的网址为http://keepass.info/translations.html。下载好语言包压缩包后,如图17-6所示,我们把里面的中文汉化文件提取出来,复制粘贴到KeePass的软件安装目录里,然后我们重新打开软件,KeePass会自动切换成中文界面(2.37版本以下,包含2.37版本)。如图17-7所示,在正式使用以前,我们先在文档库中创建一个名为“KeePass”的文件,方便我们以后存放KeePass的数据库文件和KeePass的本机加密密钥。
图17-5 KeePass官网的语言包下载页面
图17-6 将中文汉化文件复制粘贴到KeePass的软件安装目录中
图17-7 文档库中的专属文件夹
我们双击打开KeePass,打开菜单栏里的“工具”下的“选项”,出现如图17-8所示界面。我们可以在这里预先调整设置,使之符合个人使用习惯。比如,我们若不想打开一次软件的主界面就输一次安全密码,则如图17-8所示,把“最小化主窗口至任务栏时锁定”和“最小化主窗口至托盘时锁定”这两项选项取消勾选。如果想对
KeePass 有更个性化的使用需求,可以在设置里慢慢摸索尝试。
图17-8 “工具”菜单下的“选项”界面
首先,我们点击菜单栏中“文件”下的“新建”选项,将默认的保存文件夹选为我们刚才创建的文档库中的KeePass文件夹,创建一个名为“iPC”的数据库文件。然后我们打开这个数据库文件,出现如图17-9所示的设置界面。我们勾选“管理密码”选项,并在后面的输入框中输入该数据库的管理密码,输入完成后确认一次以保证输入正确。输入框后有个小图标,点击之后我们输入的密码会变成明文展示在我们眼前;接下来勾选“密钥文件选项”,然后点击“创建”,将密钥文件保存在文档库中的KeePass文件夹;最后还有一个“Windows
用户账号”的选项,我们可以根据软件提示和个人习惯,选择是否勾选。一般情况下,我们默认勾选。不过,为了保险起见,我们还需将这两个重要文件保存在我们的专用U盘里。
图17-9 管理密码创建界面
接下来,如图17-10所示,我们给该数据库设定一个名字;并在数据库描述中写上少许关键词来描述此数据库用途;也可以规定我们以后的新建记录的默认用户名;以及自定义数据库颜色,如果非常重要,我们可以用红色来表示,当然也可以用其他颜色比如黄色来表示。后面还有安全、压缩、回收站、高级这四个调整项,我们可以根据个人需要自行调整。在“安全”中,我们可以调整数据库文件加密算法和密码转换算法;在“压缩”中,我们可以根据需要选择是否压缩数据库;在“回收站”中,我们可以选择是否启用密码的回收站;在“高级”中,我们可以调整以下选项——选择我们喜欢的模板记录组;启用“自动维护记录历史”,选择是否限制每条密码的记录的历史条数和历史大小;启用“管理密码”,选择“建议更改密码”和“强制更改密码”的时间频率等。当然,这四个调整项,我们暂时不管也是可以的。
图17-10 数据库配置界面
最后,我们点击菜单栏“编辑”下的“添加记录”选项或相应的快捷图标,出现如图17-11所示的添加密码记录的界面。在“标题”后的输入框中输入相应网站的名字,并选择合适的图标;在“用户名”中输入我们的登录用户名;接着,我们输入符合我们之前制定的密码规则的密码,然后再输入一次这个密码来确认密码正确无误。我们也可以点击“确认密码”输入框后的图标,使用密码生成器来生成一个符合规则的密码;接下来,我们在“网址”输入框中,输入密码对应的网站域名,并在下方的备注中输入该网站的名字以及其他合适的关键词等;接着,我们选择是否启用密码“失效”周期工具。我们可以在后面的下拉选项中选择一个我们自定义的时间,也可以在后面的图标中选择一个固定的时间周期比如一周、一月或一年等。以上的调整项完成后,基本上就可以选择确认了,其他的可以暂时先不管。
图17-11 添加记录界面
拓展知识:
常用网站及账号密码示例,下面用阿里云作为示例样板:
用户账号:__
用户密码:__
用户邮箱:__
用户手机:__
验证令牌恢复码:__
旗下产品编号及描述:__;__
SSH 服务端口号:__
远程连接密码:__
服务器 root 用户账号:__
服务器 root 用户密码:__
服务器其他用户账号:__
服务器其他用户密码:__
数据库 root 用户账号:__
数据库 root 用户密码:__
网站域名:__
FTP账号用户名:__
FTP账号密码:__
其他数据库名:__
其他数据库用户账号名:__
其他数据库用户账号密码:__
网站超级管理员账号名:__
网站超级管理员账号密码:__