預(yù)防PHPDDOS的發(fā)包攻擊別人的方法(iis+linux)
更新時(shí)間:2012年04月21日 22:22:57 作者:
最近很多美國(guó)VPS客戶被人通過(guò)dedecms漏洞等等入侵.導(dǎo)致phpddos 很猖狂,占用大量帶寬,影響網(wǎng)站,浪費(fèi)流量
說(shuō)下防止PHPDDOS發(fā)包的方法
if (eregi("ddos-udp",$read)) {
fputs($verbinden,"privmsg $Channel :ddos-udp – started udp flood – $read2[4]\n\n");
$fp = fsockopen("udp://$read2[4]", 500, $errno, $errstr, 30);
if (!$fp)
{
$fp = fsockopen("udp://$read2[4]", 500, $errno, $errstr, 30);
既然是用fsockopen()函數(shù)請(qǐng)求外部,那就不讓他請(qǐng)求
php.ini里設(shè)置
allow_url_fopen = Off
如果這樣他還是能發(fā)包
extension=php_sockets.dll
改成
;extension=php_sockets.dll
重啟APACHE、IIS、NGINX
這樣就可以防止PHP DDOS發(fā)包了
對(duì)這種攻擊的處罰政策是,
Further violations will proceed with these following actions:
1st violation - Warning and shutdown of server. We will allow 24 hours for you to rectify the problem. 第一次是警告+關(guān)機(jī),給24小時(shí)的時(shí)間來(lái)解決問(wèn)題
2nd violation - Immediate reformat of server. 第二次是立即格式化服務(wù)器
3rd violation - Cancellation with no refund. 第三次是取消服務(wù)并不給退款
針對(duì)這個(gè)問(wèn)題,給一個(gè)簡(jiǎn)單的描述,
表現(xiàn)特征:一打開(kāi)IIS,服務(wù)器的流出帶寬就用光-----就是說(shuō)服務(wù)器不斷向別人發(fā)包,這個(gè)情況和受到ddos攻擊是不同的,Ddos是不斷收到大量數(shù)據(jù)包.
解決辦法:
先停止IIS,這樣就暫時(shí)沒(méi)法對(duì)外攻擊了,然后
禁止上述的代碼:
在c:\windows\php.ini里設(shè)置:
disable_functions =gzinflate,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,fsockopen
在c:\windows\php.ini里設(shè)其值為Off
allow_url_fopen = Off
并且:
;extension=php_sockets.dll
前面的;號(hào)一定要有,意思就是限制用sockets.dll
前面的;號(hào)要保留
然后啟動(dòng)IIS
在IP策略,或防火墻中,禁止所有udp向外發(fā)送
linux下解決辦法
一、禁止本機(jī)對(duì)外發(fā)送UDP包
iptables -A OUTPUT -p udp -j DROP
二、允許需要UDP服務(wù)的端口(如DNS)
iptables -I OUTPUT -p udp --dport 53 -d 8.8.8.8 -j ACCEPT
綠色“53”,為DNS所需要的UDP端口,黃色“8.8.8.8”部分為DNS IP,根據(jù)您服務(wù)器的設(shè)定來(lái)定,若您不知您當(dāng)前服務(wù)器使用的DNS IP,可在SSH中執(zhí)行以下命令獲?。?
cat /etc/resolv.conf |grep nameserver |awk 'NR==1{print $2 }'
附完整iptables規(guī)則
#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
#/etc/rc.d/init.d/iptables save
# service iptables restart
#chkconfig iptables on
開(kāi)放 對(duì)外 以及對(duì)內(nèi)的 DNS端口 53
禁止其他全部出站的UDP 協(xié)議
開(kāi)機(jī)啟動(dòng)iptables
另外要說(shuō)明的是,上面的代碼是因?yàn)槲曳?wù)器使用的是谷歌的DNS來(lái)解析,我服務(wù)器端對(duì)外的訪問(wèn)(在服務(wù)器端上網(wǎng),就需要,如果只是單純的服務(wù)器,不進(jìn)行 yum安裝也可以不用),因此我開(kāi)放對(duì)8.8.4.4和8.8.8.8的訪問(wèn),如果你不是設(shè)置為谷歌的DNS,那么這里要自行修改成你的DNS。使用的 DNS是什么可以用下面方法查詢
利用IP安全策略 下載 phpddos_jb51.rar
使用方法:
首先 開(kāi)始 - 運(yùn)行 - gpedit.msc 找到IP安全策略
鼠標(biāo)右鍵 - 所有任務(wù) - 選擇導(dǎo)入策略
最后指派策略即可
復(fù)制代碼 代碼如下:
if (eregi("ddos-udp",$read)) {
fputs($verbinden,"privmsg $Channel :ddos-udp – started udp flood – $read2[4]\n\n");
$fp = fsockopen("udp://$read2[4]", 500, $errno, $errstr, 30);
if (!$fp)
{
$fp = fsockopen("udp://$read2[4]", 500, $errno, $errstr, 30);
既然是用fsockopen()函數(shù)請(qǐng)求外部,那就不讓他請(qǐng)求
php.ini里設(shè)置
allow_url_fopen = Off
如果這樣他還是能發(fā)包
extension=php_sockets.dll
改成
;extension=php_sockets.dll
重啟APACHE、IIS、NGINX
這樣就可以防止PHP DDOS發(fā)包了
對(duì)這種攻擊的處罰政策是,
Further violations will proceed with these following actions:
1st violation - Warning and shutdown of server. We will allow 24 hours for you to rectify the problem. 第一次是警告+關(guān)機(jī),給24小時(shí)的時(shí)間來(lái)解決問(wèn)題
2nd violation - Immediate reformat of server. 第二次是立即格式化服務(wù)器
3rd violation - Cancellation with no refund. 第三次是取消服務(wù)并不給退款
針對(duì)這個(gè)問(wèn)題,給一個(gè)簡(jiǎn)單的描述,
表現(xiàn)特征:一打開(kāi)IIS,服務(wù)器的流出帶寬就用光-----就是說(shuō)服務(wù)器不斷向別人發(fā)包,這個(gè)情況和受到ddos攻擊是不同的,Ddos是不斷收到大量數(shù)據(jù)包.
解決辦法:
先停止IIS,這樣就暫時(shí)沒(méi)法對(duì)外攻擊了,然后
禁止上述的代碼:
在c:\windows\php.ini里設(shè)置:
disable_functions =gzinflate,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,fsockopen
在c:\windows\php.ini里設(shè)其值為Off
allow_url_fopen = Off
并且:
;extension=php_sockets.dll
前面的;號(hào)一定要有,意思就是限制用sockets.dll
前面的;號(hào)要保留
然后啟動(dòng)IIS
在IP策略,或防火墻中,禁止所有udp向外發(fā)送
linux下解決辦法
一、禁止本機(jī)對(duì)外發(fā)送UDP包
iptables -A OUTPUT -p udp -j DROP
二、允許需要UDP服務(wù)的端口(如DNS)
iptables -I OUTPUT -p udp --dport 53 -d 8.8.8.8 -j ACCEPT
綠色“53”,為DNS所需要的UDP端口,黃色“8.8.8.8”部分為DNS IP,根據(jù)您服務(wù)器的設(shè)定來(lái)定,若您不知您當(dāng)前服務(wù)器使用的DNS IP,可在SSH中執(zhí)行以下命令獲?。?
cat /etc/resolv.conf |grep nameserver |awk 'NR==1{print $2 }'
附完整iptables規(guī)則
復(fù)制代碼 代碼如下:
#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
#/etc/rc.d/init.d/iptables save
# service iptables restart
#chkconfig iptables on
開(kāi)放 對(duì)外 以及對(duì)內(nèi)的 DNS端口 53
禁止其他全部出站的UDP 協(xié)議
開(kāi)機(jī)啟動(dòng)iptables
另外要說(shuō)明的是,上面的代碼是因?yàn)槲曳?wù)器使用的是谷歌的DNS來(lái)解析,我服務(wù)器端對(duì)外的訪問(wèn)(在服務(wù)器端上網(wǎng),就需要,如果只是單純的服務(wù)器,不進(jìn)行 yum安裝也可以不用),因此我開(kāi)放對(duì)8.8.4.4和8.8.8.8的訪問(wèn),如果你不是設(shè)置為谷歌的DNS,那么這里要自行修改成你的DNS。使用的 DNS是什么可以用下面方法查詢
利用IP安全策略 下載 phpddos_jb51.rar
使用方法:
首先 開(kāi)始 - 運(yùn)行 - gpedit.msc 找到IP安全策略
鼠標(biāo)右鍵 - 所有任務(wù) - 選擇導(dǎo)入策略
最后指派策略即可
相關(guān)文章
Ubuntu Apahce2.4下無(wú)法訪問(wèn)JS目錄的問(wèn)題解決
這篇文章主要給大家介紹了如何解決Ubuntu Apahce2.4下無(wú)法訪問(wèn)JS目錄的問(wèn)題,文中介紹的非常詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-03-03
Ubuntu中Nginx的安裝與配置詳細(xì)說(shuō)明
本篇文章小編為大家介紹,Ubuntu中Nginx的安裝與配置詳細(xì)說(shuō)明。需要的朋友參考下2013-04-04
socket unix domain IPC的實(shí)例代碼
下面小編就為大家?guī)?lái)一篇socket unix domain IPC的實(shí)例代碼。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-12-12
php靜態(tài)化頁(yè)面 htaccess寫法詳解(htaccess怎么寫?)
如何讓自己的本地APACHE服務(wù)器支持”.htaccess”呢?其實(shí)只要簡(jiǎn)單修改一下apache的httpd.conf設(shè)置就可以讓APACHE支持.htaccess了2012-02-02
關(guān)于Apache默認(rèn)編碼錯(cuò)誤 導(dǎo)致網(wǎng)站亂碼的解決方案
Apache默認(rèn)編碼UTF-8在解析A網(wǎng)站的時(shí)候沒(méi)有任何問(wèn)題,當(dāng)運(yùn)行B網(wǎng)站時(shí)出現(xiàn)的"蝌蚪文"亂碼問(wèn)題2011-12-12
linux Ubuntu下SSH無(wú)密碼驗(yàn)證配置的方法步驟
這篇文章主要介紹了linux Ubuntu下實(shí)現(xiàn)SSH無(wú)密碼驗(yàn)證配置的方法步驟,文中給出了詳細(xì)的步驟介紹,有需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-02-02
詳解從Ubuntu 14.04 LTS版升級(jí)到Ubuntu 16.04 LTS
Ubuntu 16.04 (Xerial Xerus) Long Term Support版于最近發(fā)布了。要想了解它的新功能和新特性,就必須升級(jí)或安裝這個(gè)新系統(tǒng)。本文介紹了從Ubuntu 14.04 LTS版升級(jí)到Ubuntu 16.04 LTS。2016-12-12

