我会尽快尝试部署我的第一个networking应用程序,所以我的经验是缺乏的。 我记得在某个地方读到机器人端口扫描发生在几分钟内暴露在互联网(也许这是一个Windows 95系统需要多less时间才能妥协,这是自从我阅读文章已经有一段时间了)。 这个特定的服务器在amd64上运行Ubuntu 9.10服务器版本。
networking应用程序本身应该完全通过https,根据这个问题, 我刚刚在这里问 。 此外,该网站还有一个file upload部分,现在通过http post完成,该文件最终通过单独的(无线的,不幸的)接口远程连接到另一台计算机,以处理实际的处理。
所以,在暴露在世界的实际networking接口上,我认为端口80和443应该被暴露,而不是别的。 正如我之前所说,80应该redirect到443.是理智的吗? 还有什么别的我不知道,我应该有一些其他的港口活跃? 这些文件通过端口9000和9001使用ruby DRb移动到处理系统,因此这些文件也需要打开,但只能在第二个界面上打开。
另外,我应该使用什么防火墙程序来处理这样的两个networking接口? 这里列出了一些 ,但我不确定哪些是适合服务的网页,或者即使这是一个特殊的情况。
听起来是正确的,如果你只提供https,那么这是你需要打开的。 但是,只有以root帐户开始的应用程序才能侦听1024以下的端口,因此您有两个选项:
下面是你如何做端口转发(例如你可以用80到8080做同样的事情):
iptables -t nat -A PREROUTING -i $EXT_IF -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 8443
除此之外,没有必要打开任何其他端口到互联网,只要确保你打开其他接口的ssh,这样你就可以访问和pipe理服务器。
至于防火墙应用程序,iptables随ubuntu一起使用,只是使用它,不需要任何其他奇特的工具,我会说。
你是对的,只有端口80/443需要暴露。 其他一切都应该closures。 你需要你的防火墙来做一些事情。
这是一些想法。 我没有任何具体的软件build议。 也许读LARTC可能会有帮助。