本帖最后由 maria 于 2016-5-4 20:52 编辑
为了服务器的安全,服务器要配置禁止外网访问端口,要么就是一个一个端口配置,这样太麻烦了;或者就是所有端口一起配置,但是有个问题,就是如果你是远程连接的话,当你封掉所有端口后,22端口也会被封,你的远程连接也会断掉,这样有人就会先配置允许本机访问22端口,然后再配置所有端口,这样就可以保证配置后不会断开连接。今天我练习的时候突然想到另一种方法,在这分享给大家。
我的想法很简单,就是先封掉所有的,然后再打开22端口,命令如下:没错,我的思路就是把所有命令放在一行,并放在后台执行,这样即使连接断开了,命令也是会执行的,不过经过我的实验,并不会断开连接,因为命令瞬间就执行完了。之所以要允许127.0.0.1,是因为有的服务可能要访问本机的端口,如果不设置允许就可能会出错,比如应用无法连接数据库了,就很麻烦。
好了,说完了,如果有地方说的不对的,还请大家不吝赐教!
为了服务器的安全,服务器要配置禁止外网访问端口,要么就是一个一个端口配置,这样太麻烦了;或者就是所有端口一起配置,但是有个问题,就是如果你是远程连接的话,当你封掉所有端口后,22端口也会被封,你的远程连接也会断掉,这样有人就会先配置允许本机访问22端口,然后再配置所有端口,这样就可以保证配置后不会断开连接。今天我练习的时候突然想到另一种方法,在这分享给大家。
我的想法很简单,就是先封掉所有的,然后再打开22端口,命令如下:
- nohup iptables -I INPUT -p tcp -j DROP ; \ #封掉所有端口
- iptables -I INPUT -s 192.168.199.2 -p tcp -j ACCEPT ; \ #允许可信任主机访问所有端口
- iptables -I INPUT -s 127.0.0.1 -p tcp -j ACCEPT ; \ #允许本机访问所有端口
- iptables -I INPUT -p tcp --dport 80 -j ACCEPT & #开放80端口
好了,说完了,如果有地方说的不对的,还请大家不吝赐教!
0
iptables的条件匹配里面有一个状态匹配,用“-m 模块关键字”的形式来配置
iptables -P INPUT DROP
iptables -I INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
这样22端口就不会断掉,因为22端口的状态是ESTABLISHED
iptables -P INPUT DROP
iptables -I INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
这样22端口就不会断掉,因为22端口的状态是ESTABLISHED
0
{:6_148:}是吗,谢谢指教。
qidi2015 发表于 2016-5-4 19:37
iptables的条件匹配里面有一个状态匹配,用“-m 模块关键字”的形式来配置
iptables -P INPUT DROP
{:6_148:}是吗,谢谢指教。
编辑回复