在系统上保存可信外部 IP 地址列表的位置?

在系统上保存可信外部 IP 地址列表的位置?

我拥有的

我的系统上的许多服务都信任相同的 IP 地址列表。

为了例子,我提到/使用/参考:

  • 192.0.2.43,
  • 198.51.100.2
  • 203.0.113.76

配置时:

  • iptables,
  • fail2ban,
  • nginx,
  • mysql-serverETC。

我做什么

现在我手动配置每个服务以允许来自每个IP的访问

我想要的是

将我的可信 IP 地址的可维护列表保存在单一事实来源放置在系统上的某个位置。

  1. 每次我需要添加/删除 IP 时,我只在该位置进行更改。
  2. 这些更改由我必须编写的 shell 脚本获取,并进一步反映在每个相应的服务配置中。

在我恢复在/etc.

我的考虑

  • 我已经使用 限制 SSH iptables,允许我信任的 IP。从规则中读取 IPiptables可能是一种方法,但它很混乱。

  • 将以下内容添加到/etc/hosts

      192.0.2.43 localtrust
      198.51.100.2 localtrust
      203.0.113.76 localtrust
    

    然后getent使用获取IP

      # getent ahosts localtrust | awk '{ print $1 }' | uniq
      192.0.2.43
      198.51.100.2
      203.0.113.76
    

    for … in轻松浏览该列表。

  • 将 IP 换行符存储在 中/etc/hosts.allow,每行一个 IP。每次我需要它们时,cat /etc/hosts.allow并且for … in

  • hosts.allow手动的提到这个@netgroup概念,并从它的手册听起来我正在寻找什么:

    netgroup 文件定义“netgroups”,它们是(主机、用户、域)元组的集合,用于在执行远程安装、远程登录和远程 shell 时进行权限检查。

    但我的系统上没有/etc/netgroup,当我在互联网上搜索它时,我得到的结果是旧的或不相关的。这是一个已弃用的概念吗?

  • 将以换行符分隔的 IP 存储在我必须引入系统的自定义文件中。然后cat它和for … in

还要别的吗?你会怎么办?

希望这不被认为是基于意见的,因为我要求行业标准/最佳实践。

如果没有和/或我的问题很奇特,那么将 IP 转储到/etc/hosts.allow是最干净的方法,因为我可以看到/etc/hosts在某些系统/操作系统模板上启动时如何可能被覆盖,从而有效地清除我的可信 IP 列表并将我锁定系统的。我从未使用过/etc/hosts.allow或见过它的实际应用,所以我的经验有限。我会后悔搞砸它吗?

相关内容