locking在互联网上的一个盒子

我是一个开发人员,希望在互联网上提供新的服务。 我是pipe理系统的新手,坦率地说,我似乎有点迷失在我应该开始在networking上的东西。

我的应用程序可以在我的机器上正常工作,而且我确信我可以在任何一个盒子上正常工作。 但是这个盒子的安全性非常重要。

为了防止我的服务被黑客窃取,我需要知道哪些事情? 链接到固体资源罚款由我! 我没有特别的答案。 我甚至只想起点。

如果我注册一个标准的托pipe软件包(比如GoDaddy或者其他什么软件),我可以简单地告诉他们“让端口12345开放通信”,让他们处理其余的安全细节?

谢谢!

我不确定大多数供应商提供什么,个人而言,我认为即使他们为您做了一些工作,也要核实所有内容。 这是一个可以用作清单的一般答案。 它涵盖了几乎所有标准安全参考的大部分主要主题。

另外请记住,虽然保护操作系统/平台是非常重要的,但大部分安全问题实际上都是在您将要公开的服务的应用程序级别发生的。 这份SANS文章表明,至less有60%的事件是互联网服务受到威胁的结果。 所以确保你的应用程序不是问题是非常重要的。

安全清单

更改默认值

  • 更改密码
  • 更改任何远程pipe理界面的端口
  • 调整支持重命名的系统上的任何常用用户名。

删除任何不需要的服务和包

  • 找出正在运行的内容,并禁用和/或删除您不需要的任何内容。
    • 某些服务器将启用基于Web的pipe理界面。 禁用它们,或者至less确保它们只能由您访问。

启用基于主机的防火墙

  • 您也可能受到networking防火墙的保护,但安全性应该分层进行。 在主机上设置防火墙,并将访问权限限制在必需的范围内。
  • 使用默认拒绝规则集。 你的防火墙应该阻止一切,只允许你明确知道的stream量是好的。

设置任何入侵检测并防止工具

  • 如果您的系统正在运行SSH,请查看设置类似denyhosts或fail2ban的内容。
  • 在您的防火墙设置限速,以便字典/暴力攻击是不可能的。

设置一个系统来监控你的可用性

  • 你想在有事情发生时得到通知。 将远程监视器或子系统设置为将监视您的服务。

设置一个系统,以便任何日志和错误到达你

  • 将任何系统日志或事件日志数据传送到远程站点。 或者至less设置一些类似logcheck的东西,以便不寻常的行为导致通知被发送。

提出一个关于如何更新系统的计划

  • 安全是不是可以做,然后忘记。 你需要更新的东西。 您可能应该有一个开发/testing服务器(VM?),用于复制生产环境,以便testing更新,然后计划何时/如何更新生产环境。

build立一个备份系统,以便在最坏的情况发生时进行恢复

  • 将发生故障和系统妥协。 build立一个好的备份就是你将用来检测你已经被编译和修复系统,如果你已经。

检查您的ISP,看看会发生什么,如果你遇到了DoS,他们可以做些什么来帮助在最坏的情况下

  • 不是所有的破坏性行为都会导致你的盒子受到损害。 您的服务可以通过远程离线进行。 弄清楚你的ISP是否能够帮助你,以及当这种情况发生时你将如何得到帮助。

在适当的地方设置encryption

  • configurationSSL / TLS传输任何PII 。
  • 确保任何应用程序安全地存储任何PII 。