#!/bin/sh

IPTABLES=/sbin/iptables

# clear

$IPTABLES -F

# if pkg type is allow, then accept

#$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# 如果同时在80端口的连接数大于10,就Drop掉这个ip

netstat -an | grep : | awk -F: '{ print $8 }' | sort | uniq -c | awk -F\   '$1>10 && $2!="" { print $2 }' >> /etc/fw.list

less /etc/fw.list | sort | uniq -c | awk -F\   '$2!="" { print $2 }' > /etc/fw.list2

less /etc/fw.list2 > /etc/fw.list

while read line

       do

       t=`echo "$line"`

       $IPTABLES -A INPUT -p tcp -s $t -j DROP

done < /etc/fw.list2

# IP转发

$IPTABLES -A INPUT -p tcp --dport  -j ACCEPT

$IPTABLES -A INPUT -d 172.16.204.7 -p tcp -m tcp --dport  -i eth0 -j ACCEPT

$IPTABLES -t nat -A PREROUTING -d 211.100.39.44 -p tcp -m tcp --dport  -j DNAT --to-destination 172.16.204.7:

$IPTABLES -t nat -A POSTROUTING -d 172.16.204.7 -p tcp -m tcp --dport  -j SNAT --to-source 10.6.39.44

# if pkg visit , port then accept

$IPTABLES -A INPUT -p tcp --dport  -j ACCEPT

$IPTABLES -A INPUT -p tcp --dport  -j ACCEPT

$IPTABLES -A INPUT -p tcp --dport  -j ACCEPT

$IPTABLES -A INPUT -p tcp --dport  -j ACCEPT

# $IPTABLES -A INPUT -i eth0 -m limit --limit /sec --limit-burst  -j ACCEPT

$IPTABLES -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST SYN -m limit --limit /m --limit-burst  -j ACCEPT

$IPTABLES -A FORWARD -p tcp --syn -m limit --limit /s -j ACCEPT

$IPTABLES -A FORWARD -f -m limit --limit /s --limit-burst  -j ACCEPT

# if pkg from allow ip then accept

$IPTABLES -A INPUT -p tcp -s 127.0.0.1   -j ACCEPT

# if pkg not above then deny

$IPTABLES -A INPUT -p tcp --syn -j DROP

下面这个防火墙测试结果更正确,能起到一定的防攻击的功能

#!/bin/sh

IPTABLES="/sbin/iptables"

echo "" > /proc/sys/net/ipv4/ip_forward

$IPTABLES -P INPUT DROP

$IPTABLES -P FORWARD DROP

$IPTABLES -P OUTPUT DROP

$IPTABLES -F

$IPTABLES -X

$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

$IPTABLES -A INPUT -p tcp --dport  -j ACCEPT

$IPTABLES -A INPUT -p tcp --dport  --tcp-flags SYN,ACK,FIN,RST SYN -m limit --limit /m --limit-burst  -j ACCEPT

$IPTABLES -A OUTPUT -p tcp -s 127.0.0.1 -j ACCEPT

$IPTABLES -A OUTPUT -p tcp -s 192.168.1.102 -j ACCEPT

$IPTABLES -A OUTPUT -p udp -s 127.0.0.1 -j ACCEPT

$IPTABLES -A OUTPUT -p udp -s 192.168.1.102 -j ACCEPT

$IPTABLES -A INPUT -p tcp --syn -j DROP
复制代码

http://bbs.chinaunix.net/thread-3665515-1-1.html

防简单攻击iptables策略的更多相关文章

  1. 防cc攻击策略

    黑客攻击你的网站,会采取各种各样的手段,其中为了降低你网站的访问速度,甚至让你的服务器瘫痪,它会不断的刷新你的网站,或者模拟很多用户同一时间大量的访问你的网站, 这就是所谓的CC攻击,这就需要我们在程 ...

  2. 转:nginx防DDOS攻击的简单配置

    文章来自于: 近期由于工作需要,做了些防DDOS攻击的研究,发现nginx本身就有这方面的模块ngx_http_limit_req_module和ngx_http_limit_conn_module. ...

  3. linux中防CC攻击两种实现方法(转)

    CC攻击就是说攻击者利用服务器或代理服务器指向被攻击的主机,然后模仿DDOS,和伪装方法网站,这种CC主要是用来攻击页面的,导致系统性能用完而主机挂掉了,下面我们来看linux中防CC攻击方法. 什么 ...

  4. Linux系统防CC攻击自动拉黑IP增强版Shell脚本 《Linux系统防CC攻击自动拉黑IP增强版Shell脚本》来自张戈博客

    前天没事写了一个防CC攻击的Shell脚本,没想到这么快就要用上了,原因是因为360网站卫士的缓存黑名单突然无法过滤后台,导致WordPress无法登录!虽然,可以通过修改本地hosts文件来解决这个 ...

  5. 增强VPS SSH账号安全:改端口,禁用Root,密钥登录,Denyhosts防暴力攻击

    VPS SSH账号是我们日常管理VPS的主要登入方式,尤其是Root账号,对Linux系统安全至关重要.以前好多站长喜欢用Putty中文版,这实际是别人修改官方Putty汉化而来,这些软件被植入了后门 ...

  6. 使用Discuz!自带参数防御CC攻击以及原理,修改Discuz X 开启防CC攻击后,不影响搜索引擎收录的方法

    这部份的工作,以前花的时间太少. 希望能产生一定的作用. http://www.nigesb.com/discuz-cc-attacker-defence.html http://bbs.zb7.co ...

  7. .NET MVC中的防CSRF攻击

    一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSR ...

  8. 【前端安全】JavaScript防XSS攻击

    什么是XSS XSS(Cross Site Scripting),跨站脚本攻击,是一种允许攻击者在另外一个用户的浏览器中执行恶意代码脚本的脚本注入式攻击.本来缩小应该是CSS,但为了和层叠样式(Cas ...

  9. 25个最常用的iptables策略

    1.清空存在的策略当你开始创建新的策略,你可能想清除所有的默认策略,和存在的策略,可以这么做:iptables -F  或者iptables --flush2,设置默认策略默认链策略是ACCEPT,改 ...

随机推荐

  1. window.location.href 与 window.loaction.replace区别

    window.location.href和window.location.replace的区别 1.window.location.href=“url”:改变url地址: 2.window.locat ...

  2. 关于 f 散度

    在概率统计中,f散度是一个函数,这个函数用来衡量两个概率密度p和q的区别,也就是衡量这两个分布多么的相同或者不同. 1.f散度的定义p和q是同一个空间中的两个概率密度函数,它们之间的f散度可以用如下方 ...

  3. 安装python 2.7条件下的pip环境

    wget https://pypi.python.org/packages/ff/d4/209f4939c49e31f5524fa0027bf1c8ec3107abaf7c61fdaad704a648 ...

  4. Spring Security教程(七):RememberMe功能

    在之前的教程中一笔带过式的讲了下RememberMe记住密码的功能,那篇的Remember功能是最简易的配置,其功能和安全性都不强.这里就配置下security中RememberMe的各种方式. 一. ...

  5. 分享:三种取消选中单选框radio的方法

    三种取消选中radio的方式,本文依赖于jQuery,其中第一种,第二种方式是使用jQuery实现的,第三种方式是基于JS和DOM实现的. <!DOCTYPE HTML> <html ...

  6. 绕过chrome的弹窗拦截机制

    在chrome的安全机制里面,非用户触发的window.open方法,是会被拦截的.举个例子: var btn = $('#btn'); btn.click(function () { //不会被拦截 ...

  7. C图形库 Mingw g++ ege Windows下

    今天闲来无事就想搞搞图形界面,本来是想弄openGL的但是配置有点麻烦,就觉得先弄个简单的图形库ege了. 1.下载头文件 地址:http://misaka.googlecode.com/files/ ...

  8. 菜鸟学Java(十一)——GET与POST

    相信大家在面试的时候经常会被问到:GET与POST有什么区别吧?你是怎么回答的呢?POST比GEt安全?GET有URL的长度限制而POST没有或者很大?GET通过URL或者Cookie传参数,POST ...

  9. [Windows Azure] Windows Azure Storage & SQL Database

    http://channel9.msdn.com/Series/Windows-Azure-Storage-SQL-Database-Tutorials Windows Azure offers mu ...

  10. psycopg使用

    1.使用示例 import psycopg2 # 建立数据库连接 conn = psycopg2.connect("dbname=test user=postgres") # 开启 ...