如何保护内存缓存?

alf*_*ish 4 security memcached

在 Debian 中,我安装了 memcached(使用本指南)来降低 mysql 数据库上其他无法管理的负载。数据库在单独的服务器上,memcached和Varnish在前端服​​务器上。让 memcached 不受防火墙保护是一个潜在的安全漏洞吗?如果是这样,我应该如何保护它?这种情况尤其令人担忧,因为我收到了(未经证实的)服务器上 cookie 盗窃的报告。谢谢

Log*_*eck 9

只需在防火墙中阻止 memcached 端口并仅允许从数据库服务器访问即可。这应该给你一些保护。您还可以在 mysql 和 memcached 服务器之间建立 SSL 隧道,并使 memcached-mysql 数据仅通过它。

对于 SSL 隧道,您可以使用 IPSEC,要设置它,您可以按照http://wiki.debian.org/IPsechttp://lartc.org/howto/lartc.ipsec.tunnel.html 上的教程进行设置

要阻止所有 ip 的端口,您可以发出一个 iptables 命令,例如:

iptables -A INPUT -s 2.2.2.2/32 -p tcp --destination-port 11211 -j ALLOW
iptables -A INPUT -s 0.0.0.0/0 -p tcp --destination-port 11211 -j DROP
Run Code Online (Sandbox Code Playgroud)

或者:

iptables -A INPUT -s !2.2.2.2/32 -p tcp --destination-port 11211 -j DROP
Run Code Online (Sandbox Code Playgroud)

另外据我所知,您的网络服务器和 memcached 服务器在同一台机器上?如果是这样,那么是您的网络服务器将与 memcached 而不是 mysql 服务器进行通信。它只会从缓存中获取数据,或者如果它不存在于缓存中,则会从 mysql 服务器获取它。在这种情况下,将 memcached 绑定到本地主机就足够了,因此只有您的网络服务器可以使用 php、ruby、python 或任何其他语言代码访问 memcached,这应该尽可能安全。