问:黑客是如何破解操作系统密码的?我如何在我的企业里防范密码破解行为的发生?
答:黑客(或称为未经授权的用户)有一系列的方式来破解操作系统密码。当然首先要数暴利攻击。在这种情况下,他或她获取了屏幕系统的认证并经过反复的算术实验和错误的洗礼最终得到了密码(记住:未经授权的用户同样需要和密码配合使用的登录名称)。如果系统管理员使用的是容易被猜到的弱密码,又或者系统管理员没有改变默认密码(这包括厂商在安装过程中使用的默认密码),那么这将无疑大大地简化了入侵者的操作。无论你是否相信,有些时候用户的确会将密码写下来(一般会放在他们的键盘下或放在他们桌子的最上层抽屉里)。
有些系统需要接受厂商远程访问以寻求解决方案和实施更新,在这些系统中同样可能会使用默认的或常用的密码。有时,IT员工会和不同权限的用户共享某一密码,或者在不同的系统下使用相同的密码。有时密码会以固定值的形式写死在基础软件中,这有可能会遭到攻击(例如目录同步脚本)。最后,在这样一个经济低迷的时期,在管理员和其他权限的用户(像软件开发者)离职之后,如果密码一直不变的话,他们还是同样能够访问企业内部的系统。这些员工对组织内部的运作有一个很清晰的认识,有可能会加入针对该组织的恶意攻击活动。又或者在某些情况下会将敏感数据(例如客户账户信息)复制下来卖出去或者在将来的欺诈活动中加以利用。
那么应采取怎样的策略来阻止操作系统密码的破解呢?答案集中在安全领域的三个方面:流程、员工和技术。保护系统密码的策略包括:
对于流程来说(例如政策和进程):
-
改变每个新的和现有系统中的所有默认密码。
-
不要让特权用户账户在不同的系统中使用相同的密码。
-
经常改变密码(大多数的组织会在存有敏感数据的系统上设置为每三十天改变一次密码,而发生人事变动的时候也会改变密码)。
-
严格限定管理访问的权限,只将权限授予那些真正需要访问的人。
-
千万不要将系统的密码写下来(任何密码都如此)。
-
不要让软件脚本包含系统级别的账户或密码信息。
对于员工来说:
-
为开发人员创建各自的密码,按照机能给他们分配权限(开发数据库的员工不需要用于定义内容领域的根权限——即使他们会对这一限定产生争执)。
-
根据员工的工作情况维护用户权限。(当某员工加入了某一特定的项目团队,你需要基于其角色来创建新的账户。当他或她的工作发生变更,这些权限将不再需要用到时你需要改变或清除之前为其设置的权限。而如果他或她辞职了,你还需要及时清除所有的权限。)
-
在允许的情况下,将尝试登录认证失败的次数设置为一个特定的值,当超过规定的次数时将自动关闭该账户。
-
如果系统中包含高度敏感的信息并且需要最少的系统访问量,你可以考虑在系统级别的密码中使用多因素或基于硬件的令牌,并在加密和密匙下保护好他们。注意:一些公司需要对所有访问敏感信息的员工设置多因素认证机制。
-
使用生成的密码或短语(例如“Philadelphia Phillies是社团中最好的棒球队”)并且不要局限于字母数字符号。尽可能使用标志来代替用数字组成的八位字符型密码。
-
关闭或断开任何试图访问系统的后门,除非有特殊需要(例如调制解调器、Citrix访问等等)。
-
将敏感系统置于核心业务和通信领域之外,并提供物理隔离(给橱柜、机房、办公司上锁等)。
-
在系统恢复时让所有的备份媒介受到保护并生效。(作为系统恢复的一部分,旧的账户会被复原,所以需要确保旧的数据中没有包含旧的认证信息。如果真的出现旧的认证信息,你需要对其做及时地更改或删除操作。)
【编辑推荐】