linux hosts.allow(linux hosts.deny使用)

通常我们会对提供对外服务的服务器进行远程ssh限制。这就涉及到了hosts.allow、hosts.deny两个文件。

hosts.allow、hosts.deny两个文件是控制远程访问设置的,通过它可以允许或者拒绝某个ip或者ip段的用户访问linux的某项服务。它们的配置也十分简单

more /etc/hosts.allow
sshd:192.168.x.x
sshd:192.12.31.2
more /etc/hosts.deny
sshd:all
  • sshd:192.168.x.x:允许192.168网段访通过ssh远程访问
  • sshd:192.12.31.2:允许192.12.31.2通过ssh远程访问
  • sshd:all拒绝所有ssh远程访问
  • 当hosts.allow和 host.deny相冲突时,以hosts.allow设置为准

当然hosts.allow及hosts.deny的配置还远远不止这些,比如可以配置all:172.31.174.3

表示接受所有来自于172.31.174.3的请求

在修改hosts.allow及hosts.deny的配置后保存,可能会发现刚才修改的配置并没有生效,其他IP依旧可以登录。不要纠结,这可能跟你的tcp_Wrappers防火墙有关。

仔细阅读hosts.allow及hosts.deny的注释信息,你会发现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

yum -y remove openssh
yum -y install openssh openssh-server

安装完成后再次查看是否应用了libwrapped库文件,后显示表示应用。

ldd /usr/sbin/sshd |grep libwrap.so.0
 libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f3fb7f09000)

重新测试ssh登录,发现配置生效

linux hosts.allow(linux hosts.deny使用)

版权声明:本文内容由互联网用户投稿发布,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2211788188@qq.com 举报,一经查实,本站将立刻删除。如需转载请注明出处:https://www.wptmall.com/a/article/28964

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注