iptables 包过虚例子
来源:互联网 发布:笔记本的mac地址在哪里 编辑:程序博客网 时间:2024/04/29 04:26
刚从网上看到一段规则,
并根据己的理解将其进行了一些改进,
主要适用与一般的WEB服务器,只开通了SSH/WEB未开通FTP等其它服务,
如需开放其它服务再加上相应的端口即可
另外没有对来源地址进行限制,主要是现在一般连服务器都是动态地址,要限制只有限制IP地址段了。不太好。
还有很多不明白的方,记下以后慢慢了解吧。
#!/bin/bash
## 设置是否响应icmp
echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 0 >/proc/sys/net/ipv4/conf/all/accept_source_route
echo 0 >/proc/sys/net/ipv4/conf/all/accept_redirects
## 监控icmp包
echo 1 >/proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
#开启syn泛洪攻击保护(syn cook flood)
#syn攻击利用tcp协议缺陷,发送大量伪造的tcp连接请求,使被攻击方资源耗尽,导致拒绝服务
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 1 >/proc/sys/net/ipv4/conf/all/log_martians
## 初始化及记数清0
## F:说明 删除所有规则链中的所有规则。
## X:说明 删除所有规则链
## Z:说明 将封包计数器归零。封包计数器是用来计算同一封包出现次数,是过滤阻断式攻击不可或缺的工具。
iptables -F
iptables -X
iptables -Z
#iptables -A INPUT -i eth0 -s 10.0.0.0/8 -j DROP
#iptables -A INPUT -i eth0 -s 192.168.0.0/16 -j DROP
## RELATED:该包是属于某个已经建立的连接所建立的新连接 ESTABLISHED:该包属于某个已经建立的连接 --如查没有装FTP服务,是不是这句可以DROP掉?
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
## INVALID:该包不匹配于任何连接,通常这些包被DROP。
iptables -A INPUT -m state --state INVALID -j DROP
## Loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
## SYN-Flooding
iptables -N syn-flood
iptables -A INPUT -i eth0 -p tcp --syn -j syn-flood
iptables -A syn-flood -m limit --limit 30/s --limit-burst 4 -j RETURN
iptables -A syn-flood -j DROP
## Make sure that new TCP connections are SYN packets NEW: 该包想要开始一个新的连接(重新连接或连接重定向)
iptables -A INPUT -i eth0 -p tcp ! --syn -m state --state NEW -j DROP
## HTTP
iptables -A INPUT -i eth0 -p tcp -d 0/0 --dport 80 -j ACCEPT
## CVS
## iptables -A INPUT -i eth0 -p tcp -d 0/0 --dport 2401 -j ACCEPT
## IP packets limit 防IP包攻击-这个很重要,作限制
iptables -A INPUT -f -m limit --limit 100/s --limit-burst 5 -j ACCEPT
## LOG --log-level INFO --log-prefix "IPT INPUT packet died: " 防ICMP包,同样做限制、
iptables -A INPUT -p icmp -m limit --limit 1/s --limit-burst 3 -j ACCEPT
## FTP service 仅对开启FTP 服务的机器
##iptables -A INPUT -i eth0 -p tcp --dport 21 -j ACCEPT
##iptables -A INPUT -i eth0 -p tcp --dport 20 -j ACCEPT
##iptables -A INPUT -p tcp --dport 30001:50000 -j ACCEPT
## SSH login -下面这两句不是很明白,为什么少一个-m tcp就拒绝?
## 如果有固定地址进行SSH登录的话,可以配合源地址的方式来让只有指定的IP才能进行SSH登录!
iptables -A INPUT -i eth0 -m tcp -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 22 -j DROP
## Anything else not allowed
iptables -A INPUT -i eth0 -j DROP
- iptables 包过虚例子
- iptables 配置端口映射例子
- IPTABLES基本例子
- iptables工具__过滤包
- iptables实现网卡包转发
- IPTABLES使用宝典-包过滤
- 一个iptables做防火墙的例子
- iptables 端口转发功能简单例子
- 使用过的Makefile例子
- 用iptables实现包过虑型防火墙
- 1.2 使用iptables进行包过滤
- 用iptables过滤防火墙TCP包
- 用 iptables 模拟网络丢包
- iptables—过滤包—命令
- 测试宝典---iptables 模拟丢包
- iptables包过滤防火墙的应用
- dbms_sql包例子
- Javascript闭包例子
- 获得Shell脚本所在目录的绝对路径 (转载)
- Java基础:第二十三讲 面向对象概述
- Shell变量名使用的特殊字符 [转]
- 去掉c代码中的注释[转]
- Java基础:第二十二讲 SringBuffer的使用
- iptables 包过虚例子
- Java基础:第十八讲 String用法(上)
- Java基础:第十九讲 String用法(下)
- DOS命令--CHCP (转载)
- xargs与cp结合使用 (转载)
- linux下获取本机IP地址
- 获取表中以某个拼音开头的记录
- linux查看用户和用户组
- 建立linux两用户之间的信任关系 (转载)