0%

简单粗暴Centos7网络加固(二)

直接用iptables放行国内IP地址,禁用所有的策略先不说性能如何。看到iptables -L -n返回的4-5千行都要吐了。查了查有两个方案解决:

一、是用iptablesipset插件;
二、是用iptablesxtables-addons插件加geoip地址库。

本文使用了前者。ipsetiptables的扩展,它允许你创建 匹配整个地址集合的规则。而不像普通的iptables链只能单IP匹配, ip集合存储在带索引的数据结构中,这种结构即时集合比较大也可以进行高效的查找,除了一些常用的情况,比如阻止一些危险主机访问本机,从而减少系统资源占用或网络拥塞,IPsets也具备一些新防火墙设计方法,并简化了配置.官网:http://ipset.netfilter.org/

ipset安装和准备工作

停用Centos7的firewalld服务和安装iptables这里不再冗述,可以参考之前的文章。

1
2
3
4
yum install ipset ipset-service
# 清空iptables运行的配置
iptables -P INPUT ACCEPT
iptables -F

创建ipset规则

1
2
3
4
5
6
7
8
ipset -N cnip hash:net
wget -O ~/cn.txt http://www.ipdeny.com/ipblocks/data/countries/cn.zone
for ip in $(cat /root/cn.zone ); do ipset -A cnip $ip; done
# 查看导入的ipset规则并后保存
ipset list | more
service ipset save
systemctl enable ipset
systemctl start ipset

创建iptables规则

1
2
3
4
iptables -A INPUT -p tcp -m set --match-set cnip src -j ACCEPT
iptables -A INPUT -p tcp --dport 1000:10000 -j DROP
# 或者你也可以iptables -P INPUT DROP 取代上面的命令
service iptables save

简单粗暴Centos7网络加固(一)

简单粗暴Centos7网络加固(三)