问题
你在重启 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
修改步骤
- 注册一个 MaxMind 帐户. (无需购买)
- 在此处设置密码并创建许可证密钥:https://www.maxmind.com/en/accounts/current/license-key
- 使用 GeoIP 更新程序 或创建一个 直接下载脚本.
- 获得密钥后,/etc/csf/csf.conf 中有一个值需要使用免费许可证密钥进行更新。 进行此更改后,请务必在更改完成后重新启动 CSF。 以下是必须修改的具体值。
# MaxMind License Key:
MM_LICENSE_KEY = “addnewlicensekeyhere”
进行此更改后,请确保在密钥到位后重新启动 CSF。
root@host [~]# csf -r
获取新密钥的步骤
为了获得实施此更改的密钥,我们首先需要在 MaxMind 注册一个帐户。
完成后,我们必须通过电子邮件进行验证,然后登录新的 MaxMind 帐户。
登录新帐户后,您需要浏览到“我的许可证密钥”在左侧菜单的服务标题下。

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

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

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

注意:密钥只会显示一次,因此需要将其复制并保存到安全位置。 如果未保存密钥,则必须生成新密钥。
如果您希望查看、重新生成或删除许可证密钥,该选项位于左侧菜单中的“我的许可证密钥”链接下。 单击它将让我们查看、编辑或删除我们现有的密钥。

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

修改 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_DENY 和 CC_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 选项卡并向下滚动并单击“防火墙配置”按钮。

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

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

最后,一直向下滚动到页面末尾,然后单击“更改”按钮。 这将保存新条目并重新启动防火墙。
结论
诚然,此更新调整起来可能有些繁琐,但为了遵守新颁布的隐私法,这是必要的改变,该法仅用于保护和增强我们的整体隐私。 尽管完成这项任务需要做一些工作,但我们相信这是一个可喜的好转。
如果您在进行此更改时遇到任何困难,Liquid Web 支持将全天候 24/7 随时提供帮助。 给我们打电话 800.580.4985,或打开 聊天 或与我们联系,与我们知识渊博的 Linux 管理员或经验丰富的系统工程师交谈以了解更多信息!