更改 CSF 国家/地区封锁

问题

你在重启 csf 时看到过这个错误吗?

*ERROR*: Country Code Lookups setting MM_LICENSE_KEY must be set in 
 /etc/csf/csf.conf to continue using the MaxMind databases

最近,为 CSF 提供基于原产国的 IP 查找数据库的公司 MaxMind 决定要求获得免费许可,以便现在能够访问该数据库。 他们必须这样做,这样他们才能符合新的州法律 加利福尼亚州的 CCPA 法案.

最近有几家提供商提供了有关此问题的更多信息 ConfigServer 博客文章 以及在一个解决 MaxMind 的博客文章. 以下是受影响的 GeoLite2 数据库。

  • GeoLite2 国家
  • GeoLite2城市
  • GeoLite2 ASN

修改步骤

  1. 注册一个 MaxMind 帐户. (无需购买)
  2. 在此处设置密码并创建许可证密钥:https://www.maxmind.com/en/accounts/current/license-key
  3. 使用 GeoIP 更新程序 或创建一个 直接下载脚本.
  4. 获得密钥后,/etc/csf/csf.conf 中有一个值需要使用免费许可证密钥进行更新。 进行此更改后,请务必在更改完成后重新启动 CSF。 以下是必须修改的具体值。
# MaxMind License Key:
MM_LICENSE_KEY = “addnewlicensekeyhere”

进行此更改后,请确保在密钥到位后重新启动 CSF。

root@host [~]# csf -r

获取新密钥的步骤

为了获得实施此更改的密钥,我们首先需要在 MaxMind 注册一个帐户。

完成后,我们必须通过电子邮件进行验证,然后登录新的 MaxMind 帐户。

登录新帐户后,您需要浏览到“我的许可证密钥”在左侧菜单的服务标题下。

maxmind.services.arrow.3.6.20

到达那里后,单击“生成新的许可证密钥”按钮链接,然后为密钥命名。

maxmind.generate.license.key.3.6.20

接下来,我们需要点击“” 单选按钮“此密钥将用于 GeoIP 更新吗?“ 选项。

maxmind.generate.confirm.3.6.20

然后,点击“确认”。 然后,您将获得一把钥匙。

maxmind.new.license.key.3.6.20

注意:密钥只会显示一次,因此需要将其复制并保存到安全位置。 如果未保存密钥,则必须生成新密钥。

如果您希望查看、重新生成或删除许可证密钥,该选项位于左侧菜单中的“我的许可证密钥”链接下。 单击它将让我们查看、编辑或删除我们现有的密钥。

maxmind.license.keys.display.3.6.20

如果您想删除您的密钥,只需单击现有密钥右侧的“删除密钥”链接,然后单击确认按钮。

maxmind.remove.license.key.3.6.20

修改 CSF 配置

完成后,我们需要将新的许可证密钥添加到 /etc/csf/csf.conf 文件中

FROM:
# MaxMind License Key:
MM_LICENSE_KEY = “"
TO:
# MaxMind License Key:
MM_LICENSE_KEY = “n3wl153nc3K3y”

最后,我们需要保存文件(如果在 vim 中编辑,使用“:wq”)然后重新启动 CSF。

root@host [~]# csf -r

拒绝国家

CSF 允许您在主 csf.conf 文件中将整个国家列入黑名单或白名单。 这 CC_DENYCC_ALLOW 该文件中的值允许您添加国家/地区代码,以拒绝访问与某个国家/地区关联的任何 IP。 但是,如果您使用此功能,则需要通过 yum 命令安装 IPSET。 如果您选择使用国家代码阻止,请运行以下命令来安装 IPSET。

root@host [~]# yum install ipset

此外,我们还需要在 /etc/csf/csf.conf 文件中修改此值设置。 此选择中的以下行将需要像这样修改。 (此选项将在 csf.conf 文件中的第 404 行或附近)

 378 # This option allows you to use ipset v6+ for the following csf options:

 379 # CC_* and /etc/csf/csf.blocklist, /etc/csf/csf.allow, /etc/csf/csf.deny,

 380 # GLOBAL_DENY, GLOBAL_ALLOW, DYNDNS, GLOBAL_DYNDNS, MESSENGER

 381 #

 382 # ipset will only be used with the above options when listing IPs and CIDRs.

 383 # Advanced Allow Filters and temporary blocks use traditional iptables

 384 #

 385 # Using ipset moves the onus of ip matching against large lists away from

 386 # iptables rules and to a purpose built and optimized database matching

 387 # utility. It also simplifies the switching in of updated lists

 388 #

 389 # To use this option you must have a fully functioning installation of ipset

 390 # installed either via rpm or source from https://ipset.netfilter.org/

 391 # 

 392 # Note: Using ipset has many advantages, some disadvantages are that you will

 393 # no longer see packet and byte counts against IPs and it makes identifying

 394 # blocked/allowed IPs that little bit harder

 395 #

 396 # Note: If you mainly use IP address only entries in csf.deny, you can increase

 397 # the value of DENY_IP_LIMIT significantly if you wish

 398 # 

 399 # Note: It's highly unlikely that ipset will function on Virtuozzo/OpenVZ

 400 # containers even if it has been installed

 401 #

 402 # If you find any problems, please post on forums.configserver.com with full

 403 # details of the issue

 404 LF_IPSET = “0”

MODIFY LINE 404 TO

404 LF_IPSET = “1”

修改此设置还具有减少 CSF 的工作量以及扩展 iptables 的额外好处。 然后,这减少了由于防火墙必须加载来自各个国家/地区的每个 IP 引起的有关服务器负载的可能警告,这大大增加了防火墙的压力。 不使用 IPSET 可能会产生需要数小时才能完成 CSF 重启的不利影响。

以下是官方名单 国家代码 可以添加并用于阻止传入服务器的流量。 如果您计划阻止多个国家/地区,那么查看我们提供的硬件防火墙选项可能符合您的最佳利益。 使用这种类型的设备可以显着减轻服务器上的负载,因为软件防火墙(CSF/IPTables)被硬件防火墙取代。

在 WHM 中修改

要在 WHM 中修改此设置,请按照上述步骤从 MaxMind 获取所需的密钥,然后登录 WHM。 从那里,进入主页»插件»ConfigServer安全和防火墙部分。 从那里,单击 CSF 选项卡并向下滚动并单击“防火墙配置”按钮。

WHM.csf.fw.config.3.6.20

这将打开一个页面,您可以在其中编辑 csf.conf 设置。 接下来,单击页面顶部中间的下拉菜单,然后选择“国家代码列表和设置”部分。

whm.csf.dropdown.menu.3.6.20

从那里向下滚动该部分并找到“MM_LICENsE_KEY”字段并在那里输入您的密钥。

WHM.csf_.MM_.license.key.3.6.20

最后,一直向下滚动到页面末尾,然后单击“更改”按钮。 这将保存新条目并重新启动防火墙。

结论

诚然,此更新调整起来可能有些繁琐,但为了遵守新颁布的隐私法,这是必要的改变,该法仅用于保护和增强我们的整体隐私。 尽管完成这项任务需要做一些工作,但我们相信这是一个可喜的好转。

如果您在进行此更改时遇到任何困难,Liquid Web 支持将全天候 24/7 随时提供帮助。 给我们打电话 800.580.4985,或打开 聊天 或与我们联系,与我们知识渊博的 Linux 管理员或经验丰富的系统工程师交谈以了解更多信息!