2016年5月15日 星期日

DDos 攻防戰 - 利用 WordPress Pingback 漏洞的 DDos 攻擊

這陣子常常受到 WordPress 的 Pingback 漏洞的 DDos 攻擊,實在很頭疼,幸好像這種類型的 DDos 都有特徵可尋

 
155.199.156.69 shazi.info - - [15/May/2016:00:00:18 +0800] "GET /index.html HTTP/1.0" 200 162 "-" "WordPress/4.4.2; http://mobile-di.com; verifying pingback from IP" "-""-"

從 access.log 看到大量的相同 log,其特徵是 User-agent 都是 "WordPress/版本; 來源站; verifying pingback from IP"



 

 

從 Server 角度上的防禦可以在 Nginx 加入 User-agent 判斷進行過濾

先建立一個 user-agent.rules 清單,將要過濾的 Usert-agent 寫在裡面
$ vim /etc/nginx/user-agent.rules 

map $http_user_agent $block_agent{
default 0;
~^$ 1;
~*malicious 1;
~*backdoor 1;
~*netcrawler 1;
~*Antivirx 1;
~*Arian 1;
~*wordpress 1;
~*pingback 1;
~*joomla 1;
~*wget 1;
~*curl 1;
- 1;
}

上面是典型攻擊的 User-agent,可以按照自己的需求建立

 

再來到 nginx 設定檔 include 這個  User-agent
$ vim /etc/nginx/nginx.conf 

http {
include user-agent.rules;
}

 

在 server {} 加入判斷
$ vim /etc/nginx/conf.d/domain.conf 

server {
if ( $block_agent = 1 ) {
return 403;
}
}

$ service nginx reload

如果符合 $block_agent 就會等於 1,預設為 0,並且返回 403

 

 

在檢查一下 log
155.199.156.69 shazi.info - - [15/May/2016:00:05:18 +0800] "GET /index.html HTTP/1.0" 403 162 "-" "WordPress/4.4.2; http://mobile-di.com; verifying pingback from IP" "-""-"

 

已經返回 403 拒絕訪問囉!!這是 server 端的作法,如果你的前端有更高階的 Layer 7 設備,就讓他來擋吧

 

 

若是你也擁有 WordPress 而不知道如何確認是否擁有此漏洞可以到 is-my-wordpress-ddosing 檢測

 

 

 

 

Orignal From: DDos 攻防戰 - 利用 WordPress Pingback 漏洞的 DDos 攻擊

沒有留言:

張貼留言