• 进入"运维那点事"后,希望您第一件事就是阅读“关于”栏目,仔细阅读“关于Ctrl+c问题”,不希望误会!

Linux中Tcp_wraper和Nsswitch

安全管理 彭东稳 9年前 (2015-12-17) 31186次浏览 已收录 0个评论

Tcp_wraper介绍

Tcp_wraperiptables一样也是Linux中的一种访问控制。但是跟iptables是一个框架,工作在内核空间;而Tcp_wraper实际上是一个库文件libwrap.so,工作于用户空间,简易的访问控制。当有某个程序在编译时加上了tcp_wraper的库从而就可以使用tcp_wraper进行访问控制。比如受Tcp_wraper控制的程序如FTP,SSH,Xinetd(包括代理的全部服务)等。

Tcp_wraper控制文件

Tcp_wraper控制顺序,是先检查/etc/hosts.allow,匹配则允许通过;没有匹配到的规则则进入下一条,再检查/etc/hosts.deny黑名单,匹配则拒绝;没有匹配到规则则进入默认规则

,默认规则是允许。

Tcp_wraper控制文件的语法实例

1.查看Tcp_wraper语法帮助

2.SSHD仅允许172.16.0.0/16访问

3.telnet不允许172.16.0.0/16但是允许172.16.16.1访问

4.SSHD仅允许172.16.16.1访问并且把成功访问的和拒绝访问的主机记录到日志

Tcp_wraper

Nsswitch框架

nsswitch名称解析服务框架用来在认证跟存储认证方式之间做转换的,如/bin/login程序不光可以以配置文件的方式提供认证还可以根据MySQLLDAPNIS这些查询速度更快的程序来存储。但是如果直接把这些程序中的某一个当做默认程序编译进/bin/login程序,那么用户再想选择不同的程序存储用户账号时就需要重新编译/bin/login程序;所以Redhat系统就在/bin/loginfileMySQLLDAPNIS这些认证程序之间加了一个服务框架nsswitch(network service switch,网络服务转换又叫名称解析开关)。借助nsswitch可以定义,如找用户UID/etc/passwd,用户密码到/etc/shadow,用户GID/etc/group,域名解析到/etc/hosts,端口解析到/etc/services等等。

Nsswitch有配置文件和各种库文件,当需要更换账号密码的存储方式时只需要更改nsswitch的配置文件,它会根据配置来找对应的库。

配置文件:/etc/nsswitch.conf

库文件如:libnss_file.solibnss_nis.solibnss_ldap.so

Linux登录认证过程

loginàrootànsswitch.conf(passwd:file)à/etc/passwd

#默认情况下,输入用户名后根据名称解析服务nsswitch框架定义的账号存在文件中后就去查找文件匹配用户名。

loginàpasswdànsswitch.conf(shadow:file)à/etc/shadow

#默认情况下,输入密码后根据名称解析服务nsswitch框架定义的密码存在文件中后就去查找文件提取加密后的密码字符串。

#认证本身也可以不用借助名称解析服务去查找用户原来存放的密码,如PAM

passwd àmd5(salt)àcompare

#默认情况下,要对输入的密码先使用PAM框架的md5salt加密并和在文件中提取到密码字符串比较是否一致。

Linux中Tcp_wraper和Nsswitch


如果您觉得本站对你有帮助,那么可以支付宝扫码捐助以帮助本站更好地发展,在此谢过。
喜欢 (0)
[资助本站您就扫码 谢谢]
分享 (0)

您必须 登录 才能发表评论!