我正在设置 LAMP 服务器,需要阻止 SSH/FTP/等。成功的蛮力登录尝试。我已经看到了许多关于 denyhosts 和 fail2ban 的建议,但很少对两者进行比较。我还读到 IPTables 规则可以填充相同的功能。
为什么我会选择其中一种方法而不是另一种方法?serverfault 上的人如何处理这个问题?
我目前使用 root 阻止所有 ssh 登录。但是我想加倍努力并阻止尝试以 root 身份登录的客户端的 IP 地址。我目前有 denyhosts 和 fail2ban 设置和工作,我可以使用 denyhosts 和或 fail2ban 来阻止那些尝试以 root 登录的人的 IP 地址吗?
我刚刚在 Linode 上获得了一个 Ubuntu 实例。为了保护 SSH,我安装了fail2ban
(使用apt-get
),但后来遇到了一个问题:fail2ban
即使我输入了正确的密码,也一直禁止我的 IP(在有限的时间内,谢天谢地)。所以我删除fail2ban
并安装了denyhosts
。同样的问题,但更严重:似乎每次我通过 SSH 登录时,我的 IP 都会被禁止。我从 中删除它/etc/hosts.deny
,重新启动denyhosts
并再次登录,我的 IP 再次被禁止。
我能想到的唯一解释是我一直以 root 身份登录(是的,是的,我知道);也许某处设置了一些东西来阻止任何以 SSH 身份登录的人,即使他们成功登录?这对我来说似乎很奇怪。有任何想法吗?(将我的 IP 列入白名单是一种临时修复。我不想只能从一个 IP 登录。)
我在我的家用电脑上尝试使用拒绝主机,现在它阻止了我的 IP 地址并放入 /etc/hosts.deny。
现在我的 ip 不是静态的,它每周都会改变,所以我在 hosts.allow 中固定了 ip。
我尝试从 /etc/hosts.deny 手动删除该 IP,并在 5 分钟后再次添加该地址。
如何从拒绝主机中手动删除被阻止的 IP 地址
centos
是的,所以如果我只能通过配置适当的 RSA 密钥 SSH 进入我的盒子,那么使用 Denyhosts 进行 SSH 有什么意义吗?还是 Denyhosts 只查看 SSH 的键盘交互/密码登录?
不要误会我的意思,Denyhosts 是绝对的 mac-daddy,但我最近完全关闭了键盘交互登录,并想知道是否值得继续保持 Denyhosts 运行。
(如果你不知道 Denyhosts,它基本上维护 - 并使用 - 一个 IP 黑名单,列出那些不断尝试进入 SSH 但用户名/密码错误等的人。)
为了测试它,我将这四行添加到我的/etc/hosts.deny
文件中:
# /etc/hosts.deny
ssh-agent:ALL
sshd:ALL
Run Code Online (Sandbox Code Playgroud)
我等了一段时间,然后尝试通过 ssh 访问环回 IP 地址。但我仍然得到这个:
$ ssh root@localhost
Password: ?
Run Code Online (Sandbox Code Playgroud)
我可以访问它。我什至尝试添加明确拒绝从 127.0.0.1 访问的条目。
denyhosts ×6
fail2ban ×3
ssh ×3
security ×2
centos ×1
hosts-file ×1
hosts.deny ×1
iptables ×1
mac-osx ×1
rsa ×1
ssh-keys ×1
ubuntu-10.04 ×1