Total Pageviews

Sunday, 15 July 2018

hosts.allow、hosts.deny配置不生效的解决方法

通过配置hosts.allow、hosts.deny,控制SSH限制固定IP登陆

按照以往的方法,分别在hosts.allow、hosts.deny加入以下配置
# more /etc/hosts.allow

sshd:192.168.x.x

# more /etc/hosts.deny

sshd:all

保存后,测试,发现配置无效,其他IP还是可以登陆成功。

解决方法如下:
hosts.allow和hosts.deny属于tcp_Wrappers防火墙的配置文件,而用tcp_Wrappers防火墙控制某一服务访问策略的前提是,该服务支持tcp_Wrappers防火墙,即该服务应用了libwrapped库文件。
查看某服务(如ssh)是否应用了libwrapped库文件的方法是:
$ ldd /usr/sbin/sshd |grep libwrap.so.0

没有显示内容,表示此服务器上安装的SSH没有应用libwrapped库文件,也就不能用tcp_Wrappers防火墙控制访问策略。(一般情况下服务器默认安装的SSH都是支持libwrapped库文件,这台服务器不清楚为什么不支持)

最终解决方法是重新安装SSH。

$ yum -y remove openssh

$ yum -y install openssh

$ yum -y install openssh-server

 安装完成后再次查看是否应用了libwrapped库文件,显示支持。
$ ldd /usr/sbin/sshd |grep libwrap.so.0
    libwrap.so.0 => /lib/x86_64-linux-gnu/libwrap.so.0 (0x00007f195feb4000)

  再测试SSH登陆,配置生效。

参考链接:
http://blog.51cto.com/75clouds/1669397

No comments:

Post a Comment