IPTABLES,如何限制只有特定用户才能从特定子网访问?

IPTABLES,如何限制只有特定用户才能从特定子网访问?

我需要确保特定用户只能从特定的 ips 访问我的服务器,例如:remoteadmin 用户,只能从 IP 范围 192.168.50 访问。 *,192.168.80。 *

是否也可以指定仅访问某些端口?

谢谢

答案1

当 TCP 连接尝试进入时,您通常只知道标准 TCP/IP 四元组:源 IP、目标 IP、源端口和目标端口。源端口通常是在源主机上动态分配的,并且通常不是任何可靠的指示符。

您不确定连接的用户可能是谁:要查明这一点,您必须首先接受连接并执行身份验证过程,这通常需要一定量的双向通信。然后,如果用户名可以接受用户提供有效的身份验证凭据,即可授予对系统的访问权限。如果没有,连接将在几次失败的身份验证尝试后被切断。

iptables当然可以限制从某些IP范围到某些端口的访问。但iptables无法知道与传入连接关联的用户名,因为它必须在身份验证过程发生之前做出决定。

任何基于用户名的访问控制决策都必须在处理连接身份验证的实际服务中进行。换句话说,如果传入连接是 SSH 连接,那么第一个能够做出基于用户名的访问决策的将是sshd守护程序。如果sshd配置为使用 PAM,则 PAM 规则也可能可用; ifsshd被编译为使用该libwrap库,那么/etc/hosts.allow和/或/etc/hosts.deny也可能有用。

相关内容