Hol*_*ust 207
可悲的是,在今天的互联网上,这很正常。有成群的僵尸网络试图登录他们在整个 IP 网络中找到的每台服务器。通常,他们对知名帐户(如 root 或某些应用程序帐户)使用简单的字典攻击。
攻击目标不是通过 Google 或 DNS 条目找到的,但攻击者只是尝试某个子网中的每个 IP 地址(例如,已知的根服务器托管公司)。因此,您的 URL(因此是 DNS 条目)相当模糊并不重要。
这就是为什么如此重要的原因:
此外,您可以安装fail2ban,它会扫描 authlog,如果它从某个 IP 发现一定数量的失败登录尝试,它将继续将该 IP 添加到/etc/hosts.denyiptables/netfilter 以锁定攻击者几分钟。
除了 SSH 攻击之外,扫描您的网络服务器以查找易受攻击的网络应用程序(一些博客应用程序、CMS、phpmyadmin 等)也变得很普遍。因此,请确保使这些内容保持最新并进行安全配置!
Bar*_*Vos 58
几个 100 就好了……上个月我发现我的一台服务器有 40k 次失败的尝试。我经历了绘制它们的麻烦:地图
一旦我更改了 ssh 端口并实施了端口敲门,这个数字就会下降到 0 :-)
0xC*_*22L 29
除了只允许公钥身份验证和禁止 root 登录之外,我还使用了“tarpit”。
其中netfilter有一个recent模块,您可以将其与 ( INPUTchain) 一起使用:
iptables -A INPUT -i if0 -p tcp --dport 22 -m state --state NEW -m recent --set --name tarpit --rsource
iptables -A INPUT -i if0 -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 180 --hitcount 6 --name tarpit --rsource -j DROP
iptables -A INPUT -i if0 -p tcp --dport 22 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
它的作用是,每次尝试连接到端口 22 时,recent模块都会列出带有 IP的模块以及名称为“tarpit”的其他一些东西(如果您很好奇,请查看/proc/net/xt_recent/tarpit)。显然,您可以使用其他名称。
要列出或删除 IP,请使用:
echo "+123.123.123.123" > /proc/net/xt_recent/tarpit
echo "-123.123.123.123" > /proc/net/xt_recent/tarpit
Run Code Online (Sandbox Code Playgroud)
此速率将尝试限制为 300 秒内 5 次。请注意,具有现有连接的用户不会受到该限制的困扰,因为他们已经建立了连接并且可以创建更多连接(甚至超过速率限制)。
根据您的喜好调整规则,但请确保按该顺序添加它们(即添加时按此顺序使用它们,插入时则以相反的顺序使用它们)。
这极大地降低了噪音。与更改端口的感知安全性不同,它还提供了实际的安全性(防止暴力破解)。但是,如果在您的环境中可行,我仍然建议更改端口。它也会大大降低噪音水平......
您仍然可以将它与fail2ban结合使用,尽管没有它并且只有上述规则我一直运行得很好。
编辑:
这样做可以将您自己锁定,因此您可以添加类似以下内容,让您通过敲击特定端口来清除您的禁令:
iptables -A INPUT -i if0 -p tcp --dport <knockport> -m state --state NEW -m recent --name tarpit --remove
Run Code Online (Sandbox Code Playgroud)
jkj*_*jkj 12
是的。这在今天很正常。
如果可能,请仅将公钥身份验证用于管理目的。在您的工作站上生成私钥:
$ ssh-keygen -t dsa
Run Code Online (Sandbox Code Playgroud)
将~/.ssh/id_dsa.pub的内容复制到你的服务器~/.ssh/authorized_keys(和 /root/.ssh/authorized_keys,如果你需要直接 root 登录)。
将您的服务器/etc/ssh/sshd_config 配置为仅接受公钥身份验证:
PubkeyAuthentication yes
PasswordAuthentication no
PermitRootLogin without-password
Run Code Online (Sandbox Code Playgroud)
如果你有太多的服务器,你可以使用Puppet来运行它们的公钥和配置。
查看Denyhosts和fail2ban以阻止重复的 SSH 登录尝试,如果您需要完整的 IDS/IPS ,请查看Snort。
尝试是机械化的,所以数字看起来还可以(是的,与某些站点相比,它们很高,而与其他站点相比则很低)。您应该采取通常必须的步骤: 您每天都将您的站点视为攻击目标,即使您没有检测到攻击;没有检测到攻击,并不意味着它不存在。
小智 6
这很常见,但这并不意味着你不应该打好仗。以下是有关如何使服务器更安全的一些步骤。
您可以通过禁用对与域名关联的任何 IP 地址的 SSH 访问,在共享或托管环境中大大减少此数量。未列出的非域 IP 地址收到的此类流量较少,因此请购买未列出的 IP,并且仅将此 IP 用于 SSH 访问。
如果您所在的环境可以将IPsec /VPN实施到服务器环境中的专用网络,那么这是理想的选择。禁用所有 SSH 互联网访问,确保您有一个集成的熄灯解决方案。设置您的 VPN,并且只允许从您的 VPN 进行 SSH 访问。
如果 VLAN 不是一个选项,请将您的路由器或防火墙规则配置为仅允许来自已知 IP 地址范围的 SSH 连接。
如果您按照这些步骤操作,您将在晚上睡得更轻松,因为您知道有人必须破坏您的托管公司网络才能通过 SSH 访问服务器。
除了使用像fail2ban这样的自动锁定机制之外,您还有一个选择:实际联系攻击者的滥用地址ISP。这似乎完全是徒劳的,但在脚本小子的情况下,他们的 ISP 非常愿意对他们采取行动。
要查找滥用地址,请从arin.net开始并使用 whois 查找 IP 地址。您可能会被重定向到另一个区域注册中心,但最终您可以找到包含该地址的 IP 块的负责 ISP。查找abuse@ 地址或直接向技术联系人发送邮件。
向他们发送带有相关日志文件条目的礼貌消息(确保删除任何私人信息),并要求他们对违规主机采取行动。
| 归档时间: |
|
| 查看次数: |
103503 次 |
| 最近记录: |