结论先行:额度有限时,优先查“能改变你下一步动作”的IP,而不是随机铺量。具体说,先按业务路径把IP分成入口、回源、第三方回调三类,每类各取少量但来源不同的样本;如果这些样本的归属、ASN或地理结果高度一致,再增加同类样本的边际信息很低,应把剩余额度转向另一类。反例是:当你只想确认某个固定合作伙伴的出口是否变化,且该伙伴只从一个机房出网时,跨类抽样反而浪费额度,此时应连续跟踪同一组IP在不同时间的结果。
有信息量的样本,标准不是“看起来陌生”,而是查完之后你会不会改配置、改白名单或改告警阈值。假设你运营一个对外API,日志里出现大量来源IP。可先做一张简单映射:
如果某类IP查完后你既不调整规则也不记录基线,它就只是消耗额度。实际动作可以这样落地:从每类中各选3到5个IP,覆盖不同时间段和不同子路径,先查这一小批。若入口IP的归属集中在同一ASN,而回调IP分散在多个国家,那么下一步应优先扩大回调IP的抽样,因为分散意味着放行规则需要更细,风险也更高。
关键前提发生变化时,抽样方向要跟着变。变化前,系统稳定,IP分布长期一致,这时横向抽样更有用:从不同业务线、不同地域各取少量IP,确认整体画像没有漂移。变化后,例如你切换了CDN、更换了第三方服务商或新增了海外节点,纵向追踪同一组IP更有用:对同一批入口IP和回源IP重复查询,观察归属和ASN是否随切换而改变。
判断依据可以区分得很具体:如果变化后只有回源IP的ASN变了,而入口IP没变,问题多半出在回源链路;如果入口和回源同时变化,才需要重新评估整体访问控制。反过来,若你并没有做任何架构调整,只是发现日志里多了几个陌生IP,就不应立刻按“变化后”处理,而应先确认这些IP是否来自已知的扫描或爬虫行为。没有变化依据时,纵向追踪同一组IP比盲目扩大样本更省额度。
额度有限时,样本的代表性比数量重要。一个可操作的挑选顺序是:
假设你有三个入口:Web、API、管理后台。每个入口各查1个IP后,如果Web和API的IP属于同一ASN,而管理后台属于另一个ASN,那么管理后台就是需要优先加查的对象。此时再查管理后台的2到3个IP,比在Web入口继续加查10个IP更有信息量。这个动作的结果会直接影响下一步:若管理后台的IP也集中在同一ASN,你可以先按ASN做粗粒度限制;若继续分散,才需要逐个IP维护白名单。
反例出现在“单一固定出口”场景。比如某个合作方只通过一个机房的一个出口IP与你通信,且你们已经约定该IP不变。这时跨类抽样没有意义,因为其他类别的IP根本不影响这条链路。正确做法是只查这一个IP,并在不同日期重复查询,确认归属信息是否稳定。若某次查询结果与之前不同,再检查是否是查询数据源更新或该合作方真的更换了出口。注意,单次查询结果变化不能直接证明对方换了线路,也可能是数据源覆盖差异;需要结合对方通知或流量日志一起判断。
另一个失效条件是:你查询的目的只是记录基线,而不是做即时决策。此时“最有信息量”应改为“最能代表长期分布”,应选择在多个正常工作日都出现过的IP,而不是只出现一次的异常IP。异常IP适合单独排查,不适合作为基线样本。
做完第一轮小样本后,根据结果决定额度去向。若同类IP结果一致,剩余额度转投另一类;若同类IP结果分散,先在该类内加查,暂不跨类。每次查询后记录三项:查询时间、IP所属类别、结果是否改变你的规则。连续几次都没有改变规则的类别,可以降低抽样频率。这样做的结果是,额度消耗与配置动作直接挂钩,而不是与IP数量挂钩。具体查询工具的功能、额度和数据覆盖范围可能不同,实际使用前需要以该工具当前说明为准。