app教程网 综合百科 linux防止攻击(linux 防ddos)

linux防止攻击(linux 防ddos)

互联网和现实社会一样充满勾心斗角,DDOS成为站长们最头疼的问题。在没有硬防御的情况下,找软件替代是最直接的办法,比如用iptables,但是iptables不能自动屏蔽,只能手动屏蔽。

1.什么是DDOS攻击?

DDoS也是一种分布式拒绝服务攻击。它使用与普通拒绝服务攻击相同的方法,但有多个来源来发动攻击。通常,攻击者使用下载的工具来渗透未受保护的主机。获得主机的适当访问权限后,

攻击者在主机中安装软件的一种服务或过程。这些代理保持休眠状态,直到它们从主终端得到指令,对指定目标发起拒绝服务攻击。

二、如何确认自己被DDOS攻击?

在系统上执行:

以下是我自己的VPS测试结果:li88-99:~ # netstat-NTU | awk ' { print $ 5 } ' | cut-d:-f1 | sort | uniq-c | sort-n1 114 . 226 . 9 . 1321 174 . 129 . 237 . 1571 58 . 60 . 118 . 1421 address 1服务器)2 118 . 26 . 131 . 783 123 . 125 . 1 . 25 . 21

第三,防止DDOS攻击的方法:

防止DDOS攻击的一些常用方法如下:

1.增加硬件防火墙和硬件设备来承载和抵御DDOS攻击是最基本的方法,但是成本比较高。

2.修改SYN设置抵御SYN攻击:SYN攻击利用TCP/IP协议的三次握手原理,发送大量网络数据包建立连接,但并不实际建立连接,最终导致被攻击服务器的网络队列已满,正常用户无法访问。

使用命令:sysctl -a | grep syn看到:net。IP v4。TCP _ max _ syn _ backlog=1024 net。IP v4。TCP _ sync ookies=0 net。IP v4。TCP _ synack _ retries=5 net。IP v4。TCP _ syn _ retries=5

Tcp_max_SYN_backlog是SYN队列的长度,tcp_syncookies是一个交换机。是否开启SYN Cookie功能可以防止一些SYN攻击。

Tcp_synack_retries and tcp _ syn _ Retries define the number of retries for synchronizing.

增加SYN队列的长度可以容纳更多等待连接的网络连接,开启SYN Cookie功能可以防止一些SYN攻击,减少重试次数。

调整上述设置的方法是:增加同步的同步队列长度到2048:sysctl-w net。IP v4。TCP _ max _ syn _ backlog=2048打开SYN COOKIE功能:sysctl-w net。IP v4。TCP _ syncookies=1降低重试次数:sysctl-w net。IP v4。TCP _ synack _ retries=3 sysctl-w net。IP v4。TCP _ syn _ retries=3

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

3.安装iptables屏蔽特定ip。

A.安装内核模块kernel-SMP kernel-SMP-modules-connlimitB b .配置相应的iptables规则如下:

(1) control the maximum number of concurrent connections of a single Internet Protocol iptables -I input-p TCP-dport 80m connection limit-connection limit-higher than 50j Reject # Allow the maximum number of connections of a single Internet Protocol to be 30(2). Control a single Internet Protocol to allow newly established connections iptables-a input-p TCPdport 80-m recentnamebad _ http _ accessupdateseconds 60 \ hit count30-j reject iptables-a input-p TCPdport80-m recentnamebad _ http _ accessset-j accept # A single Internet Protocol only allows up to 30 new connections in 60 seconds.

(3)用iptables屏蔽IPiptables-I RH-lok套件-0-50-输入1-p TCP-m TCP-s 213.8.166.227-d端口80-syn-j拒绝指定端口的参数是-dport 80;多了- syn参数,

最好调整一下ipt _最近的参数如下:# cat/etc/modprobe。配置选项ipt _最近IP _ list _ tot=1000 IP _ PKT _ list _ tot=60 #记录1000个互联网协议(互联网协议)地址,

E.您可以编写一个脚本来自动提取攻击ip,然后自动阻止它:

*/2 * * * * /usr/local/nginx/var/log/drop.sh

#!/bin/shcd/usr/local/nginx/var/logtail访问。log-n 1000 | grep vote.php | | sort | uniq-c | sort-NR | awk ' ' if(2!=null $ 150)} ' cat DROP _ IP。txt ` do/sbin/iptables-I INPUT-s $ I-j DROP中的DROP _ IP。txt为I;完成的这壳每几分钟执行一次,

#!/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 $ 150)} ' cat DROP _ IP。txt ` do/sbin/iptables-I INPUT-s $ I-j DROP中的DROP _ IP。txt为I;完成的说下,

4.安装DDOSdeflate自动抵御DDoS攻击:

DDoSdeflate是一个免费的脚本,用于防御和缓解DDoS攻击。它监视和跟踪通过netstat创建大量网络连接的IP地址。当它检测到一个节点超过预设限制时,

该计划将禁止或阻止这些IP通过APF或IPTABLES。

DDoSdeflate官网:

(1)安装DDoSdeflate

wgetchmod 0700 install.sh //添加权限. install.sh //执行

(2)配置DDoSdeflate

以下是/usr/local/ddos/ddos.conf下DDoSdeflate的默认配置,内容如下:

#####脚本和其他文件的路径progdir="/usr/local/DDOS " PROG="/usr/local/DDOS/DDOS。sh " IGNORE _ IP _ LIST="/usr/local/DDOS/IGNORE。IP。列表"//IP地址白名单CRON="/etc/cron.d/ddos.cron" //定时执行程序APF="/etc/APF/APF " IPT="/sbin/iptables "

# # # # # How often to run the script (in minutes # # # # Warning: Every time you change this setting, please use the-cron # # # # # option to run the script so that the new frequency takes effect FREQ=1 //Check the time interval.

# # # # # How many connections define a bad IP? Please indicate it below. Number of connections=150 //Maximum number of connections,

超过这个数字,IP将被阻止,这一般是默认的。

# # # # APF _ ban=1 (make sure your APF version is at least 0.96)# # # # APF _ BAN=0 (use iptables to ban IP instead of APF)APF_BAN=1 //Use acid-resistant floor (abbreviation of acid proof floor) or iptables,

##### KILL=0 (for interactive execution of scripts, bad IP is not prohibited) # # # # kill=1 (recommended setting) KILL=1 //Whether to block IP,

# # # # When an IP is blocked, an email is sent to the following address. # # # # # Blank will prohibit sending emails _ to="root"//Send emails to the designated mailbox when the Internet Protocol is blocked.

# # # # # The number of seconds a banned ip should remain in the blacklist. BAN_PERIOD=600 //Internet Protocol disable time, 600 seconds by default,

可以根据情况进行调整。

用户可以根据添加到默认配置文件的评论内容来修改他们的帖子。设置文件。

喜欢折腾的可以用Web压力测试软件(《Web服务器性能/压力测试工具http_load、webbench、ab、Siege使用教程》)测试一下效果。这个东西只能防御小流量攻击。聊胜于无。

5.在5上安装mod _ evangelicate组件。阿帕奇来增强抵抗力。

mod _ evangelicate是防止Apache受到DDos攻击的模块,可以防止同一个IP发送到同一个URI。

本文来自网络,不代表本站立场,转载请注明出处:https: