我正在编写一个应用程序,其中记录了应用程序错误并将其发布到我们服务器上的侦听HTTP端口。我们决定反对电子邮件,因为许多运行服务器的客户“无法通过SMTP发送任何内容”(根据老板家伙的说法)
我只是使用log4net和自定义编写的HTTPAppender按原样发送数据。
我想知道使用这种方法可能带来的安全隐患,或者是否有更好的方法。当然,监听端口可以防止SQL注入等。
答案 0 :(得分:3)
这取决于您如何定义安全性,以及如何将其锁定。
如果外部攻击者能够访问您的HTTP侦听器,会有什么影响?假设侦听器本身是安全的,他们能够做的就是将虚假条目附加到日志中。这是一个严重的问题吗?您是否担心可能的拒绝服务,例如,填满所有可用磁盘空间的垃圾日志条目?
如果是这样,那么尽你所能锁定监听器。使用某种形式的HTTP身份验证。将其配置为仅接受来自某些IP地址的流量。更好的是,把它放在受限制的网络上,外面的世界根本无法达到它。
唯一的另一个风险是,如果您的听众确实位于偏远地区,您必须通过公共互联网才能到达。我不建议这样做,因为它开启了某人窥探消息的可能性,从而发现了有关您系统的潜在敏感信息。
答案 1 :(得分:2)
我会以密码方式签署您发送给该听众的任何内容 - 不是为了保密,但为了防止DoS类型攻击,您不希望它大开,以便任何人都可以发送任何内容。任何未签名的内容都应该被拒绝。
答案 2 :(得分:1)
如果请求是在没有SSL / TLS的情况下通过HTTP发送的,那么这些消息当然会受到一系列中间人攻击。发件人/客户端和服务器之间的任何节点都能够读取和操作消息。
答案 3 :(得分:1)
如果您的服务器位于同一网络上且无法公开访问,则应该没有问题。
如果可以从互联网访问,那么您可能需要签署日志以避免DOS攻击。如果您的应用程序错误存在任何敏感问题,您可能需要考虑加密以避免信息泄漏。
另一种选择可能是将您的服务器放在防火墙后面并使用SSH隧道或类似设备连接到它。如果客户端计算机仅接受来自localhost的端口转发连接,则可以减少拒绝服务和泄漏问题。