2013-10-11 73 views
0

我发现下面有关非活动客户端连接的问题(请参阅Cassandra Security)。我们使用Cassandra 1.2.4和Cassandra JDBC驱动程序作为客户端。这仍然是一个存在的问题?拒绝服务问题

从网站以上报价:

拒绝服务问题: 卡桑德拉使用其网络代码Thread-每个客户端的模式。由于建立连接需要Cassandra服务器在每个连接上启动一个新线程(除了网络产生的TCP开销外),Cassandra项目建议使用某种连接池。攻击者可以通过使Cassandra服务器将其所有资源分配给假连接尝试来阻止Cassandra服务器接受新的客户端连接。攻击者唯一需要的信息是集群成员的IP地址,这些信息可以通过被动地嗅探网络来获得。当前的实现不会超时不活动的连接,所以任何打开时没有实际传递数据的连接都会消耗一个永远不会释放的线程和文件描述符。

回答

1

将Cassandra直接暴露给公共网络仍然是一个坏主意,连接池仍然是一个好主意,但native protocol是完全异步的。

+0

使用本地协议将是未来的选择,但目前不支持我们使用的客户端驱动程序。我目前感兴趣的要点是,是否仍然没有超时的非活动连接在节俭中通过打开新连接轻松地进行拒绝服务攻击并且从不向其发送任何数据。 – user2870817