一、场景模拟
购买一台新的云服务器需要做好防护,最简单的就是设置白名单,默认设置全部DROP。我司白名单IP如下:192.168.0.10/24
注:这个192.168.0.10/24是私网网段,只是一个举例说明;如果是按照实际情况,需要填写贵司的办公网出口的公网IP段或者其他的公网IP。
二、配置
在Ubuntu或者Centos等linux系统的命令行进行操作
iptables -F
iptables -Z
iptables -X
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT //这里填写您的需要允许的公网IP
iptables -A INPUT -p udp -m -udp --sprot 22 -j ACCEPT //避免您白名单没设置好,导致远程中断
iptables -P INPUT DROP
service iptables save //保存策略
注:Centos或者Redhat配置文件在: /etc/sysconfig/iptables(也可以通过修改配置文件然后重启iptables服务)Ubuntu没有配置文件,需要自己创建。
三、举一反三
1.允许源地址192.168.0.10/24网段的所有IP访问(已包括192.168.0.1/32这个IP)
iptables -A INPUT -s 192.168.0.1/32 -j ACCEPT
iptables -A INPUT -s 192.168.0.10/24 -j ACCEPT
2.允许tcp和udp协议的80访问
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 80 -j ACCEPT
3.在默认DROP的情况下,允许icmp协议的访问,例如可以ping通本服务器IP
iptables --A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
4.允许源端口是3306的访问
iptables -A INPUT -p udp -m udp --sport 3306 -j ACCEPT
5.允许源端口范围是3306-20000的访问
例子:iptables -A INPUT -p udp -m udp --sport 3306:20000 -j ACCEPT
以上只是部分例子,其他参数建议您读完iptables基础知识后,您也能灵活使用。
本期内容就这么多,下一期会手把手教您如何安装和使用iptables。