kar*_*grz 21 linux security webserver
我想建立一个廉价的Linux机器作为Web服务器来托管各种Web技术(我想到PHP和Java EE,但我希望将来也可以尝试使用Ruby或Python).
我非常精通设置Tomcat在Linux上运行以提供Java EE应用程序,但我希望能够打开这个服务器,即便只是因为我可以创建一些我可以在工作时使用的工具办公室.我配置Java EE站点的所有经验都是针对Intranet应用程序的,我们被告知不要专注于为外部用户保护页面.
您有什么建议以足够安全的方式设置个人Linux Web服务器以打开外部流量?
本文介绍了一些锁定内容的最佳方法:
http://www.petefreitag.com/item/505.cfm
一些亮点:
本文还从本书中得到了一些建议:
Apache Securiy(O'Reilly出版社)
对于发行版,我运行Debain和Ubuntu,但这取决于你想要做多少.我在没有X的情况下运行Debian,只要我需要任何东西就可以直接进入它.这是一种降低开销的简单方法.或者Ubuntu有一些很好的GUI,可以很容易地控制Apache/MySQL/PHP.
尽可能遵循安全最佳实践非常重要,但是您不希望为自己造成过分困难或者为了跟上最新漏洞而担心失眠.根据我的经验,有两个关键的事情可以帮助保持您的个人服务器足够安全,以便在保持理智的同时上网:
1)通过默默无闻的安全
毋庸置疑,在"现实世界"中依赖于此是一个坏主意,而不是被娱乐.但那是因为在现实世界中,坏人知道那里有什么,而且还有战利品.
在个人服务器上,您遭受的大多数"攻击"只是来自已经受到攻击的机器的自动扫描,寻找已知易受攻击的产品的默认安装.如果您的服务器没有在默认端口或默认位置提供任何诱惑,则自动攻击者将继续.因此,如果您要运行ssh服务器,请将其放在非标准端口(> 1024)上,并且可能永远不会找到它.如果你可以为你的网络服务器摆脱这种技术,那么很好,将它转移到一个不起眼的端口.
2)包管理
除非绝对必要,否则不要自己编译和安装Apache或sshd.如果您这样做,您将负责及时了解最新的安全补丁.让来自Linux发行版(如Debian或Ubuntu)的优秀软件包维护者为您完成工作.从发行版的预编译软件包安装,并保持最新状态变成偶尔发布apt-get update && apt-get -u dist-upgrade命令,或使用Ubuntu提供的任何花哨的GUI工具.