Linux Shadow-Password-HOWTO - 2. 为何shadow你…
2008-02-23 07:20:40来源:互联网 阅读 ()
Shadow Suite现在维护人员 Marek Michalkiewicz
如果你的版本是从 CD-ROM 安装。你可能发现即使目前版本并未有Shadow Suite 安装,但你仍然可以在该片 CD-ROM 找到你需要安装的Shadow Suite。
然而,所有Shadow Suite 3.3.1, 3.3.1-2 版本和 shadow-mk 伴随签入(login)程式和其他suid root程式均有安全上问题,因此不应该使用太久。
所有必要档案均可以透过匿名 FTP 站或网站找到。
在没有安装Shadow Suite的 Linux 系统,包括密码的帐号使用者资讯通常储存在 /etc/passwd 档。储存的密码为 加密(encrypted)格式。 然而,如果你问一个密码专家,他/她将告诉你真正的密码档只是编码(encoded)而不是加密格式,因为当使用 crypt(3) 时,文字档倍设为 null 且密码是键值(key)。 因此,接下来我将在这篇文件中使用 编码。
使用在密码栏位编码的演算法於技术上是使用one way hash function。这是一个在单一方向计算简单但逆向计算非常困难的演算法。关於这正确的演算法可以在 2.4 节或於 crypt(3) 操作手册找到。
当使用者挑选或指定一个密码,系统将随机产生一个值,叫做salt,将密码进行编码。 这表示任何特定的密码可以 4096 中不同方法储存。 salt 值将储存被编码的密码 。
当使用者签入或提供一个密码, salt 首先接收欲储存编码密码。然後这提供密码会和 salt 值一起编码,且比较已经编码密码。如果有 match ,该使用者通过权限检查。
随机编码和复原原始密码是有计算复杂度的(但不是不可能的)。然而,在某些系统很多使用者的密码都设为一般文字(或是一般文字的简单变化)
系统骇客知道这件事,且将简单的加密文字和一般使用4096 salt 值密码之目录。然後他们将比较在资料库之 /etc/passwd 档之编码密码,只要他们找到一个比对,他们可以找到一个帐号之密码。这和dictionary attack有关,且用於未经许可存取系统取得和展开常用的方法之一。
如果你想过一个 8 码的密码编码成 4096 * 13 码的字串,那麽一个用在描述 400,000 一般文字、名字、密码和简单变化的字典将需要 4GB 硬碟存取空间。 骇客需要做的只是分类字串跟检查比对结果。 自从 4GB 硬碟可以以美金 1000.00 以下买到後,对大多数系统骇客的意义可想而知 。
如果骇客首先发现你的 /etc/passwd 档,他们只需要将真正包含在 /etc/passwd 档 salt 值的字典编码,这方法可由拥有486级电脑或几个有几百 MB 硬碟空间的十来岁的小孩适用。
即使没有很大的磁碟空间,像 crack(1) 的工具程式通常可以在足够使用者系统中至少破解一对密码(假设系统使用者倍允许挑选他们想要的密码)。
/etc/passwd 档也包括一些相关资讯,像使用者 ID 和群组 ID所使用的系统程式;因此 /etc/passwd 档 必须 保持全世界可读性. 如果你改变 /etc/passwd 档以致於没有人可以读取,你将发现的第一件事是 ls -l 命令将取代名称而显示使用者 ID 。
Shadow Suite 透过将密码存至另一个档(通常是 /etc/shadow 档)来解决该问题。 /etc/shadow 档对任何人设定可读档,只有 root 权限可以读写 /etc/shadow 档。某些程式(像 xlock)不需要改变密码,只需要确认密码即可。这些程式可以以 suid root 执行或者你可以设定一个群组 shadow 用来唯读 /etc/shadow 档,然後这些程式可以执行 sgid shadow。
透过移动密码至 /etc/shadow 档,我们可以有力的备有骇客从存取编码密码到执行 dictionary attack 的证据。
除此之外, Shadow Suite 新增许多特色:
设定档於设定为签入时预设(/etc/login.defs)
新增、修改和删除使用者帐号群组之工具程式
密码寿命计算及到期日
帐号到期日跟锁死
隐藏群组密码 (可选择的)
两倍长度密码 (16 字元密码) [不建议使用]
针对使用者密码选择有较好的控制
可拨接密码
备用有效权限程式 [不建议使用]
安装 Shadow Suite 贡献为有更安全系统,但是还有其他方法可以改善 Linux 系统的安全,且最终将有一系列的 Linux 安全 HOWTO's 将讨论其他安全基准和相关文件版本.
针对目前其他 Linux 安全文件资讯,请参照网址: Linux Security home page.
2.1 为何您不要 shadow 你的 passwd 档
有一些状况跟设定运用在安装 Shadow Suite 将 不是 好主意: There are a few circumstances and configurations in which installing the Shadow Suite would NOT be a good idea:
主机没有包含使用者帐号。
主机是在 LAN 上跑且使用网路资讯服务(Network Information Services, NIS)得到或供应使用者名称和密给网路上的其他机器使用(事实上这还是可以执行,但是实际上并不能增加任何安全)。
机器是使用终端主机来验证使用者经由 NFS(Network File System), NIS 或某些其他方法。
机器跑其他软体验证使用者且没有任何 shadow 版本或原始码可获得。
2.2 格式化 /etc/passwd 档
一个 non-shadowed /etc/passwd 档格式如下所示:
username:passwd:UID:GID:full_name:directory:shell
其中
username
使用者(签入)名称
passwd
编码密码
UID
使用者编号
GID
预设存组编号
full_name
使用者全名 - 事实上这个栏位称作 GECOS (General Electric Comprehensive Operating System) 栏位且可以储存全名外的资讯。Shadow commands and manual pages refer to this field as the comment field.
directory
使用者根目录 (绝对路径)
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Linux Shadow-Password-HOWTO - 1. 简介 2008-02-23
- Linux Shadow-Password-HOWTO - 4. 编译程式 2008-02-23
- Linux Shadow-Password-HOWTO - 6. upgrade或patc 2008-02-23
- Linux Shadow-Password-HOWTO - 5. 安装 2008-02-23
- Linux Shadow-Password-HOWTO - 7. 将 Shadow Sui 2008-02-23
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash