Site icon Mr. 沙先生

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 檢測

 

 

 

 

Exit mobile version