服务器的保护措施非常重要,有几种方法可以保护您的网站和利用程序免受歹意机器人攻击。香港独服 / 高防租用公司 “桂哥网络” 将为您分享区分机器人及其运行方式,和如何保护 Nginx 免受歹意机器人攻击。
一、歹意机器人类型
网络上普遍存在扫描 Git(Scanbots)API 密钥的机器人和下载网页的机器人。但更糟的是黑客使用僵尸程序劫持计算机构成僵尸网络,进而发送无数的垃圾邮件(Spambots)。
垃圾邮件的机器人
Spambots 是一种特殊的程序,可以在互联网上搜索论坛、讨论区、评论和网站发布的电子邮件地址。他们通常会查找 “mailto” 表达式(用于在线显示邮件 ID 的 HTML),例如:
<ahref="mailto:someone@guigege.cncc=someoneelse@guigege.cn,another@guigege.cn,me@guigege.cn&subject=Web%20News">
除 mailto 以外,某些方式让 Spambots 难以抓取邮件地址。例如,有些人喜欢使用这类格式:“support[at]henghost[dot].com” 来代替 “support@guigege.cn”。但是,垃圾邮件程序只需花费额外的时间和精力,就能够辨认这些区分的格式并发送垃圾邮件。
劫持计算机的机器人
歹意僵尸网络是被劫持的计算机网络,黑客通过歹意软件控制这些歹意软件履行 DDOS 攻击。让我们看看攻击者怎样使用僵尸网络劫持计算机,研究点击讹诈僵尸网络,通过谷歌搜索程序为其创建者带来利润。例如,Paco Redirector 是一个影响搜索引擎的僵尸网络木马,比如谷歌、必应和百度。
1. 首先,当用户下载并安装虚假版本的流行软件时,它会感染用户的计算机。
2. 以后,Paco 更改浏览器的本地注册表的两个条目,以确保在启动时自动启动歹意软件。
3. 最后,歹意软件履行一个代理配置文件,该文件获得流量并通过攻击者命令和受控服务器发送它。
二、如何保护 Nginx 服务器免受歹意机器人攻击
由于大多数网站都运行在 Nginx服务器上,我们需要知道如何保护 Nginx 免受歹意机器人攻击。我们可使用邮件扩大和 Fail2ban 来保护在 Nginx 服务器上运行的资源。
1. 使用 SpamExperts 电子邮件安全扩大
SpamExperts 专门保护托管环境免受垃圾邮件和病毒等要挟。它附带一个传入过滤器,用于分隔有效电子邮件和未经要求的邮件。还有一个外发过滤器,可避免您的 IP 地址被列入黑名单,由于垃圾邮件可以从您的网络基础架构中的受感染帐户发送。
2. 使用 DDOS Deflate 接口扩大
黑客常常使用歹意机器人来自动强迫认证。因此,您可使用 DDOS Deflate Interface,通过禁止超过配置阈值的 IP 地址来减缓 DDOS 攻击。
3. 使用 Fail2ban 禁止 Internet 机器人
Fail2ban 是一种防护软件,可以保护像 Nginx 这样的服务器免受机器人攻击。您可使用以下命令安装 Fail2ban 软件:
apt-getinstallfail2ban
Ubuntu 用户可使用此命令安装 Fail2ban,而 Fedora 和 CentOS 用户可使用以下命令:
yuminstallfail2ban
然后使用以下命令创建 Fail2ban 本地配置文件的第二个副本:
cp/etc/fail2ban/jail.conf/etc/fail2ban/local.conf
搜索 maxretry 参数并将其设置为 5。 Maxretry 是用于设置主机重试次数限制的参数。如果主机超越此限制,则制止主机。除配置文件中的 maxretry 参数外,还有其他参数,如 Ingoreip,用于设置不会被制止的 IP 地址列表。
然后履行以下命令在服务器上运行 Fail2ban:
sudosystemctlenablefail2ban sudosystemctlstartfail2ban
然后,你需要继续配置 Fail2ban 来监控 nginx 服务器日志。
由于这些黑客使用机器人来履行暴力,我们可以通过将以下内容添加到 [nginx-http-auth] 下的 jail.conf 文件中来创建用于登录尝试的特定 jail。
enable=true filter=nginx-auth action=iptables-multiport[name=NoAuthFailures,port="http,https"] logpath=/var/log/nginx*/*error*.log bantime=600 maxretry=6[nginx-login] enabled=true filter=nginx-login action=iptables-multiport[name=NoLoginFailures,port="http,https"] logpath=/var/log/nginx*/*access*.log bantime=600 maxretry=6
最后,您可以通过以下路径为 [nginx-http-auth] 创建过滤器:
cd/etc/fail2ban/filter.d
打开文件 nginx-http-auth.conf 并在 failregex 规范下面添加以下内容。
^\[error\]\d+#\d+:\*\d+nouser/passwordwasprovidedfor|authentication,client:,server:\S+,request:"\S+\S+HTTP/\d+\.\d+", host:"\S+"\s*$
保存并关闭 nginx-auth.conf。您现在可使用以下命令激活您的 nginx jail:
sudoservicefail2banrestart
这些解决方案可能不是禁止僵尸程序攻击您的 Nginx 服务器的唯一方法。但是,您可以依托这些方法来避免歹意机器人的负面影响。如果您需要有关机器人攻击的进一步帮助,请联系 henghost 专家。
TikTok千粉号购买平台:https://tiktokusername.com/
TOP