最近,有人又暴Apple的安全隐患问题。
安全隐患
在Mac OS X 10.7.3系统在某些特殊情况下,据有人发现,Mac OS X系统会把用户的用户名连同密码一起记录在系统的安全日志中,而且密码是明码。
日志中的内容类似如下:
DEBUGLOG | -[HomeDirMounter mountNetworkHomeWithURL:attributes:dirPath:username:] | about to call _premountHomedir. url=afp://server.com/Users, userPathComponent = pft, userID = 1-31, name = pft, passwordAsUTF8String = xxxxxxxxxxxxxx
在系统日之中记录用户名和密码是不能被接受的,这是一个严重的安全隐患,特别是在企业环境中,每个用户的信息,都要被保护,这是管理员在最初设计自身系统环境时的考虑,然而OS X系统轻易的就把管理员的精心设计给破坏了,这令人懊恼。
扑朔迷离
这个用户是在几台连接到雪豹10.6的服务器使用Open Directory认证的,目前只有为数不多的系统管理员们确认了这个问题,而绝大多数的其它人在他们所管理的系统上,却没有找到这样的问题。
因为还没有人找到它的出现规律,比如这个问题出现在哪些版本的狮子系统上,在什么情况下出现等等的条件,系统会记录用户密码。就目前所知,只有在于LDAP服务器通讯,获取访问服务器共享资源的时候,可能会出现。目前出现问题的经过确认,已经有3个案例。管理员们,正在排查原因,同时他们都确认了下面两个方面没有问题:
1. 没有改动系统authorization文件
2. 使用默认的调试选项,也就是只在系统日志中记录错误信息
不过,他们似乎都有实施用户级别的login脚本,以方便实施各自的系统管理和用户配置。另外,一个管理员已经确认,出现问题的Lion版本的build版本是11D50b和11D50。
基于没有找到任何的规律性的现实,这个问题到底是系统本身的问题,还是其它什么因素导致的,还无法定论,比如说,是不是管理员编写的脚本本身的问题,服务器设置导致,客户端配置问题,甚至有可能被病毒感染等等各种可能都有。
其它案例
其实还有另外一个案例,也是系统记录用户名和密码在安全日志中。在狮子系统中,用户打开一个旧版本FileVault时 (通常称作 FileVault 1,因为在狮子系统中,FileVault被升级了,人们俗称之为FileVault 2),通过系统认证后,在安全日志中会记录用户名和密码。那么这个为了安全考虑的加密的文件,还有什么安全可言呢?
下面是该日志的内容例子:
Apr 11 19:39:35 hostname authorizationhost[1240]: DEBUGLOG | -[HomeDirMounter mountEncryptedHomeWithURL:attributes:dirPath:username:] | about to call DIHLFVMount. urlAttribute = /Users/.username/username.sparsebundle, password = password-here-in-plain-text, mountPointParent = /Users, homeDirPath going to the DIHLFVMount call = /Users/username
临时修补
临时的解决方法,
可以不让系统记录任何的安全日志,比如:
f=/var/log/secure.log && sudo rm $f && sudo ln -s /dev/null $f
或者定时删除所有的所有的安全记录
或者删除已知的记录密码的记录