隐藏密码作为Linux产品的既定事实标准已经有好多年了,md5密码的使用亦是如此。但是,使用传统的隐藏密码方法也有不足之处,甚至md5也不像以前那么安全了。
隐藏密码文件的一个缺点就是,任意一个需要查询个别隐藏密码(如您的密码)的应用程序也可以看到其他人的隐藏密码,这也就意味着任意一个可以读取隐藏文件的恶意工具都能够获得别人的隐藏密码。
除了隐藏,还有一个叫做tcb的可供选择的办法,它由Openwall Project编写,可以从tcb主页上获取。迁移到tcb虽然需要做一些工作,但是相当直接。因为只有Openwall GNU/*/Linux、ALT Linux、和Annvix 直接支持tcb。要为您选择的流通产品获得tcb支持,您必须重新编辑几个程序,打上补丁。
从tcb站点上,您可以下载tcb程序,并将它和相关的pam_tcb和nss_tcb库一起进行编辑。您还需要打上支持crypt_blowfish的glibc补丁(像SUSE一样的有些产品可能已经可以支持blowfish密码,就不需要再打补丁了)。
也许您还想为shadow-utils组打上补丁;取决于您的产品所采用的shadow-utils的版本,您可以从Openwall CVS为shadow-utils 4.0.4.1或从Annvix SVN储存库为4.0.12获得所需的补丁。像adduser、chage等这样的工具中的Shadow-utils需要被打上补丁,提供tcb支持。在tcb页面上有可以打glibc补丁的最新crypt_blowfish的链接。
一旦这些先决条件都满足了,且tcb编译和安装以后,只需简单地将/etc/pam.d/*文件中的所有调用都替换为pam_unix.so和/或pam_pwdb.so就行了。然后就可以像列表A中那样使用pam_tcb.so了。
列表A
| auth |
required |
pam_env.so |
| auth | required | pam_tcb.so shadow fork nullok prefix=$2a$ count=8 |
| account |
required | pam_tcb.so shadow fork |
| password |
required | pam_passwdqc.so min=disabled,12,8,6,5 max=40 passphrase=3 match=4 similar=deny random=42 enforce=everyone retry=3 |
| password |
required | pam_tcb.so use_authtok shadow write_to=tcb fork nullok prefix=$2a$ count=8 |
| session |
required | pam_limits.so |
| session |
required | pam_tcb.so |
如果您希望继续使用md5密码,而不是blowfish密码,将prefix=$2a$ count=8一条从密码行移除,同时,您还需要修改/etc/nsswitch.conf,让隐藏行改读:
shadow: tcb nisplus nis
passwd程序需要sgid隐藏,而不是suid根,并且/etc/login.defs中要包括USE_TCB yes。这些完成以后,您就可以执行/sbin/tcb_convert程序,将隐藏文件转换成为适当的单一用户文件了,这些文件将储存在/etc/tcb/中。做完这些之后,移除/etc/shadow和/etc/shadow-文件,然后您的系统就可以使用tcb了。
获得tcb支持可能需要花点功夫,但遗憾的是更多的产品没有提供支持,它们既没有本地支持也没有通过插件来支持。使用tcb,连同blowfish密码一起,会为您的Linux产品提供一个安全得多的密码系统。
责任编辑 赵毅 zhaoyi#51cto.com TEL:(010)68476636-8001
|
· 教你使用Anti ARP Snif.. · 网络嗅探教程:使用Sni.. · 时代亿信企业级信息安.. · ISA Server、虚拟机、.. · Windows年底再现图片漏.. · MBSA本地审核策略建议 |
· 企业局域网安全访问控.. · 常见病毒手工清除方法.. · 网络技术经典基础教程 · linux vsftp配置 · 国家网络技术水平考试.. · 系统安全设置终结教程-.. |
|
|||
| · 51CTO主编推荐经典专题 · RAID——磁盘阵列基础 · 充电计划之热门IT认证.. · 51CTO技术自测 挑战自.. · CISSP认证成长之路 · AMD Phenom三核处理器.. · 国际文档格式标准开战 · 2007年互联网大会 |
· 我是黑客我怕谁——讲.. · ARP攻击防范与解决方案 · Solaris 10 配置管理 · Solaris基础知识入门 · RIP路由协议专栏 · MPLS路由协议专栏 · OSPF路由协议专栏 · 思科路由器产品 |
||
|
|||
| · Java基础教程 · VPN技术 · ARP攻击防范与解决方案 · SQL Server 2005全解 · SOA 面向服务架构 · SQL Server 2005全解 · Java编程开发手册 · RAID——磁盘阵列基础 |
· 三层交换技术专题 · SQL Server入门到精通 · Windows Server 2003企.. · Windows远程桌面应用 · C#技术开发指南 · VPN技术 · Solaris 10 配置管理 · C#技术开发指南 |
||
|
|||
| · ARP攻击防范与解决方案 · VPN技术 · SQL Server 2005全解 · Java基础教程 · SQL Server入门到精通 · SQL Server 2005全解 · SOA 面向服务架构 · Java编程开发手册 |
· C#技术开发指南 · 三层交换技术专题 · C#技术开发指南 · Windows远程桌面应用 · RAID——磁盘阵列基础 · Windows Server 2003企.. · 邮件服务器专题 · wimax技术与趋势 |
||
| ·DB2 Viper快速入门 ·DB2 9数据库的镜像分割与.. |
·将XML应用程序从DB2 8.x.. ·DB2 9中的pureXML:如何.. |
| ·服务器中的“傻瓜机”在.. ·盖茨也喜欢登录Youtube看.. |
· · |
| ·拯救系统管理员 ·美国选民:我为什么选布什 |
·VMware公司中文命名挑战赛 ·我们真缺乏创新吗? |
| ·J0ker的CISSP之路:复习-.. ·J0ker的CISSP之路:复习-I.. |
·9月第3周安全回顾 内网安.. ·教你几招识别和防御Web网.. |
| · NGN:下一代网络 · 网络访问中断大排查 · FTTx光纤接入 |
· 教你使用Anti ARP Sniff.. · 网络嗅探教程:使用Snif.. · 常见病毒手工清除方法大.. |
| · C++是垃圾语言?! · 2007年IT界七大抄袭事件 · Java实用开发全集 |
· 解析Ajax开发框架 走进A.. · 基于Google Maps与Ajax.. · 基于Google Maps与Ajax.. |
| · 热门 IT 培训认证官方资.. · Ubuntu 中文开源频道 · Solaris基础知识入门 |
· 费力不讨好 数据中心主.. · AMD Phenom三核处理器解.. · 51CTO主编推荐经典专题 |
| · 甲骨文Oracle 11g正式发.. · Oracle数据库开发之PL/S.. · Oracle数据库开发基础教.. |
· 存储2006,一个并购的大.. · IDC宣布浪潮蝉联存储市.. · 双机热备技术 |