如何保护Nginx免受恶意机器人攻击
创始人
2024-09-27 06:01:42
0

  服务器的保护措施非常重要,有几种方法可以保护您的网站和应用程序免受恶意机器人攻击。香港独服 / 高防租用服务商 “”
将为您分享不同机器人及其运行方式,以及如何保护 Nginx 免受恶意机器人攻击。

  一、恶意机器人类型

  网络上普遍存在扫描 Git(Scanbots)API
密钥的机器人和下载网页的机器人。但更糟糕的是黑客使用僵尸程序劫持计算机形成僵尸网络,进而发送无数的垃圾邮件(Spambots)。

  垃圾邮件的机器人

  Spambots 是一种特殊的程序,可以在互联网上搜索论坛、讨论区、评论和网站发布的电子邮件地址。他们通常会查找 “mailto”
表达式(用于在线显示邮件 ID 的 HTML),例如:

  除 mailto 之外,某些方式让 Spambots
难以抓取邮件地址。例如,有些人喜欢使用这种格式:“support[at]henghost[dot].com” 来代替
“support@”。但是,垃圾邮件程序只需花费额外的时间和精力,就可以识别这些不同的格式并发送垃圾邮件。

  劫持计算机的机器人

  恶意僵尸网络是被劫持的计算机网络,黑客通过恶意软件控制这些恶意软件执行 DDOS
攻击。让我们看看攻击者如何使用僵尸网络劫持计算机,研究点击欺诈僵尸网络,通过谷歌搜索程序为其创建者带来利润。例如,Paco Redirector
是一个影响搜索引擎的僵尸网络木马,比如谷歌、必应和百度。

  1. 首先,当用户下载并安装虚假版本的流行软件时,它会感染用户的计算机。

  2. 之后,Paco 更改浏览器的本地注册表的两个条目,以确保在启动时自动启动恶意软件。

  3. 最后,恶意软件执行一个代理配置文件,该文件获取流量并通过攻击者命令和受控服务器发送它。

如何保护Nginx免受恶意机器人攻击

  二、如何保护 Nginx 服务器免受恶意机器人攻击

  由于大多数网站都运行在 Nginx 服务器上,我们需要知道如何保护 Nginx 免受恶意机器人攻击。我们可以使用邮件扩展和 Fail2ban 来保护在
Nginx 服务器上运行的资源。

  1. 使用 SpamExperts 电子邮件安全扩展

  SpamExperts
专门保护托管环境免受垃圾邮件和病毒等威胁。它附带一个传入过滤器,用于分隔有效电子邮件和未经请求的邮件。还有一个外发过滤器,可防止您的 IP
地址被列入黑名单,因为垃圾邮件可以从您的网络基础架构中的受感染帐户发送。

  2. 使用 DDOS Deflate 接口扩展

  黑客经常使用恶意机器人来自动强制认证。因此,您可以使用 DDOS Deflate Interface,通过阻止超过配置阈值的 IP 地址来缓解
DDOS 攻击。

  3. 使用 Fail2ban 阻止 Internet 机器人

  Fail2ban 是一种防护软件,可以保护像 Nginx 这样的服务器免受机器人攻击。您可以使用以下命令安装 Fail2ban 软件:

apt-get install fail2ban

  Ubuntu 用户可以使用此命令安装 Fail2ban,而 Fedora 和 CentOS 用户可以使用以下命令:

yum install fail2ban

  然后使用以下命令创建 Fail2ban 本地配置文件的第二个副本:

cp /etc/fail2ban/jail.conf/etc/fail2ban/local.conf

  搜索 maxretry 参数并将其设置为 5。 Maxretry 是用于设置主机重试次数限制的参数。如果主机超出此限制,则禁止主机。除了配置文件中的
maxretry 参数外,还有其他参数,如 Ingoreip,用于设置不会被禁止的 IP 地址列表。

  然后执行以下命令在服务器上运行 Fail2ban:

  sudo systemctl enable fail2ban
  sudo systemctl start fail2ban

  然后,你需要继续配置 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+ no user/password was provided for | authentication, client:, server: \\S+, request: "\\S+ \\S+ HTTP/\\d+\\.\\d+", 
host: "\\S+"\\s*$

  保存并关闭 nginx-auth.conf。您现在可以使用以下命令激活您的 nginx jail: 

sudo service fail2ban restart

  这些解决方案可能不是阻止僵尸程序攻击您的 Nginx
服务器的仅有方法。但是,您可以依靠这些方法来避免恶意机器人的负面影响。如果您需要有关机器人攻击的进一步帮助,请联系 henghost
专家。

相关内容

热门资讯

东南亚地区主要人种分布概述 东南亚地区的人种构成复杂,主要包括以下几个主要族群:1. **马来人**:这是东南亚分布最广的一个族...
甲烷(CH4)中碳元素化合价的... 在CH4(甲烷)分子中,碳原子(C)的化合价为-4。解释如下:- CH4中,碳原子与4个氢原子形成共...
电子式表达氯化氢分子的形成过程... 氯化氢(HCl)的形成可以通过氯气(Cl₂)和氢气(H₂)之间的反应来描述。这个过程可以用电子式(也...
中共一大产生的中央局成员组成揭... 中国共产党第一次全国代表大会(简称“中共一大”)于1921年在上海召开,会议中选举产生了党的领导机构...
钠与水反应的化学方程式及离子方... 钠(Na)与水(H₂O)反应是一个非常激烈的过程,会生成氢气(H₂)和氢氧化钠(NaOH)。这个反应...
我国实施对外开放政策的战略意义... 实行对外开放是我国的一项基本国策。这意味着中国在坚持独立自主、自力更生的基础上,积极主动地与世界各国...
将钱存入银行的术语叫做“存款”... 存入银行的钱通常被称为存款。根据不同的条件和特性,存款可以分为多种类型,例如活期存款、定期存款等。
问界 M7、M9 提前改款上市... 消息称问界 M7、M9 提前改款上市,这显示出华为在智能汽车领域的积极动作。提前改款可能意味着对产品...
卯时为清晨5点至7点:古代时辰... 在中国古代的时间划分中,一天被分为十二个时辰,每个时辰相当于现在的两小时。卯时指的是清晨的时候,具体...
不同分子的极性分析:HF、H2... 在HF(氟化氢)、H2O(水)、NH3(氨)、CS2(二硫化碳)、CH4(甲烷)、N2(氮气)这些分...