一、使用DDos deflate简单防落CC和DDOS***

方法一、使用netstat命令,

1、查看VPS当前链接确认是否受到***:

# netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

IP前面的数字,即为连接数,如果说正常网站,几十到一百都属于正常连接,但出现几百,或上千的就可以垦定这个IP与你的VPS之间可能存在可疑连接现象。

2、可以使用iptables直接BAN了这个IP的永久访问:

# iptables -A INPUT -s 12.34.56.78 -j DROP

方法二、使用软件DDos deflate来自动检测并直接BAN掉

1、首先我们要确认一下iptables服务状态,默认CENTOS就安装的,不看也行。

service iptables status

2、安装DDos deflat:

# wget http://www.inetbase.com/scripts/ddos/install.sh
# chmod +x install.sh && ./install.sh

安装后需要修改/usr/local/ddos/ddos.conf,主要是APF_BAN=1要设置成0,因为要使用iptables来封某些可疑连接,注意EMAIL_TO="root",这样BAN哪个IP会有邮件提示:

##### 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" FREQ=1   /#检查时间间隔,默认1分钟
NO_OF_CONNECTIONS=150     #最大连接数,超过这个数IP就会被屏蔽,一般默认即可
APF_BAN=1        #使用APF还是iptables。推荐使用iptables,将APF_BAN的值改为0即可。
##### KILL=0 (Bad IPs are'nt banned, good for interactive execution of script)
##### KILL=1 (Recommended setting)
KILL=1   #是否屏蔽IP,默认即可
EMAIL_TO="root"   #当IP被屏蔽时给指定邮箱发送邮件,推荐使用,换成自己的邮箱即可
BAN_PERIOD=600    #禁用IP时间,默认600秒,可根据情况调整


二、使用iftop查看详细网络状况

1、安装IFTOP软件:

yum -y install flex byacc  libpcap ncurses ncurses-devel libpcap-devel
wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz
tar zxvf iftop-0.17.tar.gz
cd iftop-0.17
./configure
make && make install

安装后,使用iftop运行,查看网络情况。

TX,发送流量;RX,接收流量;TOTAL,总流量;Cumm,运行iftop期间流量;peak,流量峰值;rates,分别代表2秒、10秒、40秒的平均流量。

快捷键:h帮助,n切换显示IP主机名,s是否显示本机信息,d是否显示远端信息,N切换端口服务名称,b切换是否时数流量图形条。

实例:

  • 默认是监控第一块网卡的流量:         iftop

  • 监控eth1:                                    iftop -i eth1

  • 直接显示IP, 不进行DNS反解析 :      iftop -n

  • 直接显示连接埠编号, 不显示服务名称: iftop -N

  • 显示某个网段进出封包流量:             iftop -F 192.168.1.0/24 or 192.168.1.0/255.255.255.0

iftop界面含义

  • 第一行:带宽显示

  • 中间部分:外部连接列表,即记录了哪些ip正在和本机的网络连接

  • 中间部分右边:实时参数分别是该访问ip连接到本机2秒,10秒和40秒的平均流量

  • =>代表发送数据,<= 代表接收数据

  • 底部三行:表示发送,接收和全部的流量

  • 底部三行第二列:为你运行iftop到目前流量

  • 底部三行第三列:为高峰值

  • 底部三行第四列:为平均值

三、常用netstat命令:

1.查看所有80端口的连接数

netstat -nat|grep -i "80"|wc -l

2.对连接的IP按连接数量进行排序

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

3.查看TCP连接状态

netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn
netstat -n | awk '/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}'
netstat -n | awk '/^tcp/ {++state[$NF]}; END {for(key in state) print key,"\t",state[key]}'
netstat -n | awk '/^tcp/ {++arr[$NF]};END {for(k in arr) print k,"\t",arr[k]}'
netstat -n |awk '/^tcp/ {print $NF}'|sort|uniq -c|sort -rn
netstat -ant | awk '{print $NF}' | grep -v '[a-z]' | sort | uniq -c

4.查看80端口连接数最多的20个IP

netstat -anlp|grep 80|grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -n20
netstat -ant |awk '/:80/{split($5,ip,":");++A[ip[1]]}END{for(i in A) print A,i}' |sort -rn|head -n20

5.用tcpdump嗅探80端口的访问看看谁最高

tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr |head -20

6.查找较多time_wait连接

netstat -n|grep TIME_WAIT|awk '{print $5}'|sort|uniq -c|sort -rn|head -n20

7.找查较多的SYN连接

netstat -an | grep SYN | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr | more

四、Nginx简单的一些防CC的办法

观看生成的.log日志文件,判断来路,直接301百度:

if ($http_referer ~* mi5.gov ) {rewrite ^(.*)$ http://www.baidu.com/ permanent;
}

观看生成的.log日志文件,判断浏览器特征码,直接301百度:

if ($http_user_agent ~* firefox4.0 ) {rewrite ^(.*)$ http://www.baidu.com/ permanent;
}

根据特征码,直接查找.log文件,并iptables封死相应IP:

cat com.log | grep 'Mozilla/5.0' | awk '{print "iptables -I INPUT -p tcp --dport 80 -s ", $1, "-j DROP"}'| sort -n | uniq | sh

nginx处理静态的能力是无与伦比的,如果只是简单的判断分发,就可以解决掉很多***。

转载于:https://blog.51cto.com/qiangsh/1586178

Linux常用安全设置相关推荐

  1. Linux常用的设置文件安全上下文命令使用方法

    设置安全上下文常用命令 setfilecon setfilecon介绍 setfilecon用于设置文件/目录的安全上下文,后面直接跟上安全上下文以及文件的路径,其中待设置的文件/目录路径可以为多个, ...

  2. MongoDB在Linux下常用优化设置

    MongoDB在Linux下常用优化设置 以下是一些MongoDB推荐的常用优化设置.在生产环境下选取合适的参数值,例如预读值和默认文件描述符数目等,会对系统性能有很大的影响. 1.关闭数据库文件的 ...

  3. linux把目录下的文件设置属性为rx,Linux常用命令(六)管理目录和文件属性

    Linux常用命令(六)管理目录和文件属性 在Linux文件系统的安全模型中,为系统中的文件(或目录)赋予了两个属性:访问权限和文件所有者,简称为"权限"和"归属&quo ...

  4. linux学习笔记(设置中文界面,更换源,linux常用命令)

    文章目录 1.ubuntu设置中文 1.1设置中文界面 打开系统设置 找到语言配置,安装语言 点击安装或移除语言,找到Chinese(simplified) 应用并重启ubuntu 至此中文界面设置完 ...

  5. linux常用命令(转载)

    Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短 ...

  6. mysql ls命令,Linux 常用 ls命令详解

    ls命令是linux常用命令之一,用于在命令控制台提示符中列出目录和文件信息. 一.ls命令用法: ls命令运行在命令提示符终端,用法如下.其中[选项]和为可选参数,可以一零个或者多个选项:[文件]也 ...

  7. Linux常用20条命令

    Linux常用20条命令 假装这里有个标题 1.cd 2.ls 3.grep 4.find 5.cp 6.mv 7.rm 8.ps 9.kill 10.kill all 11.file 12.tar ...

  8. LINUX常用命令(基础)

    LINUX常用命令(基础) 收藏LINUX常用命令(基础) 1. man 对你熟悉或不熟悉的命令提供帮助解释eg:man ls 就可以查看ls相关的用法注:按q键或者ctrl+c退出,在linux下可 ...

  9. DOS 和 Linux 常用命令的对比

    此为转载文章,转自:http://www.huihoo.org/gnu_linux/ch-doslinux.html Red Hat Linux 9: Red Hat Linux 入门指南 后退 前进 ...

最新文章

  1. opencv函数copyto的用法
  2. 使用 diff 查找文件的差异并生成补丁文件修补
  3. 【android】java.net.ConnectException: localhost/127.0.0.1:8080 - Connection refused
  4. ListView用法总结
  5. Web Service视频分享
  6. java肯尼亚_对肯尼亚这个国家,你有什么好奇的?对它的第一印象是什么?
  7. html form中多个div,在react里最多只能有几个div
  8. Android 缓存的使用
  9. c语言中,x-y,'105',ab,7f8那个是正确的,C语言习题册
  10. 利用Mircosoft URLRewriter.dll实现页面伪静态[转]
  11. 飞思卡尔单片机高效c语言编程,飞思卡尔单片机高效C语言编程(中文)
  12. 浅谈手机接收性能的测试
  13. Python 安装pytz
  14. 微信开发者工具 公众号网页调试的调试器没了?
  15. 滑铁卢大学容易转计算机专业吗,滑铁卢大学计算机科学专业好吗
  16. An Improved One millisecond Mobile Backbone 论文笔记
  17. 深井冰!沙雕码农脑洞大,盘点Github上那些不忍直视奇葩脑回路的沙雕项目!
  18. 微信3.1.0.58逆向-微信3.1.0.58HOOK接口说明(WeChatHelper.dll)-获取当前聊天微信ID
  19. CRNN文本识别模型
  20. 手动安装Python库或安装第三方库的方法

热门文章

  1. 网络新高速:T比特网络技术实现成功测试
  2. #define 用法
  3. nodejs安装及npm模块插件安装路径配置
  4. Sublime Text3 运行Python 出现Error:Decode error - output not utf-8
  5. ubuntu数据库安装配置
  6. 加速 cinder 删除volume速度
  7. LinkedIn 开源成功的秘密
  8. 使用Nginx为Leanote配置Https
  9. JSON转换和毫秒时间
  10. IOS block 教程