提高服务器安全性

提高服务器安全性

我已经开发 web 应用程序一段时间了...并且我一直有一个系统管理员,这使得环境完美,可以让我毫无后顾之忧地运行我的应用程序。

但是现在我正在开始自己的一个项目,我需要建立一个服务器,但对此几乎一无所知。

我所需要做的只是拥有一台 Linux,一台网络服务器(我通常使用 Apache)、PHP 和 MySQL。我还需要 SSH、SSL 来运行 https:// 和 FTP 来传输文件。

我知道如何安装几乎所有的东西(需要有关 SSL 的建议) 与 Ubuntu Server,但我担心安全问题...例如:防火墙、开放/关闭端口、php 安全等... 在哪里可以找到涵盖该主题的优秀指南?

服务器中的其他一切...我都不需要它,而且我想知道如何删除它,避免资源消耗。

最后说明:我将在 amazon-ec2 或 rackspace 云服务器上运行 webapp。

提前致谢!!

答案1

我已经开发 web 应用程序一段时间了...并且我一直有一个系统管理员,这使得环境完美,可以让我毫无后顾之忧地运行我的应用程序。

但是现在我正在开始自己的一个项目,我需要建立一个服务器,但对此几乎一无所知。

您需要聘请一名系统管理员。至少,他可以教您基础知识,并在您缺乏知识时为您提供支持。
您在这里说的话相当于“当我的车需要维修时,我总是会把它送到修理厂,但现在我想在车道上更换发动机”——我们可以为您提供维修手册和一些工具,但您最终会把它弄坏的可能性超过 50%。

假设您不想听从我刚刚给您的合理建议,请继续阅读……


我知道如何安装几乎所有的东西(需要有关 SSL 的建议) 与 Ubuntu Server,但我担心安全问题...例如:防火墙、开放/关闭端口、php 安全等...在哪里可以找到涵盖该主题的优秀指南?

“需要有关 SSL 的建议”是方式范围太广,无法给你一个好的答案。什么你不明白吗?(你不清楚如何获取证书吗?你的 CA 可以指导你完成该过程。你不确定如何安装证书以便 Apache 可以使用它吗?大多数 CA 都有一份快速指南,以及Apache 手册(SSL 部分)也是您应该熟悉的。

安全这个更广泛的话题通常是无法回答的,但根据你“我不是银行”的评论,我可以告诉你,你有对安全普遍抱有错误态度安全
不是从指南中得到的东西,也不是挥之不去的东西——它是一种看待系统(以及配置和维护系统)的方式,减少将危害降至最低实际水平的风险,并承诺保持系统最新以维持低风险水平。
任何像样的安全指南都需要一个没有经验的用户从零开始,花一天以上的时间才能完成,可能还需要一两天的时间才能完成服务器配置(预计会破坏某些东西,并且必须至少重新开始一次)。
经验丰富的系统管理员可以更快地完成服务器安全保护过程,因为他们以前做过。经验的好处还在于,他们可能知道要做的事情没有出现在 Joe Random 的安全教程中。


服务器中的其他一切...我不需要它,我想知道如何删除它,避免资源消耗。

未运行的东西不会消耗资源(除了磁盘空间,除非你正在做数据仓库,否则磁盘空间实际上是无限的),并且通常只构成有限的安全威胁。除了偏执级安全性(从生产主机中删除编译器)之外,一个带有不必要东西的通用 Linux 机器关掉是一个非常安全的起点。

也就是说,如果你想要拿一把大砍刀砍向你的系统并开始破解已安装的软件,你真的需要有人指导你。Debian/Ubuntu 通常是一个非常适合新手的系统,但如果你告诉它你想卸载一半的系统,它会按照你的要求做 - 可能会让你的机器无法使用。
经验丰富的管理员会知道你必须保留什么,你应该保留什么,以及需要删除或禁用什么。制定该列表是特定于环境的,超出了我们在简单的问答网站上可以做的事情。

答案2

首先,我始终建议将安装保持在最低水平,只包含您需要的软件包。为了方便起见,请安装chkconfig并运行chkcongig --list以查看哪些服务在启动时启动,然后禁用该服务在每次重新启动时启动 ( chkconfig SerViceName off),或完全卸载它 ( dpkg --purge PackAgeName)。

从 Ubuntu 安装 chkconfigapt-get clean && apt-get update ; apt-get -y install chkconfig

对于防火墙,我推荐使用,iptables因为它非常易于使用 Mysql 可以进行微调,并使用密码强制执行。如果您不需要从外部访问,请使用 iptables 将端口关闭,或者至少限制每个 IP 地址。安全指南 - 我更喜欢http://www.nsa.gov。 例子:http://www.nsa.gov/ia/mitigation_guidance/security_configuration_guides/operating_systems.shtml#linux2

相关内容