网站预防udpddos攻击如织梦DEDECMS等PHPCMS

作者: 蓝鹰 分类: 杂类其它 发布时间: 2014-01-27 20:44 ė410 浏览数 6网站预防udpddos攻击如织梦DEDECMS等PHPCMS已关闭评论

这个问题从早两年就开始有了,最早期是DEDECMS,只要服务器上面放有DEDE就拼命发包,会影响到整个网段所有的主机,如果是租用VPS会被主机商封机,租用服务器会被迫下架,因为发UDP包是非常严重的,还有像美国的VPS都是限制流量的,有些客户租美国的VPS,流量几天就用完,有许多人还是没有认识到UDP攻击的厉害,下面发几张图,这些图是多从一些朋友的VPS发UDP攻击的时候截的,发包的时候,CPU是直线上升的,还有网卡的流量从截图看是非常恐怖的,发包的时候,服务器是连接不上去的,卡得动不了

udpddos1

udpddos2

预防方法,如果是LINUX系统,直接用IPtables直接封掉UDP包,但是DNS是UDP协议的,所以要留下UDP 53端口用为DNS解析,DNS服务器请修改为自己的

iptables -A INPUT -p tcp -m tcp --sport 53 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp -m udp --sport 53 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --sport 1024:65535 -d 8.8.4.4 --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p udp -m udp --sport 1024:65535 -d 8.8.8.8 --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p udp -j REJECT

如果是WIN系统,可以使用组策略封掉UDP包,把下面的策略导入,指派,前提是要把IPSEC Services服务打开,否则不起作用。
udp

再有就是在php.ini里把一些危险的函数关掉,在php.ini查找disable_functions加下以下内容
disable_functions=symlink,shell_exec,exec,proc_close,proc_open,popen,system,dl,passthru,escapeshellarg,escapeshellcmd

这样基本就能防UDP发包了,再有就是在网站上想办法了,比如改掉默认的后台的链接,加强权限,等等

补充:以下是转载织梦官网的安全做法:

Dedecms文章内容管理系统安全漏洞!如何有效防止DEDE织梦系统被挂木马安全设置
第一、安装Dede的时候数据库的表前缀,最好改一下,不要用dedecms默认的前缀dede_,可以改成ljs_,随便一个无规律的、难猜到的前缀即可。
第二、后台登录一定要开启验证码功能,将默认管理员admin删除,改成一个自己专用的,复杂点的账号,管理员密码一定要长,至少8位,而且字母与数字混合。
第三、装好程序后务必删除install目录!!!
第四、将dedecms后台管理默认目录名dede改掉,随便改个不好猜的没规律的。
第五、用不到的功能一概关闭,比如会员、评论等,如果没有必要通通在后台关闭。
第六、以下一些是可以删除的目录/功能(如果你用不到的话):
member会员功能
special专题功能
company企业模块
plus\guestbook留言板

迄今为止,我们发现的恶意脚本文件有
plus/ac.php
plus/config_s.php
plus/config_bak.php
plus/diy.php
plus/ii.php
plus/lndex.php
data/cache/t.php
data/cache/x.php
data/config.php
data/cache/config_user.php
data/config_func.php等等
大多数被上传的脚本集中在plus、data、data/cache三个目录下,请仔细检查三个目录下最近是否有被上传文件。
浅谈DEDECMS安全设置:

1、尽可能的使用Linux主机纯PHP空间,Windows主机能运行ASP就多一份危险。

2、后台登录管理不要用admin为用户名 可以改成其他的。

3、data/common.inc.php文件属性(Linux/Unix)设置为644或(Windows NT)设置为只读。

4、针对uploads、data、templets 三个目录做执行php脚本限制。

5、不安装来路不明的模板,或者其他需要上传到FTP下的文件,要安装先杀毒再安装。

6、用最新版的程序,就算不是最新也一定要时刻关注官方发布的补丁及时打上补丁。

7、能不用会员系统最好不要用,可以直接删除member 会员文件夹,后台关闭会员功能。实在要用一定要设置 是否允许会员上传非图片附件 设置为否 对用户进行严格限制因为有很多垃圾注册机一天注册很多用户名。(推荐:删除member 会员文件夹 不用会员系统)

虚拟主机/空间配置目录执行php脚本限制方法:Apache环境和nginx环境的两种设置方法

对uploads、data、templets 三个目录做执行php脚本限制,就算被上传了木马文件到这些文件夹,也是无法运行的所以这一步很重要一定要设置。

在配置前需要确认你的空间是否支持.htaccess和rewrite,该方法基于.htaccess文件中使用rewrite来达到禁止指定脚本的运行效果。

Apache环境规则内容如下:Apache执行php脚本限制 把这些规则添加到.htaccess文件中

RewriteEngine on RewriteCond % !^$
RewriteRule uploads/(.*).(php)$ – [F]
RewriteRule data/(.*).(php)$ – [F]
RewriteRule templets/(.*).(php)$ –[F]

nginx环境规则内容如下:nginx执行php脚本限制

LNMP有一个缺点就是目录权限设置上不如Apache,有时候网站程序存在上传漏洞或类似pathinfo的漏洞从而导致被上传了php木马,而给网站和服务器带来比较大危险。建议将网站目录的PHP权限去掉,当访问上传目录下的php文件时就会返回403错误。

首先要编辑nginx的虚拟主机配置,在fastcgi的location语句的前面按下面的内容添加:

location ~ /(data|uploads|templets)/.*\.(php|php5)?$ {
deny all;
}

好了就这些吧,做了这些应该不会有什么问题基本够用!建议用dedecms的朋友花点时间去设置一下。

本文出自 蓝鹰博客,转载时请注明出处及相应链接。

本文永久链接: http://www.lanyingblog.com/blog/1770.html

Ɣ回顶部