Security 有限功能服务器的安全含义
我想通过电子邮件从人/设备收集某些信息。这些电子邮件永远不会发送给任何人,而只是在服务器上处理。接收到的电子邮件将被处理-一些简单地丢弃,大多数存储(在数据库中),附件可能会或可能不会存储(但永远不会执行)取决于某些条件 我已经调查过使用现有的MTA软件来实现这一点,并得出结论,这将是过分的,并且会产生远远超出此目的所需的复杂性 如果我要写我自己的MTA软件,我需要实现一个相当有限的功能子集-字面上足以接收电子邮件,没有任何发送。我会保持实际的MTA软件尽可能薄,以尽量减少维护量。因此,在MTA软件收到电子邮件后,它会将其(全部)传递给执行处理的第二个软件 这些电子邮件只是简单地存储在一个web UI中,由发送者和任何其他他们专门允许的人检索。某些附件将被存储,但不会在服务器上执行,并且只能由原始电子邮件的发件人和他们指定的其他人访问 我对网络安全的世界知之甚少——有了这样一个有限的服务器,我是否可以打开一条潜在的道路?我猜这个问题的答案总是肯定的——但我的安全性是否比使用维护良好、安全但功能齐全的MTA软件(如Postfix)的安全性差 如果我还不够具体或清楚,请让我知道,谢谢 (服务器将是Linux,可能是Ubuntu。软件最有可能是在Mono下用C语言编写的,可能是Python或混合语言(C#服务器,Python处理)) @洛特Security 有限功能服务器的安全含义,security,email,smtp,mta,Security,Email,Smtp,Mta,我想通过电子邮件从人/设备收集某些信息。这些电子邮件永远不会发送给任何人,而只是在服务器上处理。接收到的电子邮件将被处理-一些简单地丢弃,大多数存储(在数据库中),附件可能会或可能不会存储(但永远不会执行)取决于某些条件 我已经调查过使用现有的MTA软件来实现这一点,并得出结论,这将是过分的,并且会产生远远超出此目的所需的复杂性 如果我要写我自己的MTA软件,我需要实现一个相当有限的功能子集-字面上足以接收电子邮件,没有任何发送。我会保持实际的MTA软件尽可能薄,以尽量减少维护量。因此,在MTA
在过去的3天里,我一直在探索使用现有软件的方法,似乎我的最佳解决方案是Postfix>Procmail>my own processing。Postfix是一个完整的MTA解决方案,需要大量配置才能达到我想要的效果-复杂性很大程度上是一个配置问题,让第三方软件协同工作是我的要求。我相信那些精通配置邮件服务器和管理nix服务器的人会有一段轻松得多的时间,但在我看来,定制解决方案不会是一个庞大的项目——我唯一真正关心的是安全性
另外,关于overkill,我需要一个非常有限的Postfix功能子集,我看到的大多数配置都是试图禁用某些行为。在许多方面,我更喜欢使用成熟、稳定的后缀,而不是我自己的解决方案,但我觉得已经投入的时间本可以更有效地用于编写专门用于此任务的内容。我看不出有太多问题。我会把MTA放在一个有严格防火墙的地方。例如,数据库将位于DMZ之外的另一个框中
无论您使用的是商业邮件服务器还是定制邮件服务器,使用DMZ都是一种良好的做法。如果定制是更实际的选择,那么您将走上正确的道路我看不出有太多问题。我会把MTA放在一个有严格防火墙的地方。例如,数据库将位于DMZ之外的另一个框中
无论您使用的是商业邮件服务器还是定制邮件服务器,使用DMZ都是一种良好的做法。如果定制是一个更实际的选择,那么您将走上正确的道路除非您有编写服务器软件的经验,否则我只会使用Postfix作为MTA,并使用它提供的任何接口处理邮件(而不是让它通过SMTP将邮件转发到您的应用程序) 我会避免编写新的自定义MTA,这只是您必须实现和保护的另一层 不要低估: 1-安全的复杂性,特别是如果您没有在该区域遭受攻击的经验
2-你的系统可能会很长时间。现在看来不值得攻击,但如果它被保留10年呢…?除非你有编写服务器软件的经验,否则我只会使用Postfix作为MTA,并使用它提供的任何接口来处理消息(而不是让它通过SMTP将邮件转发到您的应用程序 我会避免编写新的自定义MTA,这只是您必须实现和保护的另一层 不要低估: 1-安全的复杂性,特别是如果您没有在该区域遭受攻击的经验
2-您的系统可能会使用很长时间。现在似乎不值得攻击,但如果它继续使用10年会怎么样…?如果我可以假设您收集的数据不敏感,因此不需要加密/隐私,我认为编写您自己的服务器的风险很小,特别是如果您遵循PaulG向p将服务器固定在防火墙DMZ中 根据您的描述,我不认为您的服务器是MTA;相反,它是一个碰巧使用SMTP的文件传输服务器。让我们看一个假设会话并讨论一些问题:
[Client connects to your server]
< 220 Welcome message from your.server.com
> HELO someclient.com
< 250 your.server.com
> MAIL From: address@ignored.com
< 250 OK
> RCPT To: another_address@also_ignored.com
< 250 OK
> DATA
< 254 End data with <CR><LF>.<CR><LF>
> client sends data here
> .
< 250 OK
> QUIT
< 221 Bye
[Close connection]
[客户端连接到服务器]
<220来自your.server.com的欢迎信息
>HELO someclient.com
<250 your.server.com
>邮寄地址:address@ignored.com
<250行
>RCPT至:另一个_address@also_ignored.com
<250行
>资料
<254使用结束数据。
>客户端在这里发送数据
> .
<250行
>退出
<221再见
[密切联系]
需要考虑的事情:
- 安全性是一个问题吗?(您需要防范垃圾邮件吗?您需要验证客户、发件人或收件人吗?)如果答案是“否”,您可以忽略HELO、
和邮件
之后的所有内容,并无条件发送250个响应RCPT
- 您可以将
和数据
之间的所有内容转储到一个文件中进行处理