- 2022-08-30 发布 |
- 37.5 KB |
- 6页
申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
文档介绍
计算机口令安全
计算机口令安全。。。 相信提到计算机安全很多人都会首先联想到口令安全,确实,很多病毒、木马编写者都乐意把口令猜解功能集成到程序里面,原因很简单,获得了口令的同时也就获得了口令对应帐户的权限,而大多数个人计算机用户都不认为口令安全是一件很重要的事,计算机管理员口令往住为空或是1234什么的,不信你拿"流光"或"X-scan"或"SSS"到internet上扫描下,得到的空口令或弱口令的数量之多想必会让你大吃一惊。或者你拿"LC5"或"saminside"之类的工具去扫一下你的本地计算机,你就会难过地发现你一直以为健壮的口令是多么不甚一击。那么,什么样的口令才算是安全的呢? 还是先让我们来简单了解一下计算机口令的存储和验证过程,假设我们在本地计算机上创建了一个Boy的帐号和一个我们认为安全的密码口令,这时计算机会把Boy的口令通过加密散列算法进行加密并存储在安全帐户管理器sam数据库中,散列是一种把可变长度的二进制输入经过处理后生成固定长度的二进制输出的结果。使用一个优秀的散列算法那么理论上来说两个不同的输入不会产生相同的输出。也就是说相同的输入总是产生唯一的输出。由于加密散列是单向函数,所以该过程是不可逆的,也就是说,加密散列不能被解密。当用户登陆时,用户输入的口令就会被同一加密散列加密,并把结果与sam中存储的散列值进行比较,如果相同,那么表示口令匹配,用户就通过了身份验证。 在2000以后的系统,交互式登陆使用的是"NTLM"(或NTLMv2)身份验证算法。该算法较之2000之前的操作系统使用的LM算法要先进和安全许多。具体表现在,支持128个字符的口令长度,支持使用Unicode字符集,进行口令散列的时候不用像"LM身份验证算法"那样要先分成两段,再分别进行加密。但是为了在局域网内保证与旧版本的操作系统的兼容性,网络身份验证的时候仍然使用LM对98等旧版本操作系统进行身份验证。也就是说sam数据库中同时保存了某一口令的NTLM和LM两种算法的加密散列,这就导致了安全风险,一但我们获得了某一计算机的sam文件,LM算法会帮助我们更快地破解出加密口令。为什么这么说呢?我们来看下LM大概的加密过程就知道了,首先,LM会先将口令一律转换成大写,并分成两个7字符长度的段,如果口令不足14个字符,LM会自动用0对口令进行填充补足14个字符,然后单独加密每个段,来创建LM口令散列。这样生成的口令很容易被破解,因为只需要分别对两个段进行独立的破解,再把结果拼起来我们就获得了完整的口令。对于强力的口令破解工具而言,不用一会的功夫就能把你自认为强健的口令破解出来。。。等下,你刚才不是说通过散列加密的口令是不能被解密的吗?那破解工具是如何破解口令的呢?其实很简单,破解工具压根不会去解密口令,他们对字典穷举或暴力破解算法产生的口令字进行散列加密(算法是公开的),然后逐个与sam数据库里对应的你要破解的帐号口令进行比较,来判断所猜解的口令是否正确...那么看来LM散列看来很危险,有没有办法删除呢?有的,如果我们不想让LM散列保存在我们的sam数据库中,那么你要做以下步骤: 1。开始运行里输入secpol.msc,打开“本地安全策略”管理单元,选择本地策略,选择安全选项,找到“网络安全:不要在下次更改密码时存储LanManager的Hash\n值”条目,把它设为启用。如图: 2。更改想要保护的帐号的密码并重新启动。(这样系统就不会再为新的口令创建LM的散列值并存储了,散列也称哈希) 回到我们最先的话题,什么样的口令才算是安全口令呢? 1。要足够长,越长的口令越难破解,这地球人都知道,我建议大家用短语口令,长度最好14个字符以上。 2。要足够复杂,复杂性要求至少包含:大小写英文字母、数字、特殊符号四类字符中的三类。(这是微软建议的密码复杂策略的其中一条) 3。在口令中使用Unicode字符,NTLM及其后续版本支持Unicode字符,Unicode字符对口令来说是个很好的选择,一般普通的口令破解程序在它们的强力算法中都不包含Unicode。要包含Unicode字符,按住Alt键并使用数字键盘按下三到四个阿拉伯数字。 注意:并不是所有的Unicode字符都能提高安全性。有些只能简单地表示可由键盘输入的字符。具体参见: http://www.microsoft.com/smallbusiness/support/articles/select_sec_passwords.mspx)帐户权限配置。。。 在大多数与安全相关的培训课程和文档中我们经常会见到"最小特权原则"这个词,好,让我们先来了解一下最小特权原则: 最小特权原则规定,所有用户应该使用仅具有完成当前任务所需的绝对最小权限的用户帐户登录。这样做可以对抗其他攻击中的恶意代码。此原则适用于计算机和那些计算机的用户。也就是说应用程序的运行需要多少的权限,我们就授予多少的权限,绝不多给。这个道理很简单,多余的权限只会带来安全隐患,所以在配置用户权限的时候要特别的注意。基于这个原则那我们在加强计算机安全的时候就应该做到合理的分配用户帐户的权利和权限,为共享资源配置访问权限控制,重要的机密文件应该用EFS进行加密保存。。。我们在英特网上流浪,没遇到熟人却经常碰到病毒、木马、恶意程序。。。一不留神就发现机子变慢了,QQ密码被盗了,主页被修改了。。。种种悲惨的遭遇真是让人对"上网"这项不能减肥的活动不禁又爱又恨哦。那好,让我借用盆盆(微软最有价值专家)的一篇"IE最佳安全保护"的文章来给我们的IE加上"金钟罩"。。。 \n 1。首先启用基本帐户类型,操作如下: 1)打开注册表编辑器,定位到以下注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers 2)新建一个名为Levels的DOWRD键值,其数据数值为0x20000。 2。打开“本地安全策略”管理单元(如果第一次设置软件限制策略,请右键单击“软件限制策略”,选择“创建新的策略”菜单项),展开软件限制策略→安全级别,在右侧的详细窗格里可以看到“基本用户”,如图所示: 3。我们在其它规则下,新建一个路径规则,如图所示,指定安全级别为“基本用户”,这样每次运行IE浏览器,都可以运行在更安全的级别。 经过如上配置我们的IE获得的权限就类似于用户组里的User帐户,对系统所能做的操作是很有限的,如通过IE强制安装的流氓插件或"3721"之流将因没有足够的权限被系统拒绝而无法安装。这在很大程度上保证了我们的上网安全。当然,我个人的建议是最好用最小权限的帐户去上网,比如用guest去浏览网页,即使不幸中招,病毒或木马也会因为从该帐户继承到的安全上下文和访问令牌权限过低而无法发作或做更进一步的系统破坏。一句话,没有权限病毒和木马什么也做不了,这也就可以理解为什么病毒和木马程序在破获了某一帐户的口令之后接着要做的就是通过各种方法来提升帐户权限。越少越安全。。。 看过金庸先生武侠小说的朋友应该知道,金庸先生曾在他的小说里对武功的破绽有一段精彩的论述,他说任何武功招术都有破绽,你只要一出招同时你的破绽也就露了出来,所以无招胜有招。对于操作系统情况也是一样的,操作系统要对外界提供各种各样的功能,他提供的功能越多,他的漏洞就越多。假设我们的操作系统什么功能也没有,你怎么攻击它?借用前面最小权限原则的道理,我们不难明白,如果想要系统更安全,不必要的功能一定要关掉,我们需要什么功能就开什么功能,其它的应该通通禁用掉,比如系统服务,比如用户帐户,比如共享资源,比如远程访问等等。下面来说说具体怎么做。 针对个人上网用户,系统服务有必要开的只有下面提到的几个,其它的可以根据情况考虑使用禁用或手动,如果你确定以后绝对不会用到这些功能,那就禁用吧,如果不确定,那设为手动就OK了。COM+EventSystemCryptographicServicesDCOMServerProcess\nLauncherEventLogNetworkConnectionsPlugandPlayProtectedStorageRemoteProcedureCall(RPC)SecurityAccountsManagerShellHardwareDetectionSystemEventNotificationWindowsAudioWindowsManagementInstrumentationWorkstation 服务是和端口对应的,启用了服务它就会打开相应的端口监听,比如server服务,它会使系统监听UDP的137、138和TCP的139、445端口,139和445是访问共享的时候用做数据传输的连接端口,旧版的操作系统使用NetBT(NetBios的TCP/IP实现)监听137、138、139端口,用于共享资源的访问和传输,2000以及后续版本使用一种称为SMB(消息传输模块)的技术来实现资源共享访问,监听445端口。网上流行的关139端口关445端口,还有删默认共享,删IPC$共享(事实上IPC$是没法删的,修改的那个注册表键值实际上是禁用了空连接,变相的把匿名共享管道给堵了)的方法,说句实话,白忙活,你把server服务禁用了,就OK了,当然如果你更狠点把服务给改名了,那退一万步说即使真有黑客入侵进了你的机子,他想重新启用server服务他也得瞎忙上一阵子,而如果他想在你的机子上种点木马啊留个后门什么的,没有server服务他是很难施展开手脚的。 关于帐户安全的建议是停用administrator。先创建一管理员帐户,然后把admin停了,以后的管理维护交给创建的那个管理员帐号。再建一受限帐号,默认是User组的权限,建议一般的日常操作在这个帐户下进行。(记得给每个帐户设置口令,即使被停用administrator,并且密码的设置要符合前面提到的口令安全要求) 另外系统防火墙一定要开,对于新手而言,它可以帮你的计算机挡掉大部分的危险。即使你有硬件层的防火墙,我还是建议你把系统的防火墙功能打开。。。 本地安全策略。。。 你在开始运行里输入secpol.msc就可以打开“本地安全策略”管理单元如图所示: \n 在本地策略下面会有三大管理单元分别是审核,用户权利指派,安全选项。审核的就不说了,有兴趣的自己去研究。个建议把用户权利指派和安全选项下面的每一个条目都认真的看一遍,然后根据自己的要求进行配置,每一条目的具体做用就不说了,自己去查资料,不然三天三夜也讲不完哦。。。这里只简单提几项从网络访问这台计算机:除非你明确希望某用户从网络上访问你的计算机资源,才把该帐户添加进该条目下,否则一律删除掉。。。本地登录:如果你希望某用户只从网络进行访问,那么把它对应的帐户名从这里删除。跳过遍历检查:根据Windows操作系统和许多程序的设计思路,系统认为可以合法访问计算机的任何人都应该具有跳过遍历检查用户权限。因此,从默认具有此用户权限的安全主体列表中删除Everyone组可能导致操作系统不稳定或程序故障。最好保留此设置的默认值。网络访问:允许匿名SID/名称转换——>建议停用,该设置可确定匿名用户是否可以请求另一用户的安全标识号(SID)属性。如果启用了此设置,恶意用户可能会使用已知的管理员SID获得内置管理员帐户的真实名称,即使该帐户已重命名。然后,此人可以使用该帐户名发动密码猜测攻击。网络访问:不允许SAM帐户和共享的匿名枚举——>建议启用。此设置可确定为了能够匿名连接到计算机,需要授予哪些权限。Windows允许匿名用户执行某些活动,例如枚举域安全帐户管理器(SAM)帐户和网络共享的名称。默认情况下,匿名用户具有的访问权限与对特定资源的Everyone组授予的权限相同。停用此设置那么未经授权的用户可以匿名列出帐户名,然后使用这些信息猜测密码或发动社交工程攻击。(社交工程是一个术语,指以欺骗手段使人们泄漏他们的密码或某些形式的安全信息。)网络访问:不允许SAM帐户和共享的匿名枚举——>建议启用,SAM帐户和共享的匿名枚举设置(也称为RestrictAnonymous,启用该设置等效于把RestrictAnonymous设置为1)可确定是否允许对安全帐户管理器(SAM)帐户和共享的匿名枚举。启用该设置会阻止空会话的建立。网络安全:LANManager身份验证级别——>建议配置为仅发送NTLMv2响应/拒绝LM,则客户端只使用NTLMv2身份验证并在服务器支持时使用NTLMv2会话安全。拒绝LM,而只接受NTLM和NTLMv2身份验证。网络访问:让每个人(Everyone)权限应用于匿名用户——>建议停用,该设置在WindowsServer2003中被设置为未定义。默认情况下,WindowsServer2003的Everyone\n组中不包含匿名访问令牌。对于2000和XP来说,停用该设置会获得更好的安全性。帐户:使用空白密码的本地帐户只允许进行控制台登录——>建议启用,这样即使你的administrator的密码为空,对方即使知道你的帐号密码为空,他想通过网络登录也会被该策略阻止。帐户:重命名系统管理员帐户——>建议把administrator重命名,这样做的好处是防止针对某一已知帐户进行密码猜解。软件限制策略,如果你有明确不想运行的程序,那么你可以创建软件限制策略来阻止其运行具体操作方法可参见前面为IE配置权限的设置,你除了可以创建路径规则之外你还可以创建哈希,证书,还有Internet规则,具体的操作与异同请自己查找相关资料,我这里只略带提一下。其它安全设置,这里只提供一下自己认为比较重要的安全设置,开始运行里输入gpedit.msc打开本地组策略管理单元,展开管理模板,系统,可以看到有一项“不要运行指定的windows程序”,这里可以把一些已知的流行病毒名称,比如威金的logo_1.exe其它之类的,添加到该策略的安全列表里。在该策略下面你可以看到有一条“关闭自动播放”,把该策略设为启用,很多病毒都利用了这一功能让病毒随着你双击盘符得到执行。 备份。。。打补丁。。。个人安全意识。。。 无论我们的系统是多么强大多么安全,备份仍旧是必不可少的步骤,对于我们个人用户而言"ghost"就可以应付了。单单就备份恢复技术就够我扯半天的,这里篇幅已经太长,略过。。。 打补丁,微软针对已公布的安防漏洞都会定期的发布一些补丁程序来帮助大家修补系统上的漏洞。从安防漏洞的公布到到微软发布补丁程序再到大家都打上系统补丁,这里会有个时间间隔,在病毒程序被编写出来到利用某个漏洞而大肆传播这个时间,大多数是发生在微软发布补丁到用户普遍打上补丁之间,在病毒大肆传播时微软的补丁其实已经出来的,只是大多数的用户还没来得及部署安装补丁程序。所以如果我们在第一时间把补丁程序打齐,那么感染病毒的机率就会少很多。打补丁的方式有很多种,个人建议通过windowsupdate或360安全卫士的系统修复功能打补丁。定期做补丁漏洞检查。 最后谈下个人的上网安全意识,要注意的就是不要随便去浏览不正规的网站,特别是一些外挂网站、色情网站等一不小心就会中招,还有不要随点击弹出来的窗口,看清楚了再做操作,邮箱的附件或下载下来的软件最好都要做下病毒扫描,对于安全而言再怎么小心也不为过。要养成定期做病毒和木马检查,并对系统做备份的好习惯,保持二到三个备份,你怎么能保证你的备份文件不会损坏呢?是吧。。。结束语:东拉西扯讲了半天,还是很多东西没讲到也没讲全,算了不管了,反正只是定位于个人上网用户的,上面的东西勉强可以应付了。细心的人会发现我通篇没提到半个杀毒工具,事实上我自己的电脑已经半年多没装杀毒软件了,也不知道现在哪些好用哪些不好用,这里推荐两个吧,对于国内用户建议用卡吧或微点。还有个人水平有限,写错表述错理解错牵强附会等等再所难勉,烦请高手指教。。。(本文主要针对XP写的,2000或2003可做参考)查看更多