所以我喜欢 beanstalkd:小、轻量级、优先处理消息、拥有大量客户端、易于使用。
我不喜欢 beanstalkd 的地方:如果您可以连接到端口,则缺少身份验证,您可以将消息插入其中。
所以我的想法是要么将它防火墙到受信任的系统(这是一个痛苦的维护并且在应用程序外部添加另一层要做的事情)或者使用像stunnel之类的东西将它包装在 TLS/SSL 中(这将产生一个很好的块建立连接和诸如此类的开销)。我确实想过可能会签署作业(作业字符串的MD5或SHA+时间值+附加到作业的秘密),但如果攻击者用虚假作业淹没服务器,我仍然会遇到麻烦。谁能想到任何其他方法来保护 beantalkd 免受攻击者插入虚假消息的影响?尤其是那些在计算或管理上不会产生大量开销的。