手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

RHCA培训笔记(333网络安全 – 4)《关于基于网络的身份验证》

[日期:2012-03-15] 来源:yikuyiku.com  作者:陈钢 [字体: ]

NIS

1、NSS(Network Security Services)网络安全服务,包含SSL v2、SSL v3、 TLS、 PKCS#5、 PKCS#7、 PKCS#11、 PKCS#12、 S/MIME、 X.509v3 certificates和其它安全协议;

2、网络登录也和其它的登录服务一样,分为验证和授权两部分。反应为密码和其它的信息(登录shell、UID、GID等)分开存放。一般的实现是用NIS(Network Information Service)存储其它信息(NIS也能存放密码,不过是明文传输的,所以不安全),用kerberos存放密码;

3、上述的“其它信息”除了NIS,还可以选择使用LDAP(Lightweight Directory Access Protocol)、DNS(Hesiod记录);

4、我们通常说的Linux中的RPC其实是指SUN实现的Sun RPC,也叫ONC RPC(Open Network Computing Remote Procedure Call),可以建立在TCP或者UDP上,www.linuxidc.com 传输过程中数据会被编码成XDR(External Data Representation standard)(在RFC 1014中描述)格式;

5、RPC中每个应用程序都有一个自己的Program ID,可以在文件/etc/rpc中找到所有的ID的列表。其中最常用到的两个是NFS和NIS;

6、RPC的一个弱点是它会向其它的机器暴露自己可以提供所有基于RPC的应用的列表;

7、nmap -sR -sU -p 1-65535可以扫描目标机器的所有UDP端口,这会是个非常慢的过程,因为一般的标准Linux系统每秒只允许扫描20个UDP端口;

8、NIS服务器支持一个master,可以支持若干个slave服务器;

9、NIS协议是基于Sun RPC的,所以服务器和客户端都必须运行portmap,而且都必需加入同一个NIS域(其实就是一个预定义的统一的字符串);

10、NIS可以的存储的东西相当于/etc/passwd、/etc/shadow、/etc/group中的内容;

11、NIS协议有1、2、3。NIS3又叫NIS+,在RHEL中只有客户端。服务器端只有版本1、2;

12、NIS虽然使用明文传输,安全性十分低下,但是由于其部署和维护简单,所以在低安全要求的企业环境中还是十分常用;

13、NIS的包名和进程名都是ypserv,同时rpc.yppasswdd和rpc.ypxfrd也是为它服务的。配置文件存在于/var/yp和/etc/yp*;

14、NIS到底不安全在哪?
a> 最大的问题是由于缺乏对客户端的认证机制和消息完整性校验机制,会泄露用户认证的信息,使用中间人的攻击方式伪装成认证服务器也不难;如果认证服务器都被伪装了,那后果的严重性可想而知(比如说更改UID为0取得root,删除已有用户防止正常人登陆,更改密码hash为已知值让自己登录);
b> 其次,www.linuxidc.com默认的配置是所有人都可以把passwd文件dump出来。而passwd采用的md5方式已经被认可为不可逆的,Linux依然使用的原因是假设passwd文件是受到保护的。因此将passwd文件的内容暴露在网上是很不安全的,是可以被反向破解出来的。这里提供一个字典破解法:openssl passwd -table -1 -salt ‘SAMESALT’ – stdin < /usr/share/dict/words | grep 'passwdhash';
c> 最后,即使攻击者不破解密码,dump出来的用户信息也给他进行下一步攻击提供了舞台;

15、NIS的安全怎么做?
a> NIS基于UDP协议,所以不能使用TLS,只能使用IPsec(一组端对端的网络加密协议,在IPv6中是强制的,在IP4zhog是可选的,详见http://zh.wikipedia.org/wiki/IPsec);
b> NIS绝对不能暴露在公网或者无线网络中,要严格限制在私有的可信的网络里。限制的方法可以使用tcpwrapper,或者使用/var/yp/securenets来限制网段;
c> 上述手段这样依然可以被IP伪装攻击绕过,所以在一定程度上要尽量不泄露NIS domain name(前述的那个字符串,有这个服务器才会响应你的请求);
d> 禁用广播的方式去发现NIS Server,而是使用指定NIS的域名或者IP的方式。以防止前述恶意伪造NIS Server的行为;
e> 攻击者可以伪装NIS的响应,用已知的密码hash代替正确的NIS Server响应,这样攻击者就可以登入目标服务器了。要防止这种攻击,就要使用Kerberos(下述)来代替NIS存储密码的那部分功能了(这可以防止攻击者登入目标主机了,但这依然不能防止攻击者获取用户信息);

linux
相关资讯      
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款