2013-10-11 116 views
0

我發現下面有關非活動客戶端連接的問題(請參閱Cassandra Security)。我們使用Cassandra 1.2.4和Cassandra JDBC驅動程序作爲客戶端。這仍然是一個存在的問題?拒絕服務問題

從網站以上報價:

拒絕服務問題: 卡桑德拉使用其網絡代碼Thread-每個客戶端的模式。由於建立連接需要Cassandra服務器在每個連接上啓動一個新線程(除了網絡產生的TCP開銷外),Cassandra項目建議使用某種連接池。攻擊者可以通過使Cassandra服務器將其所有資源分配給假連接嘗試來阻止Cassandra服務器接受新的客戶端連接。攻擊者唯一需要的信息是集羣成員的IP地址,這些信息可以通過被動地嗅探網絡來獲得。當前的實現不會超時不活動的連接,所以任何打開時沒有實際傳遞數據的連接都會消耗一個永遠不會釋放的線程和文件描述符。

回答

1

將Cassandra直接暴露給公共網絡仍然是一個壞主意,連接池仍然是一個好主意,但native protocol是完全異步的。

+0

使用本地協議將是未來的選擇,但目前不支持我們使用的客戶端驅動程序。我目前感興趣的要點是,是否仍然沒有超時的非活動連接在節儉中通過打開新連接輕鬆地進行拒絕服務攻擊並且從不向其發送任何數據。 – user2870817