需求:为了保护SSH端口的安全,需要实现该端口仅允许某IP或者IP段连接。
通过linux下的iptables过滤规则即可实现:先写允许连接的规则,再写拒绝连接的规则。软件这样设置也是比较符合逻辑的,如果所连接的IP符合第一条规则则让其通过,如果不在第一条规则内的IP则跳到下一条规则进行匹配。
iptables -A INPUT -s IP -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -j DROP
封单个IP:iptables -I INPUT -s 211.1.1.1 -j DROP
封一个C段IP:iptables -I INPUT -s 211.1.0.0/16 -j DROP
封一个B段IP: iptables -I INPUT -s 211.0.0.0/8 -j DROP
iptables服务启动自运行有三个方法:
- 把它加到/etc/rc.local中。
- iptables-save >/etc/sysconfig/iptables 可以把你当前的iptables规则放到/etc/sysconfig/iptables中,系统启动iptables时自动执行。
- service iptables save 也可以把你当前的iptables规则放/etc/sysconfig/iptables中,系统启动iptables时自动执行。
建议选择2与3,更加方便,一般iptables服务会在network服务之前启来,更安全。