Linux服务器通过hosts设置限制ssh访问

一、简介

        Tcpwrappers: Transmission Control Protocol (TCP) Wrappers 为由 inetd 生成的服务提供了增强的安全性。TCP Wrappers 是一种对使用 /etc/inetd.sec 的替换方法。TCP Wrappers 提供防止主机名和主机地址欺骗的保护。欺骗是一种伪装成有效用户或主机以获得对系统进行未经授权的访问的方法。

        TCPWrappers使用访问控制列表(ACL) 来防止欺骗。ACL 是 /etc/hosts.allow 和 /etc/hosts.deny 文件中的系统列表。在配置为验证主机名到 IP 地址映射,以及拒绝使用 IP 源路由的软件包时,TCP Wrappers 提供某些防止 IP 欺骗的保护。

        Tcpwrappers工作原理 :在服务器向外提供的tcp服务商包装一层安全检测机制。外来连接请求首先通过这个安全检测,获得安全认证后才可被系统服务接受。

二、配置方法

方法1:在hosts.allow中配置信任主机规则,然后到hosts.deny中拒绝所有其他主机

hosts.allow 配置文件

# 设置IP网段
sshd:192.168.1.0/255.255.255.0:allow
sshd:192.168.1.*:allow
# 设置具体某个IP地址
sshd:192.168.1.200:allow

hosts.deny 配置文件

sshd:all:deny

方法2:允许所有IP访问,拒绝指定IP不可访问

hosts.allow 配置文件

sshd:all:allow

hosts.deny 配置文件

# 设置IP网段
sshd:192.168.1.0/255.255.255.0:deny
sshd:192.168.1.*:deny
# 设置具体某个IP地址
sshd:192.168.1.200:deny

注意的是hosts.allow许可大于hosts.deny,如果hosts.allow与hosts.deny产生冲突,以hosts.allow为准一般为下面两种:

1)hosts.allow填写允许的IP网段范围,hosts.deny填写sshd:all:deny,这样可以控制只有hosts.allow的网段能ssh登录计算机

2)hosts.allow填写sshd:all:allow,hosts.deny填写拒绝的IP网段范围,这样可以控制hosts.deny的网段能无法ssh登录计算机编辑完上面两个文件后,无需重启任何配置文件,即时生效。

你可能感兴趣的:(服务器,linux,ssh)