iptables配置之我见

回复 收藏
本帖最后由 maria 于 2016-5-4 20:52 编辑

为了服务器的安全,服务器要配置禁止外网访问端口,要么就是一个一个端口配置,这样太麻烦了;或者就是所有端口一起配置,但是有个问题,就是如果你是远程连接的话,当你封掉所有端口后,22端口也会被封,你的远程连接也会断掉,这样有人就会先配置允许本机访问22端口,然后再配置所有端口,这样就可以保证配置后不会断开连接。今天我练习的时候突然想到另一种方法,在这分享给大家。
我的想法很简单,就是先封掉所有的,然后再打开22端口,命令如下:
  1. nohup iptables -I INPUT -p tcp -j DROP ; \                 #封掉所有端口
  2. iptables -I INPUT -s 192.168.199.2 -p tcp -j ACCEPT ; \     #允许可信任主机访问所有端口
  3. iptables -I INPUT -s 127.0.0.1 -p tcp -j ACCEPT ; \               #允许本机访问所有端口
  4. iptables -I INPUT  -p tcp --dport 80 -j ACCEPT &                 #开放80端口
没错,我的思路就是把所有命令放在一行,并放在后台执行,这样即使连接断开了,命令也是会执行的,不过经过我的实验,并不会断开连接,因为命令瞬间就执行完了。之所以要允许127.0.0.1,是因为有的服务可能要访问本机的端口,如果不设置允许就可能会出错,比如应用无法连接数据库了,就很麻烦。
好了,说完了,如果有地方说的不对的,还请大家不吝赐教!





2016-05-04 18:10 举报
已邀请:
0

qidi2015

赞同来自:

iptables的条件匹配里面有一个状态匹配,用“-m 模块关键字”的形式来配置
iptables -P INPUT DROP

iptables -I INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT

这样22端口就不会断掉,因为22端口的状态是ESTABLISHED
0

maria

赞同来自:

qidi2015 发表于 2016-5-4 19:37
iptables的条件匹配里面有一个状态匹配,用“-m 模块关键字”的形式来配置
iptables -P INPUT DROP

{:6_148:}是吗,谢谢指教。
0

15012941979

赞同来自:

顶一下  

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: