iptables web服务器规则

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iptables web服务器规则相关的知识,希望对你有一定的参考价值。

最近服务器经常死机,我想用iptables过滤一些端口
我服务器的配置方法是按照 http://blog.s135.com/nginx_php_v4/
配置的.我只有一个服务器,安装NGINX,mysql,SSH,请大家帮我弄个iptables规则,
转贴的就不要浪费时间了

新建一个shell脚本
vi firewall.sh
将下面的内容,从“内容开始”至“内容结束”全部复制添加到上面的脚本文件中。
注意将下面内容中的一个内容替换--你的源IP 替换成你的源IP。如果你的源IP是动态的,建议将开放80那样开放它。

------------------------------------------内容开始
#!/bin/sh
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_nat
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
#以上命令为载入模块
iptables -P INPUT DROP
iptables -F INPUT
iptables -P OUTPUT ACCEPT
iptables -F OUTPUT
iptables -P FORWARD DROP
iptables -F FORWARD
iptables -t nat -F
#以上命令为设置默认规则----禁止所有,注意会清空原有规则,请注意原有规则的保存备份。
################################add tointernet##########################
iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A INPUT -p udp --sport 123 -j ACCEPT
iptables -A INPUT -p tcp --sport 20 -j ACCEPT
iptables -A INPUT -p tcp --sport 21 -j ACCEPT
iptables -A INPUT -p tcp --sport 80 -j ACCEPT
iptables -A INPUT -p tcp --sport 443 -j ACCEPT
iptables -A INPUT -p tcp --sport 8080 -j ACCEPT
################################add tointernet##########################
#以上规则的意思是,开放你服务器对外访问的回程允许,如果你的服务器不需要对外访问,请删除
#
#
################################add manager#############################
iptables -A INPUT -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -s 你的源IP -p 0 -j ACCEPT
################################add manager#############################
#以上的规则的意思是,开放你的管理客户端的所有通讯(当然包括22端口啦),但除了这个源IP外,其它任何IP都访问该服务器的22端口了
#
#
################################add 80##################################
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
################################add 80##################################
#开放外网所有访问你的80
#如果你的MYSQL或其它服务需要对外开放,请按上面的格式添加
#
#
/etc/rc.d/init.d/iptables save
/etc/rc.d/init.d/iptables restart
------------------------------------------内容结束

保存shell脚本文件。

通过下面的命令,将脚本执行
/bin/sh firewall.sh
看到OK状态后,通过下面的命令检查IPTABLES状态
iptables -L -n

--------------------------------------
注:因为要做端口映射,这两天内都在搞IPTABLES,上面算是搞了两天的一点点成果,见笑了,:)
参考技术A 在prerouting和forward加上-d 你的web服务器 --dprot 想封的端口 -j DROP就行了!
如: iptables -A FORWARD -d 1.1.1.1 --dport 138 -j DROP 其它以此类推,一起交流:470814609

适合Centos Web服务器的iptables规则

适合Centos Web服务器的iptables规则
IPT="/sbin/iptables"
$IPT --delete-chain
$IPT --flush
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT DROP
$IPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp --dport 873 -j ACCEPT
$IPT -A INPUT -i lo -j ACCEPT#4
$IPT -A INPUT -p icmp -m icmp --icmp-type8 -j ACCEPT
$IPT -A INPUT -p icmp -m icmp --icmp-type11 -j ACCEPT
$IPT -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPT -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT#4
$IPT -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
$IPT -A OUTPUT -p tcp -m tcp --dport 25 -j ACCEPT
$IPT -A OUTPUT -p icmp -m icmp --icmp-type8 -j ACCEPT
$IPT -A OUTPUT -p icmp -m icmp --icmp-type11 -j ACCEPT
service iptables save
service iptables restart
存为脚本iptables.sh,执行sh iptables.sh自动配置防火墙。
解释:
#1、设置INPUT,FORWARD,OUTPUT链默认target为DROP,也就是外部与服务器不能通信。
#2、设置当连接状态为RELATED和ESTABLISHED时,允许数据进入服务器。
#3、设置外部客户端连接服务器端口80,22,21,873。
#4、允许内部数据循回。
#5、允许外部ping服务器 。
#6、设置状态为RELATED和ESTABLISHED的数据可以从服务器发送到外部。
#7、允许服务器使用外部dns解析域名。
#8、设置服务器连接外部服务器端口80。
#9、允许服务器发送邮件。
#10、允许从服务器ping外部。




































以上是关于iptables web服务器规则的主要内容,如果未能解决你的问题,请参考以下文章

利用iptables防火墙保护web服务器

常用iptables规则整理

web安全之防火墙的安全配置

Linux下iptables防火墙简单配置

iptables 端口转发(单网卡)

Centos7 Web服务器-防火墙问题