Linux系统下的DDOS攻击防范

tcpreplay发包部署流程 阅读详情
squid主要是利用其端口映射的功能,可以将80端口转换一下,其实一般的DDOS攻击可以修改/proc/sys/net/ipv4 /tcp_max_syn_backlog里的参数就行了,默认参数一般都很小,设为8000以上,一般的DDOS攻击就可以解决了。如果上升到 timeout阶段,可以将/proc/sys/net/ipv4/tcp_fin_timeout设小点。

大家都在讨论DDOS,个人认为目前没有真正解决的方法,只是在缓冲和防御能力上的扩充,跟黑客玩一个心理战术,看谁坚持到最后,网上也有很多做法,例如syncookies等,就是复杂点。

 

sysctl -w net.ipv4.icmp_echo_ignore_all=1
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
sysctl -w net.ipv4.tcp_max_syn_backlog=”2048″
sysctl -w net.ipv4.tcp_synack_retries=”3″
iptables -A INPUT -i eth0 -p tcp –syn -j syn-flood
# Limit 12 connections per second (burst to 24)
iptables -A syn-flood -m limit –limit 12/s –limit-burst 24 -j RETURN

可以试着该该:

iptbales -A FORWARD -p tcp –syn -m limit –limit 1/s -j ACCEPT

虚拟主机服务商在运营过程中可能会受到黑客攻击,常见的攻击方式有SYN,DDOS等。

通过更换IP,查找被攻击的站点可能避开攻击,但是中断服务的时间比较长。比较彻底的解决方法是添置硬件防火墙。不过,硬件防火墙价格比较昂贵。可以考虑利用Linux系统本身提供的防火墙功能来防御。

1. 抵御SYN

SYN攻击是利用TCP/IP协议3次握手的原理,发送大量的建立连接的网络包,但不实际建立连接,最终导致被攻击服务器的网络队列被占满,无法被正常用户访问。

Linux内核提供了若干SYN相关的配置,用命令:

sysctl -a | grep syn

看到:

 

net.ipv4.tcp_max_syn_backlog = 1024
net.ipv4.tcp_syncookies = 0
net.ipv4.tcp_synack_retries = 5
net.ipv4.tcp_syn_retries = 5
tcp_max_syn_backlog是SYN队列的长度,tcp_syncookies是一个开关,是否打开SYN Cookie

功能,该功能可以防止部分SYN攻击。tcp_synack_retries和tcp_syn_retries定义SYN的重试次数。

加大SYN队列长度可以容纳更多等待连接的网络连接数,打开SYN Cookie功能可以阻止部分SYN攻击,降低重试次数也有一定效果。

调整上述设置的方法是:

增加SYN队列长度到2048:

sysctl -w net.ipv4.tcp_max_syn_backlog=2048

打开SYN COOKIE功能:

sysctl -w net.ipv4.tcp_syncookies=1

降低重试次数:

sysctl -w net.ipv4.tcp_synack_retries=3

sysctl -w net.ipv4.tcp_syn_retries=3

为了系统重启动时保持上述配置,可将上述命令加入到/etc/rc.d/rc.local文件中

 

netstat 工具来检测SYN攻击
# netstat -n -p -t
tcp0 0 10.11.11.11:23124.173.152.8:25882 SYN_RECV-
tcp0 0 10.11.11.11:23236.15.133.204:2577 SYN_RECV-
tcp0 0 10.11.11.11:23127.160.6.129:51748 SYN_RECV-

LINUX系统中看到的,很多连接处于SYN_RECV状态(在WINDOWS系统中是SYN_RECEIVED状态),
源IP地址都是随机的,表明这是一种带有IP欺骗的SYN攻击。
# netstat -n -p -t | grep SYN_RECV | grep :80 | wc -l
324
查看在LINUX环境下某个端囗的未连接队列的条目数,显示TCP端囗22的未连接数有324个,
虽然还远达不到系统极限,但应该引起管理员的注意。
[root@pub wxjsr]# netstat -na | grep SYN_RECV
tcp 0 0 58.193.192.20:80 221.0.108.162:32383 SYN_RECV
tcp 0 0 58.193.192.20:80 125.85.118.231:2601 SYN_RECV
tcp 0 0 58.193.192.20:80 222.242.171.215:2696 SYN_RECV
tcp 0 0 58.193.192.20:80 116.52.10.51:2629 SYN_RECV
tcp 0 0 58.193.192.20:80 218.171.175.157:1117
[root@pub wxjsr]# netstat -na | grep SYN_RECV |wc
11 66 979
查看系统SYN相关的配置
Linux内核提供了若干SYN相关的配置,用命令: sysctl -a | grep syn
[root@metc apache2]# /sbin/sysctl -a | grep syn
net.ipv6.conf.default.max_desync_factor = 600
net.ipv6.conf.all.max_desync_factor = 600
net.ipv6.conf.eth0.max_desync_factor = 600
net.ipv6.conf.lo.max_desync_factor = 600
net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_recv = 60
net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_sent = 120
net.ipv4.tcp_max_syn_backlog = 1280
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 5
fs.quota.syncs = 18
防范SYN攻击设置
#缩短SYN- Timeout时间:
iptables -A FORWARD -p tcp –syn -m limit –limit 1/s -j ACCEPT
iptables -A INPUT -i eth0 -m limit –limit 1/sec –limit-burst 5 -j ACCEPT
#每秒 最多3个 syn 封包 进入 表达为 :
iptables -N syn-flood
iptables -A INPUT -p tcp –syn -j syn-flood
iptables -A syn-flood -p tcp –syn -m limit –limit 1/s –limit-burst 3 -j RETURN
iptables -A syn-flood -j REJECT
#设置syncookies:
sysctl -w net.ipv4.tcp_syncookies=1
/sbin/sysctl -w net.ipv4.tcp_max_syn_backlog=3000
/sbin/sysctl -w net.ipv4.tcp_synack_retries=1
/sbin/sysctl -w net.ipv4.tcp_syn_retries=1
sysctl -w net.ipv4.conf.all.send_redirects=0
sysctl -w net.ipv4.conf.all.accept_redirects=0
sysctl -w net.ipv4.conf.all.forwarding=0
/sbin/sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1
/sbin/sysctl -w net.ipv4.conf.default.accept_source_route=0 # 禁用icmp源路由选项
/sbin/sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1 # 忽略icmp ping广播包,应开启
/sbin/sysctl -w net.ipv4.icmp_echo_ignore_all=1 # 忽略所有icmp ping数据,覆盖上一项

linux下防DDOS攻击软件及使用方法详解  互联网如同现实社会一样充满钩心斗角,网站被DDOS也成为站长最头疼的事。在没有硬防的情况下,寻找软件代替是最直接的方法,比如用 iptables,但是iptables不能在自动屏蔽,只能手动屏蔽。 一、什么是DDOS攻击?   DDoS也就是分布式拒绝服务攻击。它使用与普通的拒绝服务攻击同样的方法,但是发起攻击的源是多个。通常攻击者使用下载的工具渗透无保护的主,当获得该主的适当的访问权限... 阅读详情

相关推荐

服务器发包压力测试工具集合

集成市面上最好用的服务器发包软件,专门发包服务器量身打造!工具箱里集成的软件都是本人珍藏,保证绿色无毒,且威力巨大,包含了SYN,UDP,蜗牛,以及单流量监控软件,都是非常实用的东西,大家可以自己体验一下!

全套发包搭建教程附带脚本

全套发包搭建教程附带脚本 这个是别人分享的,与本人无关。

scoket发包脚本

接口发包使用,简单使用,直接将报文保存一个文档,运行脚本,即可

使用国内源安装k8s工具

ubuntu / Debian $ apt-get update && apt-get install -y apt-transport-https $ curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add - $ cat <<EOF >/etc/apt/sources.list.d/kubernetes.list deb https://mirrors.aliyun.co

scu_07_bingo的博客 549

同一块2口网卡,1个网口做发包,另1个网口运行testpmd

使用PXE批量安装CentOS7系统 PXE主基本配置 本次使用的是公司自己开发的主板,名字简称为小七,小七的基本配备如下: 一块装有CentOS 7.6 的硬盘,大小1T; 有7个千兆电口(实际我们简易环境只要一个就可以了); CentOS 7.6的U盘安装盘或者光盘安装盘或者镜像文件(随便一个就行); 一根网线,可以连接外网,方便安装软件。 关闭防火墙和selinux 关闭防火墙,设置开不启动 systemctl status firewalld # 查看防火墙的状态 systemctl st

monvhh的博客 1743

如何抵御频发的 DDOS 攻击

作者 |阿文责编 | 郭芮2016年5月,不法黑客针对全球范围内的多家银行网站发动了一系列的DDoS攻击。导致约旦、韩国以及摩纳哥等央行网络系统陷入了半小时的瘫痪状态,无法进行正常工作...

CSDN资讯 2570

linux攻击

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

码懵 1170

linux调优

为什么要性能调优? 大部分的linux发行版是为了完全兼容市场中大部分计算而设计的。这是一个相当混杂的硬件集合(硬盘,显卡,网卡,等等)。所以Red Hat, Suse,Mandriva和其他的一些发行版厂商选择了一些保守的设置来确保安装成功。 简单地说:你的发行版运行的很好,但是它可以运行地更好! 比如,可能有一个具体一些特殊特性的高级硬盘,而这些特性在标准配置的情况下可能就没被启用。

小耗子的博客 6711

威力强悍的 syn发包工具

一款亲测,威力强悍的服务器发包工具,100%无毒可放心使用

iptables防护ddos***规则

转自https://czmmiao.iteye.com/blog/1616837 前言 虚拟主服务商在运营过程中可能会受到******,常见的***方式有SYN,DDOS等。通过更换IP,查找被***的站点可能避开***,但是中断服务的时间比较长。比较彻底的解决方法是添置硬件防火墙。不过,硬件防火墙价格比较昂贵。可以考虑利用Linux 系统本身提供的防火墙功能来防御。SYN***是利用TCP/...

weixin_34342578的博客 914

Linux系统下的DDOS***防范

squid主要是利用其端口映射的功能,可以将80端口转换一下,其实一般的DDOS***可以修改/proc/sys/net/ipv4 /tcp_max_syn_backlog里的参数就行了,默认参数一般都很小,设为8000以上,一般的DDOS***就可以解决了。如果上升到 timeout阶段,可以将/proc/sys/net/ipv4/tcp_fin_timeout设小点。  ...

weixin_33804582的博客 97

Java岗大厂面试百日冲刺【Day46】— Linux2 (日积月累,每日三题

本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。负载均衡建立在现有网络结构之上,为扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性提供一种廉价有效透明的方法,CC攻击会使服务器大量的网络传输而过载,所以对DDoS流量攻击和CC攻击都很见效,用户访问速度也会加快。攻击,即是通过大量合法的请求占用大量网络资源,以达到瘫痪网络的目的。,更改 SSH 端口号。

m0_v648374的博客 879

腾讯Linux 运维工程师面试真题

腾讯Linux 运维工程师面试真题 1、 如何防止 DDOS 攻击?如提供足够资源给你,要保证用户访问不影响。 首先确定攻击源范围,如果是处于公司内部,那么暂时性的将这一区域的内部网络封掉,如 果是外部 IP 那么通过防火墙或者软件进行 IP 过滤,这样能够一定程度上减缓承受的攻击 压力。其次,开启备用服务器,如果攻击流量过大,限制大流量访问,保证大多数用户的正 常使用。 2、简述 CC 攻击原...

三思博客 348

Linux面试题(2024最新版),终局之战

1)硬链接由于 Linux 下的文件是通过索引节点(inode)来识别文件,硬链接可以认为是一个指针,指向文件索引节点的指针,系统并不为它重新分配 inode。每添加一个一个硬链接,文件的链接数就加 1。不足:1)不可以在不同文件系统的文件间建立链接;2)只有超级用户才可以为目录创建硬链接。2)软链接软链接克服了硬链接的不足,没有任何文件系统的限制,任何用户可以创建指向目录的符号链接。因而现在更为广泛使用,它具有更大的灵活性,甚至可以跨越不同器、不同网络对文件进行链接。

2401_84181193的博客 922

Linux内核调整和内核参数详解

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SYN COOKIE原

ytfhjhv的博客 226

linux命令

把java.log 复制到/opt/logs/下。ll (ll:list的缩写,查看列表详情)查看当前目录下的所有详细信息和文件夹(ll 结果是详细,有时间,tar -zxvf redis-3.2.8.tar.gz -C /opt/java/;硬链接:由于 Linux 下的文件是通过索引节点(inode)来识别文件,硬链接可以认为是一个指针,

bmtian1的博客 72
上一篇: Nginx做前端,Apache做后端的配置实例
下一篇: linux使用技巧及经验
did
did
博客等级 码龄15年 1粉丝 4原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值