在Linux中防御SYN型DOS攻击的方法比较常见的有:
1、增大队列SYN最大半链接数
2、利用SYN cookie技术
 
下面分别进行分析。
1、增大队列SYN最大半连接数
在LINUX中执行命令“sysctl -a|grep net.ip4.tcp_max_syn_backlog”,在返回的“net.ipv4.tcp_max_syn_backlog=256”中显示Linux队列的最大半连接容量是256.
这个默认值对于web服务器来说远远不够的,一次简单的SYN攻击就足以将其完全占用。因此,防御DOS攻击 最简单的办法就是增大这个默认值,在Linux
中执行命令“sysctl -w net.ipv4.tcp_mac_syn_backlog=3000”,这样就可以将队列SYN最大半连接容量值改为3000了。
 
2、利用SYN cookie技术
SYN Cookie 是用一个Cookie来响应TCP SYN请求的,在正常的TCP连接过程中,当服务器接收一个SYN数据包,就会返回一个SYB-ACK包来应答,然后进入
TCP-SYN-RECV(半开放连接)状态来等待最后返回的ACK包。服务器用一个数据空间来描述所有未决的连接,然而这个数据空间的大小是有限的,所以攻击者将塞满 这个空间,在TCP SYN COOKIE 的执行过程中,当服务器收到一个SYN包的时候,他返回一个SYN-ACK包,这个数据包的ACK序列号是经过加密的,它由TCP连接的源地址和端口号,目标地客户端返回后,服务器重新计算COOKIE来判断它是不是上个SYN-ACK的返回包。如果是的话,服务器就可以直接进入TCP连接状态并打开连接。这样服务器就可以避免守候半开放连接了,在Linux中执行没命了“echo ”echo “1” > /proc/sys/net/ipv4/tcp_syncookies" > > /etc/rc_local",这样既可启动SYN Cookie,并将其添加到了Linux的启动文件,这样即使系统重启也影响SYN Cookie 的激活状态。
 
 
 
 
第二步:在渗透测试机打开Wireshark程序,并配置过滤条件:
 

 
 
第三步:在渗透机执行hping3程序发起SYN Flood (面向靶机TCP23端口)
 
 
 

第四步:打开Wireshark程序,对SYN Flood过程进行分析:

 
 

配置Linux描述网络安全CIA模型之可用性案例的更多相关文章

  1. Linux 的 Socket IO 模型

    前言 之前有看到用很幽默的方式讲解Windows的socket IO模型,借用这个故事,讲解下linux的socket IO模型: 老陈有一个在外地工作的女儿,不能经常回来,老陈和她通过信件联系. 他 ...

  2. Linux五种IO模型(同步 阻塞概念)

    Linux五种IO模型 同步和异步 这两个概念与消息的通知机制有关. 同步 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回.比如,调用readfrom系统调用时,必须等待IO操 ...

  3. Windows五种IO模型性能分析和Linux五种IO模型性能分析

    Windows五种IO模型性能分析和Linux五种IO模型性能分析 http://blog.csdn.net/jay900323/article/details/18141217 http://blo ...

  4. Linux单用户CS模型TCP通讯完全注释手册

    Linux单用户CS模型TCP通讯完全注释手册 server 描述 实现一个简单的Linux单用户CS通讯,客户端发送一串字符串,服务器将其转换为大写后返回. server 代码 ``` #inclu ...

  5. 配置Linux实现静态路由

    配置Linux实现静态路由 背景和原理 路由器的功能是实现一个网段到另一个网段之间的通信,路由分为静态路由.动态路由. 默认路由和直连路由.静态路由是手工指定的,使用静态路由的好处是网络安全保密性高. ...

  6. Linux 网络 I/O 模型简介(图文)(转载)

    Linux 网络 I/O 模型简介(图文)(转载) 转载:http://blog.csdn.net/anxpp/article/details/51503329 1.介绍 Linux 的内核将所有外部 ...

  7. 从 Linux 操作系统谈谈 IO 模型(终)

    Linux 为什么要区分内核空间与用户空间? Linux 操作系统的 IO 模型有哪几种?有啥区别? 常说的阻塞现象,到底是咋回事? 网络编程研发时,那块到底耗时最多,代码是否还有优化空间? 前几期的 ...

  8. 框架篇:见识一下linux高性能网络IO+Reactor模型

    前言 网络I/O,可以理解为网络上的数据流.通常我们会基于socket与远端建立一条TCP或者UDP通道,然后进行读写.单个socket时,使用一个线程即可高效处理:然而如果是10K个socket连接 ...

  9. linux下的IO模型---学习笔记

    1.linux文件系统和缓存 文件系统接口 文件系统-一种把数据组织成文件和目录的存储方式,提供了基于文件的存取接口,并通过文件权限控制访问. 存储层次 文件系统缓存 主存(通常时DRAM)的一块区域 ...

随机推荐

  1. HDU-1398-Square Coins(母函数)

    链接: https://vjudge.net/problem/HDU-1398 题意: People in Silverland use square coins. Not only they hav ...

  2. 使用其他服务器引入JS文件

    使用其他服务器引入JS文件,1,减轻服务器压力2,速度快3,可以缓存 cdnjs库,更新比较快https://cdnjs.com/ cdn库 引入JS文件如:jquerybootcdn : https ...

  3. log4j2配置文件log4j2.xml详解

    配置全解 1.缺省默认配置文件 <?xml version="1.0" encoding="UTF-8"?> <Configuration s ...

  4. java+上传+文件夹

    我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用. 首先我们需要了解的是上传文件三要素:   1.表单提交方式:post (get方式提交有 ...

  5. s-w-i-p-e-r做一个-老-唬-机-抽-蒋

    <template> <div class="selfLotteryBox"> <div class="row"> < ...

  6. 【免费】Linux命令行与Shell脚本编程大全 第3版 PDF全本 21MB 百度网盘下载

    2019年7月12日更新 链接: https://pan.baidu.com/s/17RDrepFf-GI427I7k3jBcQ 提取码: qk8k 网上的大部分都要积分什么的,很麻烦.这本很清晰,分 ...

  7. vue pc element-ui class

    按需引入element-ui npm install babel-plugin-component -D   先安装这个 然后在babelrc中配置: 在plugins中加入红色框的那一部分 [ &q ...

  8. Linux下vim卡死原因

    使用vim的时候,偶尔会碰到vim莫名其妙的僵在那里. 解决方案: 经查,原来Ctrl+S在Linux里是锁定屏幕的快捷键,如果要解锁,按下Ctrl+Q就可以了. 经验总结: 牢记这两个VIM组合键 ...

  9. java1.8 lambda进行并行运算

    parallelStream()支持并行运算: package com.roocon.thread.t2; import java.util.Arrays; import java.util.List ...

  10. GO windows下编译luajit

    1 GO嵌入luajit需要用到cgo,使用cgo需要安装gcc,在windows上下载MinGW-W64安装上配置好环境变量就可以 2 gcc编译luajit,生成.a文件. 把LuaJIT-2.0 ...