ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 防火墙设置脚本 >[success]在web服务器中,只需要开启 web服务 和ssh服务还有 ping 其它的一率禁止 ### 脚本如下: >[warning] 在配置防火墙的时,一定要注意,不要把自己关在外面,最简单的方式,是使用脚来处理。 ~~~ #!/bin/bash #配置服务器防火墙 #author yifeng (E-mail:576617109@qq.com) iptables -F #先清空规则 iptables -P INPUT DROP #禁止所有访问 iptables -P OUTPUT DROP #禁止所有响应 iptables -P FORWARD DROP #禁止所有转发 iptables -A INPUT -p tcp --dport 80 -j ACCEPT #允许web访问 iptables -A INPUT -p tcp --dport 22 -j ACCEPT #允许ssh访问 iptables -A INPUT -p icmp -j ACCEPT #开启ping iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT #响应web访问 iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT #响应ssh访问 iptables -A OUTPUT -p icmp -j ACCEPT #响应ping 访问 service iptables save #永久保存配置信息 ~~~ >[danger]通常情况,都是通过远程管理服务器的,所以在设置防火墙时,一定要特别小心,不要把22端口给关闭了。 远程配置防火墙必须使用脚本,不然在执行完开始三条默认规则后,就会把远端踢出去,这样就无法完成后面的配置,服务器会拒绝一切的进出。 这时,如果没有执行service iptables save这个命令,通过重启服务器可以解决。否则只能通知机房管理中进行处理。 ~~~ #查看帮助 iptables -h man iptables #列出iptables规则 iptables -L -n #列出iptables规则并显示规则编号 iptables -L -n --line-numbers #列出iptables nat表规则(默认是filter表) iptables -L -n -t nat #清除默认规则(注意默认是filter表,如果对nat表操作要加-t nat) #清楚所有规则 iptables -F #重启iptables发现规则依然存在,因为没有保存 service iptables restart #保存配置 service iptables save #禁止ssh登陆(若果服务器在机房,一定要小心) iptables -A INPUT -p tcp --dport 22 -j DROP #删除规则 iptables -D INPUT -p tcp --dport 22 -j DROP -A, --append chain 追加到规则的最后一条 -D, --delete chain [rulenum] Delete rule rulenum (1 = first) from chain -I, --insert chain [rulenum] Insert in chain as rulenum (default 1=first) 添加到规则的第一条 -p, --proto proto protocol: by number or name, eg. 'tcp',常用协议有tcp、udp、icmp、all -j, --jump target 常见的行为有ACCEPT、DROP和REJECT三种,但一般不用REJECT,会带来安全隐患 注意:INPUT和DROP这样的关键字需要大写 #禁止192.168.33.0网段从eth0网卡接入 iptables -A INPUT -p tcp -i eth0 -s 192.168.33.0 -j DROP iptables -A INPUT -p tcp --dport 22 -i eth0 -s 192.168.33.61 -j ACCEPT #禁止ip地址非192.168.10.10的所有类型数据接入 iptables -A INPUT ! -s 192.168.10.10 -j DROP #禁止ip地址非192.168.10.10的ping请求 iptables -I INPUT -p icmp --icmp-type 8 -s 192.168.50.100 -j DROP #扩展匹配:1.隐式扩展 2.显示扩展 #隐式扩展 -p tcp --sport PORT 源端口 --dport PORT 目标端口 #显示扩展:使用额外的匹配规则 -m EXTENSTION --SUB-OPT -p tcp --dport 22 与 -p tcp -m tcp --dport 22功能相同 state:状态扩展,接口ip_contrack追踪会话状态 NEW:新的连接请求 ESTABLISHED:已建立的连接请求 INVALID:非法连接 RELATED:相关联的连接 #匹配端口范围 iptables -I INPUT -p tcp --dport 22:80 -j DROP #匹配多个端口 iptables -I INPUT -p tcp -m multiport --dport 22,80,3306 -j ACCEPT #不允许源端口为80的数据流出 iptables -I OUTPUT -p tcp --sport 80 -j DROP ~~~