2013-12-15 115 views
6

我有一個運行在aws上的服務器 - 它對運行node.js服務器的一些ec2實例負載平衡。安全組的設置使得只有LB可以在HTTP端口上擊中它們。處理/阻止潛在的惡意請求(AWS,Node.js)

我拖尾一些日誌文件,看到了一堆(50個左右的時間,貌似有點定期)請求以/manager/html - AFAIK這看起來像一個試圖揭露漏洞在我的應用程序或獲得對訪問某種數據庫管理器。

我的問題是:

  • 我是不是有針對性的或有這些隨機爬蟲?這是一個甚至還沒有推出的服務,所以它絕對是模糊的。關於該服務有一些新聞,所以一個人可能知道我們的域名是可行的,但是這個子域名並未公開。

  • 有沒有常見的約定不允許這些類型的請求打我的實例?最好是,我可以在我的LB中配置某種頻率或黑名單,並且永遠不會有這些類型的請求觸發實例。不知道如何檢測惡意與正常流量。

  • 我應該在我的ec2實例上運行本地代理以避免這種類型的事情?是否有任何現有的node.js解決方案可以在應用程序級別拒絕請求?這是一個壞主意嗎?

  • 加成:如果我要記錄這些請求的來源,那麼這些信息會有用嗎?我是否應該嘗試去流氓並追捕起源併發送一些傷害他們的方式?如果它是單一來源,我應該使用beeswithmachine來檢查原始IP嗎? (我意識到這很愚蠢,但可能會啓發一些有趣的答案)。

現在這些請求並不影響我,他們得到401s或404s,它實際上沒有影響到其他客戶端。但如果這是規模上升,我有什麼選擇?

回答

1

過去我們遇到過類似的問題,我們採取了一些預防措施來阻止這種攻擊,儘管它不能保證完全阻止它們,但它顯示出減少這種攻擊的重要措施。

  1. http://uksysadmin.wordpress.com/2011/03/21/protecting-ssh-against-brute-force-attacks/
  2. http://www.prolexic.com/knowledge-center-white-paper-ddos-mitigation-incident-response-plan-playbook.html
  3. https://serverfault.com/questions/340307/how-can-i-prevent-a-ddos-attack-on-amazon-ec2

希望這有助於。

1

考慮在應用服務器前運行代理緩存,如Varnish。使用它的VCL來允許只訪問你定義的URI並拒絕其他所有的東西,允許GET但阻止PUT和POST等等......也可以用來過濾你返回的http響應頭。例如,這會讓你將你的node.js服務器掩蓋爲apache。許多人都在網絡上進行實施。