2022-10-02 分類: 網站建設
說下防止PHPDDOS發(fā)包的方法
復制代碼 代碼如下:
if (eregi("ddos-udp",$read)) {
fputs($verbinden,"privmsg $Channel :ddos-udp – started udp flood – $read2[4] ");
$fp = fsockopen("udp://$read2[4]", 500, $errno, $errstr, 30);
if (!$fp)
{
$fp = fsockopen("udp://$read2[4]", 500, $errno, $errstr, 30);
既然是用fsockopen()函數請求外部,那就不讓他請求
php.ini里設置
allow_url_fopen = Off
如果這樣他還是能發(fā)包
extension=php_sockets.dll
改成
;extension=php_sockets.dll
重啟APACHE、IIS、NGINX
這樣就可以防止PHP DDOS發(fā)包了
對這種攻擊的處罰政策是,
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. 第一次是警告+關機,給24小時的時間來解決問題
2nd violation - Immediate reformat of server. 第二次是立即格式化服務器
3rd violation - Cancellation with no refund. 第三次是取消服務并不給退款
針對這個問題,給一個簡單的描述,
表現(xiàn)特征:一打開IIS,服務器的流出帶寬就用光-----就是說服務器不斷向別人發(fā)包,這個情況和受到ddos攻擊是不同的,Ddos是不斷收到大量數據包.
解決辦法:
先停止IIS,這樣就暫時沒法對外攻擊了,然后
禁止上述的代碼:
在c:windowsphp.ini里設置:
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:windowsphp.ini里設其值為Off
allow_url_fopen = Off
并且:
;extension=php_sockets.dll
前面的;號一定要有,意思就是限制用sockets.dll
前面的;號要保留
然后啟動IIS
在IP策略,或防火墻中,禁止所有udp向外發(fā)送
linux下解決辦法
一、禁止本機對外發(fā)送UDP包
iptables -A OUTPUT -p udp -j DROP
二、允許需要UDP服務的端口(如DNS)
iptables -I OUTPUT -p udp --dport 53 -d 8.8.8.8 -j ACCEPT
綠色“53”,為DNS所需要的UDP端口,黃色“8.8.8.8”部分為DNS IP,根據您服務器的設定來定,若您不知您當前服務器使用的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
開放 對外 以及對內的 DNS端口 53
禁止其他全部出站的UDP 協(xié)議
開機啟動iptables
另外要說明的是,上面的代碼是因為我服務器使用的是谷歌的DNS來解析,我服務器端對外的訪問(在服務器端上網,就需要,如果只是單純的服務器,不進行 yum安裝也可以不用),因此我開放對8.8.4.4和8.8.8.8的訪問,如果你不是設置為谷歌的DNS,那么這里要自行修改成你的DNS。使用的 DNS是什么可以用下面方法查詢
利用IP安全策略 下載 phpddos.rar
使用方法:
首先 開始 - 運行 - gpedit.msc 找到IP安全策略
鼠標右鍵 - 所有任務 - 選擇導入策略
最后指派策略即可
網站題目:預防PHPDDOS的發(fā)包攻擊別人的方法(iis+linux)
文章鏈接:http://m.newbst.com/news46/200496.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站維護、域名注冊、搜索引擎優(yōu)化、品牌網站設計、網站收錄、網頁設計公司
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容