您的需求已经提交,我们将在48小时内联系您
全国服务热线:400-1000-221
确定
免费享受企业级云安全服务
获取手机验证码
{{message}}
免费试用

linux服务器防御ddos

作者:
发布时间:2021-03-04

  Linux服务器在运营过程中可能会受到黑客攻击,常见的攻击方式有SYN,DDOS等。通过更换IP,查找被攻击的站点可能避开攻击,但是中断服务的时间比较长。比较彻底的解决方法是添置硬件防火墙。不过,硬件防火墙价格比较昂贵。可以考虑利用Linux 系统本身提供的防火墙功能来防御。这里跟大家稍微聊聊linux服务器防御ddos攻击的方式吧。

  linux服务器防御ddos

  有需要linux服务器防御ddos攻击的朋友,可以下载服务器安全狗这款ddos服务器防御软件,除了能够对保护服务器免受ddos攻击以外,还能对服务器进行木马查杀,另外这款软件还能帮助用户修复服务器漏洞,并且能够对服务器进行24小时的监控防御,保护服务器的日志和流量,避免被黑客入侵对服务器造成破坏。

  拥有病毒查杀、木马查杀、网络安全保护、网站/注册表保护防篡改、屏蔽入侵、服务器安全加固、入侵/注入拦截等多种服务器安全防范功能,是一款专门针对服务器安全而研发的软件,功能全面而完善。

  免费服务器安全狗下载地址,免费使用:http://free.safedog.cn/server_safedog.html

  服务器防御旗舰版产品:http://www.safedog.cn/index/publicCloudIndex.html

  

linux服务器防御ddos

 

  多引擎,精准查杀网页木马、各类病毒

  独有的安全狗云查杀引擎、网马引擎与专业的二进制病毒引擎结合,精确查杀各类网页木马和主流病毒。多引擎智能查杀病毒,全面保障服务器安全。

  三层网络防护,实时保护网络安全

  强有力的网络防护,实时监测IP和端口访问的合法性,实时拦截ARP攻击、Web攻击(抗CC)、DDOS攻击、暴力破解。

  全面的文件/注册表保护,杜绝非法篡改

  全面开放保护规则,同时支持监控网站目录,有效保护重要文件、目录与注册表不被篡改与删除,实时防止网站被上传网页木马。系统默认规则与用户自定义规则全支持,灵活定制,全面保护。

  底层驱动防护,屏蔽入侵提权

  驱动级保护,拦截更快速,有效防止未授权的非法用户登录服务器,实时阻止非法创建和修改系统帐号。

  服务器安全加固,避免配置风险

  全面的服务器体检,暴露安全隐患,当前系统健康情况了然于心,同时提供贴心的优化建议措施,加固服务器更简单,系统运行更快速,更安全。

  

linux服务器防御ddos

 

  linux服务器防御ddos

  linux服务器防御ddos攻击,除非自己有专门的安全攻防团队,不然大部分企业都是与安全厂商合作,使用服务器安全防御产品保护服务器的安全,这里跟大家介绍一下安全狗的服务器防御系统软件。

  比较全能的产品可以试试服务器安全狗这款免费的服务器防御系统软件,可以比较全面的提升服务器的防御能力,抵抗一定程度的入侵攻击,有需要的朋友可以自行下载使用。

  付费的产品可以了解下安全狗的云磐产品,用户可以根据自己的需求进行选择相对应的服务和扩充,以下是云磐产品的介绍。

  免费服务器安全狗:http://free.safedog.cn/server_safedog.html

  云磐:一站式云安全SaaS平台:http://www.safedog.cn/index/publicCloudIndex.html

  

linux服务器防御ddos

 

  安全狗以 SECaaS安全即为用户提供一站 式的云安全产品与服务,包括(云)主机安全、WEB 应用安全、网站防篡改、抗 DDoS 云服务、安全大数据态势感知等,同时平台配备 7*24

  小时的安全专家服务,真 正为用户构建安全即服务模式的纵深防御产品和服务,为业务发展保驾护航。

  日志分析及态势感知云服务

  云磐融合大数据分析技术、可视化技术、威胁情报技术于一体,为企业构建的新一代云安全管理平台。

  安全大数据分析,全方位融合安全数据,进行多维度智能分析

  可视化大屏展示,提供整体态势感知、攻防对抗态势、流量访问态势、威胁事件态势四屏展示

  态势预测,可发现威胁态势的走向,预见风险,防范于未然

  威胁情报驱动,依托于安全狗观鸿威胁情报服务平台

  

linux服务器防御ddos

 

  Web应用安全云服务

  云磐通过网络层过滤和主机层应用自保护(RASP)相结合的技术,既能够过滤传统常见的攻击又可以对异常变形和未知漏洞的高级攻击进行识别,达到双层纵深防御的效果。

  集中管理网站和WAF防护节点

  通过平台设置各个防护节点安全策略,并下发至防护节点

  以可视化的形式统计网站的安全状态,展现网站的风险和威胁

  集中管理网站和WAF防护节点

  网页防篡改云服务

  云磐采用第二代密码水印技术+第三代系统驱动级文件保护技术双结合,对网站安全进行双重防护,具有响应速度快、判断准确、资源暂用少及部署灵活等特点。

  基于内核驱动防护技术,支持单独文件、文件夹及多级文件夹目录内容篡改保护

  水印技术阻止被篡改网页流出,并自动恢复被篡改文件

  支持断线状态下阻止篡改内容流出,返回篡改提示页面

  完全防护技术,支持大规模连续篡改攻击防护

  (云)主机安全服务

  云磐采用先进的端点检测及响应(EDR)技术模型及自适应安全架构相结合的理念思路来构建的新一代 ( 云 ) 主机入侵监测及安全管理云服务系统。

  解决公有云环境中遇到的安全及管理问题

  解决新安全形势下数据中心安全问题

  结合威胁情报进行主机终端异常行为捕获及分析

  满足 ( 云 ) 等保 2.0 对于主机安全的合规性要求

  抗DDoS云服务

  云磐提供了高效流量清洗中心,针对从网络层到应用层的攻击流量进行精确清洗。目前可清洗的流量峰值超过500Gbps。采用即用即开的机制,通过敏锐流量监测机制来弹性判断用户是否需要开启抗D服务。

  快速感知,弹性控制,可快速适应不同流量的攻击

  全面抵抗CC攻击以及各种纯流量攻击

  专家全程参与防御,协助做出最正确的响应措施

  能力强劲,可清洗的流量峰值超过500Gbps

  

linux服务器防御ddos

 

  linux服务器防御ddos

  DDOS攻击的本质是:

  利用木桶原理,寻找利用系统应用的瓶颈;阻塞和耗尽;当前问题:用户的带宽小于攻击的规模,噪声访问带宽成为木桶的短板。

  可以参考下面的例子理解下DDOS攻击。

  1)某饭店可以容纳100人同时就餐,某日有个商家恶意竞争,雇佣了200人来这个饭店坐着不吃不喝,导致饭店满满当当无法正常营业。(DDOS攻击成功)

  2)老板当即大怒,派人把不吃不喝影响正常营业的人全都轰了出去,且不再让他们进来捣乱,饭店恢复了正常营业。(添加规则和黑名单进行DDOS防御,防御成功)

  3)主动攻击的商家心存不满,这次请了五千人逐批次来捣乱,导致该饭店再次无法正常营业。(增加DDOS流量,改变攻击方式)

  4)饭店把那些捣乱的人轰出去只后,另一批接踵而来。此时老板将饭店营业规模扩大,该饭店可同时容纳1万人就餐,5000人同时来捣乱饭店营业也不会受到影响。(增加硬防与其抗衡)

  DDOS攻击只不过是一个概称,其下有各种攻击方式,比如:”CC攻击、SYN攻击、NTP攻击、TCP攻击、DNS攻击等等”,现在DDOS发展变得越来越可怕,NTP服务放大攻击渐渐成为主流了,这意味着可以将每秒的攻击流量放大几百倍,比如每秒1G的SYN碎片攻击换成NTP放大攻击,就成为了200G或者更多。

  顺便介绍下NTP服务放大攻击

  什么是NTP服务?

  网络时间协议NTP(Network Time Protocol)是用于互联网中时间同步的标准互联网协议。NTP服务器通过NTP服务向网络上的计算机或其他设备提供标准的授时服务,以保证这些服务系统的时钟能够同步。通常NTP服务使用UDP 123端口提供标准服务。

  什么是NTP服务放大攻击?

  标准NTP 服务提供了一个 monlist查询功能,也被称为MON_GETLIST,该功能主要用于监控 NTP 服务器的服务状况,当用户端向NTP服务提交monlist查询时,NTP 服务器会向查询端返回与NTP 服务器进行过时间同步的最后 600 个客户端的 IP,响应包按照每 6 个 IP 进行分割,最多有 100 个响应包。由于NTP服务使用UDP协议,攻击者可以伪造源发地址向NTP服务进行monlist查询,这将导致NTP服务器向被伪造的目标发送大量的UDP数据包,理论上这种恶意导向的攻击流量可以放大到伪造查询流量的100倍。

  NTP是用UDP传输的,所以可以伪造源地址。NTP协议中有一类查询指令,用短小的指令即可令服务器返回很长的信息,放大攻击就是基于这类指令的。

  比如:

  小明以吴一帆的名义问李雷”我们班有哪些人?” ,李雷就回答吴一帆说”有谁谁谁和谁谁谁……”””(几百字),那么小明就以8个字的成本,令吴一帆收到了几百字的信息,所以叫做放大攻击。

  (也就是说:对方服务器是个话唠,你以小明的身份问他一个问题,他回答小明一千句,结果小明崩溃了)

  网络上一般NTP服务器都有很大的带宽,攻击者可能只需要1Mbps的上传带宽欺骗NTP服务器,即可给目标服务器带来几百上千Mbps的攻击流量,达到借刀杀人的效果。

  所以现在新的ntpd已经可以通过配置文件,关掉除时间同步以外的查询功能。而时间同步的查询和返回大小相同(没记错的话),所以没办法用作放大攻击。

  如何查看是否遭受NTP放大攻击?

  如果网络上检测到大流量的UDP 123端口的数据,就可以确认正在遭受此类攻击。

  如何防范NTP放大攻击?

  1)升级服务程序版本

  将系统中的NTP服务升级到 ntpd 4.2.7p26 或之后的版本,因为 ntpd 4.2.7p26 版本后,服务默认是关闭monlist查询功能的。

  2)关闭服务的monlist查询功能:

  首先查询问题主机的REQ_MON_GETLIST和REQ_MON_GETLIST_1请求是否可用。具体操作方法:

  # ntpq -c rv

  # ntpdc -c sysinfo

  # ntpdc -n -c monlist

  123

  如果上述功能可用,可尝试通过修改ntp.conf文件解决问题,具体操作建议是在上述配置文件中增加下面的配置:

  IPV4: restrict default kod nomodify notrap nopeer noquery

  IPv6: restrict -6 default kod nomodify notrap nopeer noquery

  允许发起时间同步的IP,与本服务器进行时间同步,但是不允许修改ntp服务信息,也不允许查询服务器的状态信息(如monlist)*/

  另外,还可以配置限制访问命令,如:

  restrict default noquery #允许普通的请求者进行时间同步,但是不允许查询ntp服务信息*/

  修改并保存配置文件之后,请重启ntpd服务。

  近年来,一些重大的DDOS攻击案例:

  1)2000年2月,包括雅虎、CNN、亚马逊、eBay、http://Buy.com、ZDNet,以及E*Trade和Datek等网站均遭受到了DDOS攻击,并致使部分网站瘫痪。

  2)2007年5月,爱沙尼亚三周内遭遇三轮DDOS攻击,总统府、议会、几乎全部政府部门、主要政党、主要媒体和2家大银行和通讯公司的网站均陷入瘫痪,为此北约顶级反网络恐怖主义专家前往该国救援。

  3)2009年519断网事件导致南方六省运营商服务器全部崩溃,电信在南方六省的网络基本瘫痪。2009年7月,韩国主要网站三天内遭遇三轮猛烈的DDOS攻击,韩国宣布提前成立网络司令部。

  4)比较著名的案例还有有:

  全球三大游戏平台:暴雪战网、Valve Steam和EA Origin遭到大规模DDoS攻击,致使大批玩家无法登录与进行游戏。随后名为DERP的黑客组织声称对此次大规模的DDoS攻击行动负责。

  对于DDOS攻击的简单防护措施:

  1)关闭不必要的服务和端口;

  2)限制同一时间内打开的syn半连接数目;

  3)缩短syn半连接的超时时间;

  4)及时安装系统补丁;

  5)禁止对主机非开放服务的访问;

  6)启用防火墙防DDOS属性。硬件防火墙价格比较昂贵,可以考虑利用Linux系统本身提供的防火墙功能来防御。

  7)另外也可以安装相应的防护软件,这里强烈建议安装安全狗软件,防护性能不错,并且免费。

  8)购买DDOS防御产品,比如阿里云盾的DDOS防御中的高防IP,这个使用起来,效果也很给力。

  接下来说下Linux系统下预防DDOS攻击的操作:

  Linux服务器在运行过程中可能会受到黑客攻击,常见的攻击方式有SYN,DDOS等。

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

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

  Linux内核提供了若干SYN相关的配置,加大SYN队列长度可以容纳更多等待连接的网络连接数,打开SYN Cookie功能可以阻止部分SYN攻击,降低重试次数也有一定效果。

  而DDOS则是通过使网络过载来干扰甚至阻断正常的网络通讯,通过向服务器提交大量请求,使服务器超负荷,阻断某一用户访问服务器阻断某服务与特定系统或个人的通讯。可以通过配置防火墙或者使用脚本工具来防范DDOS攻击;

  1)优化几个sysctl内核参数:

  [root@test3-237 ~]# vim /etc/sysctl.conf

  ......

  net.ipv4.tcp_max_syn_backlog = 4096 #表示SYN队列的长度,加大队列长度可以容纳更多等待连接的网络连接数

  net.ipv4.tcp_syncookies = 1 #表示开启SYN Cookies功能。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭,1表示打开;

  net.ipv4.tcp_synack_retries = 2 #下面这两行表示定义SYN重试次数

  net.ipv4.tcp_syn_retries = 2

  #提高TCP连接能力

  net.ipv4.tcp_rmem = 32768

  net.ipv4.tcp_wmem = 32768

  net.ipv4.tcp_sack = 0 #打开tcp_sack功能,1表示"关闭",0表示"打开"

  [root@test3-237 ~]# sysctl -p #使上面配置生效

  12345678910111213

  2)利用linux系统自带iptables防火墙进行预防:

  先查看服务器上连接web端口(比如80端口)的哪个ip是最多的,如果发现可疑ip,就果断将其断开与服务器连接

  查看80端口的连接情况

  [root@test3-237 ~]# netstat -an | grep ":80" | grep ESTABLISHED

  1

  下面的命令表示获取服务器上ESTABLISHED连接数最多的前10个ip,排除了内部ip段192.168|127.0开头的。

  [root@test3-237 ~]# /bin/netstat -na|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -rn|head -10|grep -v -E '192.168|127.0'

  4001 140.205.140.205

  2388 124.65.197.154

  1807 111.205.224.15

  18 10.51.58.16

  .......

  123456

  将上面140.205.140.205、124.65.197.154、111.205.224.15的这三个ip的包丢弃

  [root@test3-237 ~]# iptables -A INPUT -s 140.205.140.205 -p tcp -j DROP

  [root@test3-237 ~]# iptables -A INPUT -s 124.65.197.154 -p tcp -j DROP

  [root@test3-237 ~]# iptables -A INPUT -s 111.205.224.15 -p tcp -j DROP

  [root@test3-237 ~]# service iptables save

  [root@test3-237 ~]# service iptables restart

  12345

  不过上面的方法对于伪造源IP地址的SYN FLOOD攻击就无效了!

  其他预防攻击的设置

  防止同步包洪水(Sync Flood),缩短SYN-Timeout时间:

  [root@test3-237 ~]# iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT

  [root@test3-237 ~]# iptables -A INPUT -i eth0 -m limit --limit 1/sec --limit-burst 5 -j ACCEPT

  12

  其中:

  –limit 1/s 限制syn并发数每秒1次,可以根据自己的需要修改防止各种端口扫描

  [root@test3-237 ~]# iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

  1

  Ping洪水攻击(Ping of Death)

  [root@test3-237 ~]# iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

  1

  控制单个IP的最大并发连接数。

  如下设置表示:允许单个IP的最大连接数为 30

  [root@test3-237 ~]# iptables -I INPUT -p tcp --dport 80 -m connlimit --connlimit-above 30 -j REJECT

  1

  控制单个IP在一定的时间(比如60秒)内允许新建立的连接数。

  如下设置表示:单个IP在60秒内只允许最多新建30个连接

  [root@test3-237 ~]# iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --update --seconds 60 --hitcount 30 -j REJECT

  [root@test3-237 ~]# iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --set -j ACCEPT

  12

  如果出现报错:

  iptables: Invalid argument. Run `dmesg’ for more information.

  解决办法:

  增加 xt_recent模块的参数值即可,默认是20

  [root@test3-237 ~]# cat /sys/module/xt_recent/parameters/ip_pkt_list_tot

  20

  [root@test3-237 ~]# echo 50 > /sys/module/xt_recent/parameters/ip_pkt_list_tot

  [root@test3-237 ~]# cat /sys/module/xt_recent/parameters/ip_pkt_list_tot

  50

  12345

  禁止ping(即禁止从外部ping这台服务器):

  [root@test3-237 ~]# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

  1

  用iptables屏蔽IP(如下禁止213.8.166.237连接本机的80端口)

  [root@test3-237 ~]# iptables -A INPUT -s 213.8.166.227 -p tcp -m tcp -m state --state NEW --dport 80 --syn -j REJECT

  1

  允许某ip连接(如下允许13.78.66.27连接本机的80端口)

  [root@test3-237 ~]# iptables -A INPUT -s 13.78.66.27 -p tcp -m tcp -m state --state NEW --dport 80 --syn -j ACCEPT

  1

  3)使用DDoS deflate脚本自动屏蔽攻击ip

  DDoS deflate是一款免费的用来防御和减轻DDoS攻击的脚本。它通过netstat监测跟踪创建大量网络连接的IP地址,在检测到某个结点超过预设的限制时,该程序会通过APF或IPTABLES禁止或阻挡这些IP.

  DDoS deflate其实是一个Shell脚本,使用netstat和iptables工具,对那些链接数过多的IP进行封锁,能有效防止通用的恶意扫描器,但它并不是真正有效的DDoS防御工具。

  DDoS deflate工作过程描述:

  同一个IP链接到服务器的连接数到达设置的伐值后,所有超过伐值的IP将被屏蔽,同时把屏蔽的IP写入ignore.ip.list文件中,与此同时会在tmp中生成一个脚本文件,这个脚本文件马上被执行,但是一

  运行就遇到sleep预设的秒,当睡眠了这么多的时间后,解除被屏蔽的IP,同时把之前写入ignore.ip.list文件中的这个被封锁的IP删除,然后删除临时生成的文件。

  一个事实:如果被屏蔽的IP手工解屏蔽,那么如果这个IP继续产生攻击,那么脚本将不会再次屏蔽它(因为加入到了ignore.ip.list),直到在预设的时间之后才能起作用,加入到了ignore.ip.list中的

  IP是检测的时候忽略的IP。可以把IP写入到这个文件以避免这些IP被堵塞,已经堵塞了的IP也会加入到ignore.ip.list中,但堵塞了预定时间后会从它之中删除。

  如何确认是否受到DDOS攻击?

  [root@test3-237 ~]# netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

  1 Address

  1 servers)

  2 103.10.86.5

  4 117.36.231.253

  4 19.62.46.24

  6 29.140.22.18

  8 220.181.161.131

  2911 167.215.42.88

  123456789

  每个IP几个、十几个或几十个连接数都还算比较正常,如果像上面成百上千肯定就不正常了。比如上面的167.215.42.88,这个ip的连接有2911个!这个看起来就很像是被攻击了!

  下面就说下通过DDoS deflate脚本来自动屏蔽DDOS攻击的ip

  1)下载DDoS deflate安装脚本,并执行安装。

  [root@test3-237 ~]# wget http://www.inetbase.com/scripts/ddos/install.sh

  [root@test3-237 ~]# chmod 0700 install.sh

  [root@test3-237 ~]# ./install.sh

  123

  卸载DDos default的操作如下:

  # wget http://www.inetbase.com/scripts/ddos/uninstall.ddos

  # chmod 0700 uninstall.ddos

  # ./uninstall.ddos

  123

  2)配置DDoS deflate下面是DDoS deflate的默认配置位于/usr/local/ddos/ddos.conf ,内容如下:

  [root@test3-237 ~]# cat /usr/local/ddos/ddos.conf

  ##### Paths of the script and other files

  PROGDIR="/usr/local/ddos"

  PROG="/usr/local/ddos/ddos.sh"

  IGNORE_IP_LIST="/usr/local/ddos/ignore.ip.list" //IP地址白名单

  CRON="/etc/cron.d/ddos.cron" //定时执行程序

  APF="/etc/apf/apf"

  IPT="/sbin/iptables"

  ##### frequency in minutes for running the script

  ##### Caution: Every time this setting is changed, run the script with --cron

  ##### option so that the new frequency takes effect

  FREQ=1 //检查时间间隔,默认1分钟。设置检测时间间隔,默认是分钟,由于系统使用crontab功能,最小单位是分钟

  ##### How many connections define a bad IP? Indicate that below.

  NO_OF_CONNECTIONS=150 //最大连接数,超过这个数IP就会被屏蔽,一般默认即可。默认是150,这是一个经验值,如果服务器性能比较高,可以设置200以上,以避免误杀

  ##### APF_BAN=1 (Make sure your APF version is atleast 0.96)

  ##### APF_BAN=0 (Uses iptables for banning ips instead of APF)

  APF_BAN=0 //使用APF还是iptables屏蔽IP。推荐使用iptables,将APF_BAN的值改为0即可。设置为1表示使用APF,如果使用APF则需要先安装,centos中默认就没有安装

  ##### KILL=0 (Bad IPs are'nt banned, good for interactive execution of script)

  ##### KILL=1 (Recommended setting)

  KILL=1 //是否屏蔽IP,默认即可

  ##### An email is sent to the following address when an IP is banned.

  ##### Blank would suppress sending of mails

  EMAIL_TO="root" //当IP被屏蔽时给指定邮箱发送邮件,推荐使用,换成自己的邮箱即可。如果不希望发送邮件,设置为空,即EMAIL_TO=""

  ##### Number of seconds the banned ip should remain in blacklist.

  BAN_PERIOD=600 //禁用IP时间(锁定ip的时间),默认600秒,可根据情况调整

  12345678910111213141516171819202122232425262728293031

  需要注意的是:

  DDos default安装完成后在/usr/local/ddos目录下产生了ddos.conf、ddos.sh、ignore.ip.list和LICENSE这四个文件,其中:

  ddos.conf是配置文件,ddos.sh是一个Shell文件,ignore.ip.list是存放忽略IP的文件,LICENSE是版权声明文件,安装完成后还在/etc/cron.d/下生产了ddos.cron文件,内容如下:

  [root@test3-237 ~]# cat /etc/cron.d/ddos.cron

  SHELL=/bin/sh

  0-59/1 * * * * root /usr/local/ddos/ddos.sh >/dev/null 2>&1

  123

  意思是每隔一分钟执行一下/usr/local/ddos/ddos.sh,这个脚本是关键!

  这个cron任务是依赖ddos.conf文件中的NO_OF_CONNECTIONS变量产生的,如果修改了此值,可以通过运行如下命令更新(实际也是在安装是运行了如下命令):

  [root@test3-237 ~]# /usr/local/ddos/ddos.sh -c

  Stopping crond: [ OK ]

  Starting crond: [ OK ]

  Stopping crond: [ OK ]

  Starting crond: [ OK ]

  或者

  [root@test3-237 ~]# /usr/local/ddos/ddos.sh --cron

  Stopping crond: [ OK ]

  Starting crond: [ OK ]

  Stopping crond: [ OK ]

  Starting crond: [ OK ]

  123456789101112

  3)DDos default选项

  # /usr/local/ddos/ddos.sh -h #查看选项

  # /usr/local/ddos/ddos.sh -k n #杀掉连接数大于n的连接。n默认为配置文件的NO_OF_CONNECTIONS

  12

  比如:

  [root@test3-237 ~]# /usr/local/ddos/ddos.sh -k 150

  2 103.110.186.75

  1 servers)

  1 Address

  # /usr/local/ddos/ddos.sh -c #按照配置文件创建一个执行计划。使得ddos.conf文件配置后生效

  12345

  4)分享一个防御DDOS攻击的shell脚本

  Linux服务器中一旦受到DDOS的攻击(比如IDC机房服务器被攻击了,关机,拔网线,降流量),目前只能通过封IP来源来暂时解决。

  然而IP来源变化多端,光靠手工来添加简直是恶梦,所以还是想办法写个shell脚本来定时处理,这才是比较靠谱的办法。

  [root@test3-237 ~]# mkdir /root/bin

  [root@test1-237 ~]# cat /root/bin/dropip.sh //此脚本自动提取攻击ip,然后自动屏蔽

  #!/bin/bash

  /bin/netstat -na|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -rn|head -10|grep -v -E '192.168|127.0'|awk '{if ($2!=null && $1>4) {print $2}}'>/tmp/dropip

  for i in $(cat /tmp/dropip)

  do

  /sbin/iptables -A INPUT -s $i -j DROP

  echo “$i kill at `date`”>>/var/log/ddos

  done

  123456789

  以上脚本中最重要的是第二行,即:

  获取ESTABLISHED连接数最多的前10个ip并写入临时文件/tmp/dropip,排除了内部ip段192.168|127.0开头的.通过for循环将dropip里面的ip通过iptables全部drop掉,然后写到日志文件/var/log/ddos。

  给脚本添加执行权限

  [root@test1-237 ~]# chmod +x /root/bin/dropip.sh

  1

  添加到计划任务,每分钟执行一次

  [root@test1-237 ~]#crontab -e

  */1 * * * * /root/bin/dropip.sh

  12

  下面是针对连接数屏蔽IP

  #!/bin/sh

  /bin/netstat -ant |grep 80 |awk '{print $5}' |awk -F":" '{print $1}' |sort |uniq -c |sort -rn |grep -v -E '192.168|127.0' |awk '{if ($2!=null && $1>50)}' > /root/drop_ip.txt

  for i in `cat /root/drop_ip.txt`

  do

  /sbin/iptables -I INPUT -s $i -j DROP;

  done

  123456

  5)Linux下使用safedog(安全狗)软件防御DDOS攻击:

  [root@test3-237 ~]# setenforce 0 //关闭selinux,否则不能安装成功

  [root@test3-237 ~]# getenforce //永久关闭selinux需要配置/etc/sysconfig/selinux文件,并重启机器生效!!

  Permissive

  123

  安装(nginx版)安全狗(safedog)

  [root@test3-237 ~]# wget http://safedog.cn/safedogwz_linux_Nginx64.tar.gz

  [root@test3-237 ~]# tar -zvxf safedogwz_linux_Nginx64.tar.gz

  [root@test3-237 ~]# cd safedogwz_linux_Nginx64

  [root@test3-237 safedogwz_linux_Nginx64]# chmod 755 install.py

  [root@bastion-IDC safedogwz_linux_Nginx64]# ls

  install_files install.py uninstall.py

  [root@test3-237 safedogwz_linux_Nginx64]# ./install.py -A //卸载安全狗就用uninstall.py

  .......

  step 3.5, start service... [ok]

  step 3.6, save safedog install info... [ok]

  Tips:

  (1)Run the command to setup Server Defense Module: sdui

  (2)Explore more features by tapping the command to join Cloud Management Center (fuyun.safedog.cn) with your account: sdcloud -h

  If you need any help about installation,please tap the command: ./install.py -h

  Install Completely!

  12345678910111213141516

  温馨提示:

  1)安装完成后,记得一定要重新启动Nginx服务,网站安全狗软件即可生效。

  2)运行时,安装脚本默认将自动获取Nginx服务的安装路径;若自动获取失败则将提示输入Nginx服务的安装路径(绝对路径),需要根据所安装的Nginx的目录,填写真实的安装路径。

  3)当出现提示:Are you sure to uninstall?[y/n]时,输入y

  

linux服务器防御ddos

 

  关于linux服务器防御ddos就介绍到这里,如果您对于服务器防御有更高的需求或者是遇到无法解决的服务器安全问题,可以向安全狗寻求技术支持,我们会安排专业的技术团队为您提供相应的技术解决方案,保证您的服务器安全稳定运行。

标签: