如何保护nGINX免受恶意服务器人流量攻击

编辑: admin 分类: 国外服务器 发布时间: 2023-07-08 来源:互联网

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

  一、恶意服务器人种类

  网络上普遍存在扫描 git(scanbots)api 密钥的服务器人和下载网页的服务器人.但更糟糕的是黑客使用僵尸程序劫持数据处理机形成僵尸网络,进而发送无数的垃圾邮件(spambots).

  垃圾邮件的服务器人

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

<ahref="mailto:someone@558idc.comcc=someoneelse@558idc.com,another@558idc.com,me@558idc.com&subject=网站%20news">

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

  劫持数据处理机的服务器人

  恶意僵尸网络是被劫持的数据处理机网络,黑客根据恶意软件控制这些恶意软件执行 ddos 流量攻击.让大家看看流量攻击者如何使用僵尸网络劫持数据处理机,研究点击欺诈僵尸网络,根据谷歌搜索程序为其创建者带来利润.例如,paco redirector 是一个影响搜索引擎的僵尸网络木马,比如谷歌、必应和搜索引擎.

  1. 首先,当客户下载并安装虚假版本的流行软件时,它会感染客户的数据处理机.

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

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

  2、如何保护 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 本地配置文件的第2个副本:

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 服务器的仅有方法.但是,您可以依靠这些方法来避免恶意服务器人的负面影响.如果您需要有关服务器人流量攻击的进一步帮助,请联系 558idc 专家.


更多阅读