问题
您在重新启动 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。
[email protected] [~]# 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。
[email protected] [~]# csf -r
拒绝国家
CSF 允许您在主 csf.conf 文件中将整个国家/地区列入黑名单或白名单。 这 抄送_拒绝 和 抄送_允许 该文件中的值允许您添加国家/地区代码,以拒绝访问与某个国家/地区关联的任何 IP。 但是,如果您正在使用此功能,则需要通过 yum 命令安装 IPSET。 如果您选择使用国家代码阻止,请运行以下命令来安装 IPSET。
[email protected] [~]# 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 管理员或经验丰富的系统工程师交谈以了解更多信息!