一、背景介绍
在推进数字政府及"互联网+政务服务"建设过程中,政务外网WEB系统承担着面向国内群众、企业提供线上申报、材料提交、审批核验等便民服务的职责。实际运营中,若系统未加地域访问限制,将频繁遭遇境外IP扫描、漏洞探测、暴力破解等恶意行为,不仅增加数据泄露与系统篡改风险,也与政务系统最小安全边界管控原则相悖。依据《网络安全法》《数据安全法》、互联网政务应用管理规定及等保2.0标准,政务互联网业务须实施精细化访问管控,未经审批禁止境外网络接入。
该系统仅服务国内用户、无境外访问场景,我们结合某政务系统的实际防护需求,采用APNIC官方IP库、定时更新脚本配合ipset+iptables,配置境内IP白名单,仅放行国内地址,阻断境外流量,并保留完整审计日志。现将该实操案例整理分享,供有同类需求的单位参考。
二、实施方案
1、选择IP地址库
-
网站名称:APNIC(亚太网络信息中心)每日发布最新分配表;
-
地址:
http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest
2、提取中国IPv4
- 通过Linux下面脚本,自动生成 cn_ip.txt
Bash
#!/bin/bash
下载最新 APNIC 数据
wget -c http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest
提取中国大陆 IPv4(CN=中国大陆,不含港澳台)
cat delegated-apnic-latest \
| awk -F'|' '/CN/ && /ipv4/ {print 4 "/" 32 - log(5)/log(2)}' \
> cn_ip.txt
- 执行完会得到cn_ip.txt,可直接提供给iptables列表。
3、提取中国IPv6
- 通过Linux下面脚本,自动生成 cn_ipv6.txt
Bash
cat delegated-apnic-latest \
| awk -F'|' '/CN/ && /ipv6/ {print 4 "/" 5}' \
> cn_ipv6.txt
- 执行完会得到cn_ipv6.txt,可直接提供给iptables列表。
4、自动更新
- 使用crontab添加定时任务,每天3点自动更新cn_ip.txt\cn_ipv6.txt
Plain Text
0 3 * * * /path/to/gen-cn-allow.sh >> /var/log/apnic_ip_update.log 2>&1
5、通过ipset的方式添加iptables脚本
1. 安装 ipset
yum install -y ipset || apt install -y ipset
2. 创建集合
ipset destroy cn_ip 2>/dev/null
ipset create cn_ip hash:net
3. 导入APNIC生成的 cn_ip.txt
while read ip; do
ipset add cn_ip "$ip"
done < cn_ip.txt
4. iptables 规则
iptables -F INPUT
iptables -A INPUT -s 127.0.0.0/8 -j ACCEPT
iptables -A INPUT -m set --match-set cn_ip src -j ACCEPT
iptables -A INPUT -j DROP
三、实施效果
本次通过APNIC官方IP库、定时更新脚本结合ipset+iptables配置境内IP白名单,实现政务Web系统仅对国内地址开放,全面拦截境外访问请求。
该项目案例从源头阻断扫描、破解等恶意行为,大幅削减攻击流量与安全告警,有效防范数据泄露、系统入侵等风险。在不影响国内用户正常办理政务业务的前提下,落实等保及相关法规要求,缩小攻击暴露面,同时依托日志完成行为审计,提升系统整体安全防护与合规水平。
未来,北龙云海将持续围绕政务网络安全场景开展实践,不断沉淀可复用的防护经验,为行业合规建设提供有力支撑。
投稿:研发部 訾瑞杰
关于北龙云海
北龙云海秉承"精细运维管理,科技创新支撑"的服务宗旨,专注建立创新人才体系,积极探索前沿科学技术,深入研发高效解决方案,全面搭建运维应用工具,持续深耕沉淀运维能力,竭诚为客户提供安全、高效、放心服务。
未来,北龙云海将加大对AI技术的研发投入,积极探索AI技术在各业务场景的应用,以AI赋能企业数字化转型,为客户创造更大价值。