留言中心 | 会员中心 | RSS
迅雪网 logo ad
您当前的位置:首页 > 系统运维

Linux 怎么防止DDOS攻击跟CC攻击的运维详细教程

时间:2020-06-13 21:46:59  来源:迅雪网  作者:Admin
今天发现centos服务器被打了是URL网址攻击请求了上万次 ,决定写下防止攻击的办法,希望能帮助到大家。
我给大家介绍的是一款可以自动屏蔽DDOS,CC,SYN攻击的软件:DDoS Deflate。
DDoS deflate官方地址:http://deflate.medialayer.com/
DOS DEFLATE是轻量级的bash shell脚本,是协助用户阻止DDOS攻击,它利用下方的命令创建一个连接到服务器的IP地址列表和与他们连接总数。是在防御层面上的简单和最容易安装的解决方案之一。
下面开始操作:
一、查看系统此时连接状况
使用netstat命令,查看服务器当前链接确认是否受到攻击: 
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n 
IP前面的数字,即为连接数,如果说正常网站,几十到一百都属于正常连接,但出现几百,或上千的就可以垦定这个IP与你的VPS之间可能存在可疑连接现象。 
二、查看iptables状态
确认一下iptables服务状态,如果系统没有安装iptables,则需要先安装。 
service iptables status 
三、安装DDos deflat
wget http://www.inetbase.com/scripts/ddos/install.sh 
chmod +x install.sh 
./install.sh 
原理:DDos Deflat结合iptables来达到攻防目的,通过iptables来封某些可疑连接。
vi /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分钟 
##### How many connections define a bad IP? Indicate that below. 
NO_OF_CONNECTIONS=150 //建议默认
##### 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=1 //推荐选择1为使用iptables
##### 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”(建议启用,若不是root用户改成自己的用户即可) 
##### Number of seconds the banned ip should remain in blacklist. 
BAN_PERIOD=600 
注释:
##### option so that the new frequency takes effect 
//检查时间间隔。
##### How many connections define a bad IP? Indicate that below. 
//最大连接数,超过这个数IP就会被屏蔽,
##### APF_BAN=1 (Make sure your APF version is atleast 0.96) 
##### APF_BAN=0 (Uses iptables for banning ips instead of APF)
//选择1为iptables,选择0为iptables。
##### Blank would suppress sending of mails 
//当IP被屏蔽时给指定邮箱发送邮件(如果用的是root用户的话,将在/var/mail/root中可以看到此封邮件)。
##### Number of seconds the banned ip should remain in blacklist.
//禁用IP时间,默认600秒,可根据情况调整
-------------------------------------------------分割线-------------------------------------------------
下面ddos.sh 不用修改也行使用默认的配置
查看/usr/local/ddos/ddos.sh文件的第117行
netstat -ntu | awk '{print $5}'| cut -d: -f1 | sort| uniq -c | sort -nr > $BAD_IP_LIST
修改为以下代码即可!
netstat -ntu | awk '{print $5}'| cut -d: -f1 | sed -n '/[0-9]/p'| sort| uniq -c | sort -nr > $BAD_IP_LIST
修改后要在命令窗格运行 /usr/local/ddos/ddos.sh 看看配置是否正确

卸载方法:
vi /usr/local/ddos/ignore.ip.list //手工设置白名单IP
chattr +i /usr/local/ddos/ignore.ip.list  //强制不允许修改
chattr -i /usr/local/ddos/ignore.ip.list  //解除不允许修改
 
常见问题
1.如何判断是否生效
使用web压力测试,自己攻击自己

2..怎么查看被屏蔽IP
如果屏蔽后,请用iptables -L -n 命令查看被屏蔽的IP

3.运行必要软件是什么
iptables和sendmail 安装方法 yum install iptables或sendmail sendmail可以不装。
版权声明:本站仅提供学习的平台,所有资料均来自于网络,版权归原创者所有!并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。本站不提供任何技术, 并不承担任何法律责任,如果对您的版权或者利益造成损害,请提供相应的资质证明,我们将于3个工作日内予以删除。
查看评论
返回首页
热门推荐
  • Linux(服务器篇)并发百万服务器系统优化详
  • Nginx 防止SQL注入XSS攻击的配置方法
  • PHP-FPM 优化:使用「pm static」来最大化你
  • lnmp一键安装详细教程
  • Centos log 日志清理方法
  • Linux 怎么防止DDOS攻击跟CC攻击的运维详细
  • lnmp一键安装详细教程
  • Centos log 日志清理方法
  • Nginx 防止SQL注入XSS攻击的配置方法
  • PHP-FPM 优化:使用「pm static」来最大化你