创建有效密码

转载 2004年09月09日 10:40:00
创建有效密码
英文原文
内容:
密码基础
低效密码
如何创建好的密码
创建有效的密码方案
结束语
参考资料
关于作者
对本文的评价
更多内容:
所有文章
教学
基于计算机系统的策略

Rob Shimonskirshimonski@rsnetworks.net
首席网络和安全性工程师
2002 年 9 月

密码。这种烦人的家伙,目前似乎每个人都有 5 到 10 个,而几年之前,大多数人可能都只有一或两个。今天,一下子拥有多达 10 个密码已经是寻常事了,而管理它们却丝毫不比过去更容易些。本文研究了密码的使用:它为什么成了问题以及您能够对它做什么。本文介绍了一个用于创建安全而易于记忆的密码的简单系统。

密码基础
密码是您的系统和个人信息的第一道防线。这个系统的规模可以是任何大小,从一台计算机到一个住宅报警系统到由数百或数千台计算机组成的企业网络;信息可以是任意类型的,从社会保险号码到私人信件到机密文档。通过与用户名的结合,密码向您提供了一套访问这些系统的凭证。用户名通常是某种形式的“帐户”,创建它是为了让您将它和密码一起使用。

下面是需要保护的信息的列表;其中一些项是针对个人的,而另一些则涉及高度敏感的商业或政府信息:

  • 财务数据
  • 信用卡号
  • 健康信息
  • 私有文档
  • cookie(包含敏感信息)
  • 公司机密
  • 知识产权
  • 设计图
  • 军事数据

密码有着广泛的应用,但为了简单起见,本文只涉及基于计算机的系统。以下是几个应该用密码进行保护的系统示例。

  • 工作站
  • 应用程序:电子邮件、Word、Excel 等。
  • 服务器登录
  • 路由器(其它设备)登录
  • 网站
  • 电子商务站点
  • PDA(个人数字助理)

那么,什么是最重要的呢?唔,让我们这样考虑问题。您在家中和工作地点各有一台工作站。您有银行帐户、电子邮件帐户等。逐一追加。现在假定您从事 IT 领域的工作,可能要记住 50 个或更多密码。如果您必须每个月都更改密码,那会怎么样呢?您不仅要记住一打(或可能是几打)密码,而且还需要更改它们并立即记住新密码。

创建有效密码的最大障碍之一就是懒惰。我们都希望密码好记些,因此设计密码时往往不是非常谨慎或有创造性。因此您必须重视公司关于密码安全性的策略。大多数公司都有适当的策略,强制所有用户每个月都创建新的和唯一的密码。结果是,最终用户只是在他们上一次使用的密码末尾加了一个数字。如果密码是“dog”,那么新密码就变成了“dog1”,最后扩展成了“dog11”。此类密码创建技术是不安全的,当最终用户将其密码写在便条上,并将这个便条放在其键盘下面或正好贴在显示器上时,此类技术是于事无补的。

许多用户认为用其办公桌抽屉来隐藏密码是足够安全的。另一个经常用来存储密码的地方是 PDA,如果 PDA 从不会丢失或被盗这种方法将很好。实际上存在着用于 PDA 的安全性解决方案,如 PDA Secure,它是一种通过加密对您的 PDA 添加保护的程序(请参阅参考资料以获取链接)。但最佳建议是避免在您的 PDA 或象办公桌抽屉这样显眼的位置存储密码。

作为安全性分析员,当我在维护多个平台的完整性时,经常会被问及有关创建有效密码的建议。在接下来的几节中,我希望提供一些有用的想法。

低效密码
要记住的最重要的事情是:您所创建的任何密码对于称为密码窃取或破解的攻击都存在弱点。这就是通过未授权的访问窃用您的凭证。Introduction to password cracking 一文(请参阅参考资料)提供了关于密码破解技术的详细信息。

设计良好密码的第一步是研究在创建密码时应该做什么。首先,避免使用字典字。任何来自字典的字都容易受到攻击,并且,如果您不经常更改它,最终将被破解。用字典字创建密码的主要问题在于,任何密码破解工具最终都能够使用字典攻击猜到它。此外,您别指望将字典字反过来写,或者在字典字后面添加简单的数字值。这些密码破解工具同样也会尝试这些组合。以下是糟糕密码的一些示例:

  • Cracker
  • Cracker1
  • Rekcarc

这些密码都很容易被利用。在创建密码时还要避免其它几个问题:

  • 绝不要将个人信息用作密码的基础。举例来说,如果您是一个 Star Trek 迷,则不要将您所有的密码设置成“Spock”、“Vulcan”甚或“Spock1”。任何了解您的人都可以轻易猜出这些密码。
  • 体育迷切不可将自己的偶像用于密码。我知道有几个管理员将他们喜欢的球队或运动员用作了密码的基础。
  • 不要使用基于您放在办公桌上的物品的密码。我曾经在一位客户的办公桌上看到他女儿的照片,随后通过使用他女儿的名字闯入了他的服务器。
  • 不要将密码文件保存在您的本地机器或共享的网络上。这里仅是通过文件级别访问来进行保护的,而且机器本身可能被泄漏。如果有人对某个文件夹重新设置许可权,并且错误地设置了许可权,那么,该文件夹内的子文件夹的许可权也被重新设置,这会引起泄漏该网络上的所有密码。

如何创建好的密码
以下是创建有效密码的一些通用规则:

  • 保存密码的唯一安全的地方是您的脑袋或上锁的保险箱,只有您知道这个保险箱的开箱密码组合。
  • 有效密码必需相当长,但又不能长到您无法记住它们的程度。三个字符的密码太短了。
  • 以合理的方式使用特殊字符、大写字母和数字。以下是一些示例:
    • 大写字母:如果您有“区分大小写”的功能,则将大写字母和小写字母结合起来使用可以提供一些保护。这样,您可以使用密码“HeyYou”,它与“heyyou”不同。加入大写字母就添加了一层复杂性,使密码更难破解。
    • 特殊字符:使用象“#”或“%”这样的特殊字符也会添加复杂性。采用“money”一词,在它后面添加 #(money#),这样您就拥有了一个相当有效的密码。
    • 数字:使用数字也会增加这个混合体的复杂性。如果您的社会保险号码是 123-45-6789,您可以将最后四位数字和一个容易记忆的单词(譬如“money”)一起使用,产生出您的密码“money6789”。
    • 助记符短语:如果您是电影或歌曲的短语收集者,您可以采用一条精彩的短语并将它制作成密码。假定您是 Star War 迷。您可以采用短语:“May the Force Be With You”,然后使用每个字的第一个字符来创建密码“MTFBWY”。
    • 替换:您可以用数字或符号替换字。如果您知道“$”符号相当于“money”一词,那么,您可以将它结合进密码方案中,如“Ilove$”。这是一个容易记忆而又难以破解的密码。

接下来,我们将处理创建用于多个系统的有效密码方案的问题。

创建有效的密码方案
在本节中,我们研究用于个人、基于家用的机器、与工作相关的系统和网络的密码方案,以及专门用于不使用基于 CiscoSecure 的 Tacacs+ 的 Cisco 路由器和交换机的密码方案。CiscoSecure 是一种产品,它不使用典型的保存在设备本身的登录密码,而是使用 Tacacs+ 协议允许象 UNIX 服务器这样的外部来源执行路由器和交换机的登录验证。

基于家用的个人 PC
基于家用的个人 PC 上的有效密码方案是使用了上述理论的组合。您会希望密码十分容易记忆,因为一旦忘记它,您没有破解密码的技能,进入自己的机器就成了问题。您还需要考虑以下方面:

  • 如果您正在运行 Windows 9X 平台,您不必担心密码,因为密码对于本地机器安全性毫无意义。您的密码是基于概要文件的,如果您按下 Cancel,就可以绕过机器的登录。此外,可以通过重新引导机器来绕过密码保护的屏幕保护程序。
  • 如果您正在运行 Windows NT、2000 或 XP 平台,则需要确保不要忘记您的密码。您需要确保用良好的密码锁定 Administrator 帐户,并确保将密码隐藏好以免您的机器被入侵。但是,如果您忘记了密码,则希望有办法找回它。可通过创建一个保护该密码的新帐户和密码来完成这一点,这样您就有了一扇“后门”。

基于家用的安全性和企业安全性有很大差异,因此其原则是基于个人级别的舒适和偏好。这里有一个易于记忆的家用密码方案:混合使用昵称、大小写字母以及您的社会保障号码的最后四位数字和一个特殊字符。您创建的密码可能类似于:Butch#8976

本例也可以用于网站、银行帐户和其它个人使用的系统。实际上,此类密码是不可能破解的,并且易于牢记。

网络管理员系统
如果您处在任务繁重的网络管理员位置上,那会怎么样呢?唔,那就有点困难了,因为您将负责许多系统的密码。

密码保护遵循与先前相同的规则,只是范围更广了些。您很可能有许多系统需要用密码保护,更有甚者,您甚至根据希望授予用户的访问类型划分密码级别。换言之,您可以将 Cisco 路由器的登录访问分成多种级别,每种级别授予比前一级别更多的特权。

您可以使用本文第一节中所列举的同样的理论(大写、特殊字符等),但需要作一些新的更改。您需要提出一个主题,而不是采用一个易于牢记的好名称或单字。注:切勿使用我的示例。它在先前已经用过了。

我一直喜爱的一部影片是“Reservoir Dogs”。在这部影片中,所有的坏家伙都是根据颜色命名的:Black 先生、White 先生和 Pink 先生。这个主题可以结合到用于您的网络服务器的密码方案中。以下是它可能的几种情况:

服务器名 服务器类型 密码
MNN-DC-1 域控制器 Pink$DC1
MNN-DC-2 域控制器 White$DC2
MNN-DNS-1 DNS 服务器 Black$DNS1
MNN-DNS-2 DNS 服务器 Red$DNS2
MNN-DHCP-1 DHCP 服务器 Green$DHCP1
MNN-WINS-1 WINS 服务器 Orange$WINS1
MNN-FS-1 文件服务器 Yellow$FS1

请注意每台服务器的密码都包括颜色和一个特殊字符(所有密码都使用了同一特殊字符)以及服务器名的一部分。此外,注意大小写字母的使用。这些密码被破解的可能性极小。这是一种可靠密码方案的示例;它是有效的,并且您不费太多力气就可以记住它。此外,您可以(并且应该)根据自己的需求进行定制。

Cisco 管理员密码方案
下表显示了 Cisco 路由器的有效密码方案。Cisco 路由器需要两种密码级别:初始密码和启用保密密码(enable secret password)。

密码 启用保密
DoNot$ $HackMe
DoNot$ $PingMe
DoNot$ $CrackMe
DoNot$ $SpoofMe

因为 Cisco 路由器接受区分大小写的密码,所以此处您拥有很好的大小写模式、特殊字符和易于牢记的短语。

对于 Cisco,您需要用来登录到路由器的初始密码和用于更安全的访问的二级密码,可以将二级密码配置为启用保密。这个图表向您提供了如何配置这个选项的思想。通过将密码方案与您喜欢的东西(如影片)相关联,您就更有可能记住它(并不是所有与安全性相关的工作都必需成为苦差事!);但更重要的是 — 确保它是安全的。

结束语
密码是必需的,尽管有些不便,但已成为我们生活的一部分。所有系统都需要密码,以拥有易于实现的第一级别的访问安全性。各级 IT 专业人员和用户所面临的问题是,我们如何使用它们以及如何才能不遗忘它们?在本文中,我们演示了如何有效地创建单独的密码和密码方案。密码和密码方案必需难以破解而易于牢记。因为密码难以记忆和理解,人们往往只花很少的精力创建它们,因此会危及自己和他人的安全性。但是,记住这一点很重要:无论密码或密码方案多么有效,总是存在着与密码相关联的一定程度的风险。

参考资料

关于作者
Robert J. Shimonski(Truesecure TICSA、Cisco CCDP、CCNP、Nortel NNCSS、Microsoft MCSE、MCP+I、Novell Master CNE、CIP、CIBS、IWA CWP、Prosoft CIW、SANS GSEC、GCIH, CompTIA Server+、Network+、Inet+、A+、e-Biz+、Symantec SPS 和 NAI Sniffer SCP)是一家居于领先地位的制造商公司的首席网络和安全性工程师。Robert 的特长包括使用 Cisco 和 Nortel 产品系列进行网络基础结构设计、使用 CiscoSecure 和 PIX 防火墙进行网络安全性设计和管理、使用 CiscoWorks、CiscoSecure 和基于 Sniffer 的技术以及 HPOV 进行网络管理和故障排除。Robert 编写了许多关于安全性的文章和出版书籍,包括即将出版的 Syngress Media, Inc. 的 Sniffer Network Optimization and Troubleshooting Handbook。您可以通过
rshimonski@rsnetworks.net 与 Robert 联系。

linux下添加用户和删除用户以及该密码

# useradd –d /usr/sam -m sam   此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的用户主目录所在的父目录)...
  • midsnow
  • midsnow
  • 2013年06月20日 18:04
  • 417

oracle 创建数据库 表空间 用户 授权和toad导入导出数据库

1、创建数据库   简单的方式是使用'Database Configuration Assistant'数据库配置工具根据向导创建   2、创建表空间   在实际使用中需要创建自定义的表...
  • michael1112
  • michael1112
  • 2017年08月08日 16:31
  • 460

mongo 3 用户名跟密码创建

定义: 创建一个数据库新用户用db.createUser()方法,如果用户存在则返回一个用户重复错误。 语法: db.createUser(user, writeConcern)   ...
  • lyj1101066558
  • lyj1101066558
  • 2016年01月29日 13:29
  • 1305

SQL Server 创建账户与用户名及密码

要想成功访问 SQL Server 数据库中的数据,我们需要两个方面的授权:一、获得准许连接 SQL Server 服务器的权利;二、获得访问特定数据库中数据的权利(select, update, d...
  • u012437660
  • u012437660
  • 2013年11月12日 15:15
  • 1320

MySQL 有效的建立索引

0. 引言当数据库中的数据量达到亿级,数十亿级的时候,普通的一条查找语句都可能耗时非常长,解决此问题的一个有效方法是有效的建立索引。1.建立索引的准则 合理的建立索引能够加速数据读取效率,不合理的建立...
  • power0405hf
  • power0405hf
  • 2015年10月18日 22:31
  • 667

Centos 建立一个新用户 详细讲解

转载: http://www.centoscn.com/CentOS/help/2013/0725/597.html 建立一个新用户   修改用户的个人设置 文件目录的权限设置 ...
  • huludan
  • huludan
  • 2016年10月04日 15:28
  • 2373

2013.08.05----ssh创建无密码密钥(ssh连接不用输入密码)

两台服务器:sms01,web01。 背景:web01服务器上有各种处理方式脚本,现在,我需要在sms01服务器上创建一个脚本,来调用web01服务器上的处理方式脚本(完全由脚本来执行这些过程)...
  • Iamhuanhuan
  • Iamhuanhuan
  • 2013年08月05日 17:07
  • 1001

win server 2008 创建用户时密码不满足策略要求

解决方法:1.开始按钮–>管理者工具–>组策略管理 2.林–>域–>你自定义的域名–>策略组对象–>右键编辑 Default Domain Policy 3.计算机配置–>策略–>Window...
  • qq_37533911
  • qq_37533911
  • 2017年12月12日 11:39
  • 232

mysql 创建用户与授权、修改密码

默认root初始密码为空,可以直接使用mysql命令,回车进入。。。。 创建一个MySQL用户 使用如下命令创建一个用户名和密码分别为"myuser"和"mypassword"的用户。 mysq...
  • yansong_8686
  • yansong_8686
  • 2016年02月14日 22:34
  • 492

Shell脚本批量创建用户并随机生成密码

要求:批量创建10个系统账号oldboy01-oldboy10,并设置生成密码(密码不同). 实现脚本: #!/bin/bash #Question3 ...
  • chengxuyuanyonghu
  • chengxuyuanyonghu
  • 2014年08月19日 20:21
  • 1474
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:创建有效密码
举报原因:
原因补充:

(最多只允许输入30个字)