linux – /etc/hosts.allow中被拒绝的IP地址出现在/etc/csf/csf.deny中?

前端之家收集整理的这篇文章主要介绍了linux – /etc/hosts.allow中被拒绝的IP地址出现在/etc/csf/csf.deny中?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我将我的/etc/hosts.allow文件修改
sshd : 192.168.0.0/255.255.255.0 : allow
sshd : xxx.xxx.xxx.* : allow
sshd : ALL : deny

(其中xxx表示我的实际IP地址编号,通配符*表示完整范围0-255)然后重新启动sshd和Apache Web服务器.随着来自国外的IP地址继续出现在/etc/csf/csf.deny中,我观察了下周.

116.31.116.15 # lfd: (sshd) Failed SSH login from 116.31.116.15 (CN/China/-): 5 in the last 300 secs ...

我的期望是正确的,即hosts.allow文件中的拒绝IP地址甚至不应该出现登录屏幕以尝试登录,因此csf.deny日志中的条目证明我的hosts.allow文件没有做我做的事情想?

或者,我是否被通用错误消息(最近300秒中的5个)误导,因为实际上这些IP地址实际上并未尝试输入用户和密码5次?

我的目标是防止未经批准的IP地址甚至输入用户名和密码.我怎么知道我是否实现了这个目标?

我们应该期望csf.deny文件在其IP实际被拒绝时显示

解决方法

ConfigServer Firewall使用csf.deny,其中列出的IP根本不允许连接到服务器.

如果IP位于csf.deny文件中,则表示它在所有端口上的服务器防火墙中被阻止,并且不会在任何服务上显示任何登录屏幕,因为它永远不会与服务器建立连接.

在过去300秒内,这意味着他们未通过身份验证过程,这使他们在CSF中被列入黑名单.如果只允许SSH密钥,则可能是他们输入了错误的凭据,或者他们根本没有获得登录提示.

将IP放入hosts.allow将允许它连接到您在那里指定的服务,但是他们仍然需要输入正确的凭据才能连接到服务器.

未列为允许的IP应显示以下消息:

ssh_exchange_identification: Connection closed by remote host

我相信,如果他们尝试连接到SSH,这将被视为登录失败,如果他们达到失败的登录限制,他们将最终进入csf.deny.它们将建立与SSH端口的连接,但由于拒绝规则将无法对自身进行身份验证,并且CSF会将其视为登录失败.

对于未列出的IP阻止SSH的更好选择是在CSF中完全阻止它,如本文末尾所述.

除了csf.deny之外,重要的文件也是csf.allow和csf.ignore.

csf.allow将允许从任何源端口上列出的IP到任何目标端口的连接.

csf.ignore将忽略列出的IP中的任何失败操作,它将不会受到登录失败或连接的限制.

您可以使用csf -dr IP从csf.deny中删除IP,并使用csf -a IP在csf.allow中将其列入白名单

如果您想完全阻止非预先批准的IP的SSH,并且希望避免因SSH登录失败而导致csf.deny增长,则可以通过从TCP_IN中删除它来完全阻止SSH端口22(如果尚未更改) csf.config中的行.

在csf.config中更改任何内容后,需要使用csf -r重新启动CSF以重新加载配置文件.

这将阻止所有IP的端口22,但csf.allow中列出的IP除外.

通过从csf.config中的TCP_IN中删除端口22,并将您的IP放在csf.allow中,您将只允许那些IP连接到端口22,任何其他IP都不会显示任何SSH登录,但会收到超时消息尝试连接SSH时.

如果只将IP放在csf.allow中,则允许所有端口使用,但只能使用高级端口ip过滤指定单个端口.

将其放在csf.allow中将允许从IP连接到端口22,即使csf.config中不允许端口22也是如此.

tcp:in:d=22:s=x.x.x.x

猜你在找的Linux相关文章