Linuxnetworking服务器和安全要点(超越基本要求)

我正在学习Java,PHP,HTML,XML,AJAX和其他networking和Linux相关的东西。

每当我发现有人给我一个关于安全性的神秘和可怕的警告时,说:“…如果连接到互联网不安装PHP,如果你不知道你在做什么…”

到目前为止,我不能说我知道我在做什么。

那么……我应该学习什么才能获得关于如何开发一个正式安全的服务器和/或Internet暴露的Linux系统的足够深入和实用的理解?

(我说“正式安全”,因为我知道最终任何系统都有安全漏洞。)

有没有圣经书? 或推荐的主题列表?

最重要的考虑是什么?

什么技术或方法(如果有的话)是最好的testing服务器的安全性?

谢谢

如果你在IT Security Stack Exchange上查看这个问题 ,那么你应该给出一些想法。 最好的解决scheme不是经验 – build立系统,build立networking(如果你没有必要的基础设施,build立networking),运行安全攻击工具和方法。 如果有人提到PHP的漏洞,build立一个运行PHP的testing服务器,并使用一些已发表的漏洞攻击来监视发生的事情。

如果你需要一个工具来certificate这一切对于不熟练的人来说是多么的容易, Metasploit就是你的朋友。

我想你可能会问Nessus 。 这对于快速审计来说是一个好的开始,但显然,我不会仅仅依靠它作为唯一的解决scheme。

看看snort

我认为你可以用任何积极的(蜂蜜锅 – >油门/禁令)方法相当有效。 我们仍然处于大多数攻击者不希望您在通用网站上拥有主动安全性的阶段。

另一方面,如果你有一些有价值的东西,或者期望更强大(更复杂)的攻击,那么防御预算(策略,审计,顾问,IT安全官职位等等)。

无论是Linux还是其他基础,都是networking,主机和应用程序安全。

关于networking,你想确保你有适当的防火墙规则。 即你不暴露你不需要的端口。 在Hosting Provider上有一个专用VLAN,使用像nmap这样的工具来testing这些端口确实是closures/过滤的。

关于主机,您希望确保您尽可能快地按照所运行的操作系统的安全勘误进行修补。

关于应用程序安全性,您希望通过不透露信息(ServerSignature Off,Apache的ServerTokens Prod,php.ini中的expose_php = Off)以及使用最less特权的授权来确保您加强服务(例如Apache,MySQL) (不要在MySQL中授予所有的特权。对你自己的应用程序运行一个类似nikto的Web Vuln扫描器。

也使用随机密码 – 使用像密码大猩猩或其他密码pipe理器。

当然,还有很多东西需要学习,但是即使这些小东西也有帮助,这可能足以阻止一个不受欢迎的东西(当然,这取决于你的应用程序是什么,以及它们的动力如何)。

干杯