保护 ssh 服务器

保护 ssh 服务器

我有一台运行多种服务的 debian 机器,比如带有 http 和 https 的 apache、jabber 和用于管理的 openssh 服务器。ssh 服务器不在端口 22 上运行。它在端口 62111 之类的地方。我使用 fail2ban 保护 openssh。因此,每当攻击者尝试连接到端口 62111 上的 ssh 时,他都有两次尝试机会,否则会因端口 62111 上的 fail2ban 被禁止两天。

我想在端口 22 上启动一个(假的)SSH 服务器,每当有人尝试连接到该端口时,他就会被禁止全部永远或至少直到我删除 iptables 规则为止,端口都会被 iptables 控制。任何合法的 SSH 连接都不会尝试 ssh 到端口 22,因为每个管理员都知道正确的 SSH 端口。

这个想法是,攻击者会首先尝试攻击端口 22。因此,他甚至没有机会尝试通过 SSH 连接到端口 62111。我不在乎那些破解者是否能看到我的网站。因此,在任何端口(包括 80 和 443)上阻止他们都是可以的。

关于如何做到这一点有什么建议吗?

答案1

我将尝试为这个偏执狂推荐另一种解决方案:)

http://www.portknocking.org/view/

它的工作原理是要求对一系列预先定义的封闭端口进行连接尝试。当收到正确的端口“敲击”​​(连接尝试)序列时,防火墙会打开某些端口以允许连接。

当然只有 ssh 密钥验证。

答案2

不是一个好主意(恕我直言)。

连接到端口 22 并不一定意味着有人正在试图侵入您的服务器。

为了保护您的服务器免受黑客/破解者的侵害,请遵循一些简单的规则(例如)。

  • 明智地使用 fail2ban 等工具
  • 保持你的服务(ssh、http 等)始终保持最新状态
  • 使用强密码(并循环更改)
  • 使用 ssh-keys 进行 sshd 并禁用密码验证

答案3

如果您想在其他端口上运行 sshd 并仍然使用相同的 fail2ban 等 - 我在这里找到了一个非常好的类似手册:http://www.kudos.be/multiple_sshd

将在这里为您重新发布并更改内容:

目标是在两个不同的端口上运行相同的守护进程,并在一个实例上禁用任何类型的身份验证。

  1. 复制配置:

    cd /etc/ssh/sshd_config /etc/ssh/sshd_config-fake

  2. 根据以下说明更改配置:

    更改Port, SyslogFacility,*Authentication字符串(禁用则为假),PidFile

  3. 创建符号链接: ln -s /usr/sbin/sshd /usr/sbin/sshd-fake

  4. 创建初始化脚本: cp /etc/init.d/sshd /etc/init.d/sshd-fake并相应地修改 sshd-fake 文件的内容。

  5. 更改 /etc/sysconfig/sshd-fake:OPTIONS="-f /etc/ssh/sshd_config-fake"

  6. 添加服务chkconfig --add sshd-fake

  7. 创建 pam 配置:cp /etc/pam.d/sshd /etc/pam.d/sshd-fake

  8. 编辑 /etc/pam.d/sshd-fake 并禁止所有内容,或使用其他方法,例如允许文件中列出的用户:http://linux.die.net/man/8/pam_listfile

  9. 重启服务:service sshd restart;service sshd-fake restart;chkconfig sshd-fake on

  10. 相应地配置 fail2ban

答案4

这可能不是最优雅的,但它应该快速且实用:

iptables -I INPUT --m recent --name blocked --rcheck -j DROP
iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --name blocked --set

解释:

在输入链中插入一个防火墙规则(在顶部),检查数据包的源地址当前是否在“阻止”列表中,如果是,则将其丢弃。

在输入链中插入另一条防火墙规则(位于我们刚刚插入的规则之上),将任何连接尝试到端口 22 的源地址添加到“阻止”列表中。

我认为没有必要在端口 22 上实际运行(虚假)服务器或任何监听器。

编辑:看看我的回答,我想补充一点,你可能应该用其他方式来暂停你的屏蔽列表,而不是

“永远,或者至少直到我放弃 iptables 规则”

因为您将获得大量来自动态 IP 地址的点击,这些地址稍后(几小时甚至几分钟内)将被重新分配给合法用户。

看:http://www.netfilter.org/documentation/HOWTO/netfilter-extensions-HOWTO-3.html#ss3.16

相关内容