让我以一些信息来介绍这个问题 – 我是一个小型创业公司的开发人员。 公司目前无法雇用合适的* nix系统pipe理员, 随后,我负责build立一个运行CentOS的LAMP服务器,由我们的首席开发人员进行远程pipe理。 开发者每个星期都在不同的时区。 我的议程安全性非常高。
该服务器将用于testing我们旗舰产品的新版本。 服务器将由Betatesting人员(消费者,而不是QA人员)通过标准的80端口http和SSL访问。 它将被我们的开发人员通过SSH访问 – 以及ssl访问Subversion的源代码控制和端口21的FTP。
这是我迄今为止实施的…
旅行笔记本电脑:
CentOS LAMP服务器:
在美国东部时间2009-08-31 10:56启动Nmap 4.11( http://www.insecure.org/nmap/ )
localhost.localdomain(127.0.0.1)上有趣的端口:
未显示:1668个closures端口
港口国服务
21 / tcp open ftp
22 / tcp打开ssh
25 / tcp打开smtp
80 / tcp打开http
110 / tcp打开pop3
143 / tcp打开imap
225 / TCP打开未知
443 / tcp打开https
631 / tcp打开ipp
993 / tcp打开imaps
995 / tcp打开pop3s
3306 / tcp打开mysql
所以你有它 – 我知道这是目前的状态不是很安全。 我一直在研究这个好几天,在我用这个configuration来实现或者改变任何东西之前,我想要一些专业人员的反馈意见。 希望我们的经济能够反弹,这个压力大的安全工作将由一个比低级C#开发人员更有资格的人来处理。
提前致谢!
有几件事我会build议:
在所有情况下避免 FTP。 SSH内置了对文件传输的支持,所以根本不要使用FTP。 它以明文forms发送凭证(用户名/密码)和文件,因此同一networking上的任何人都可以拦截所有的数据。
考虑这是你有趣的旅程的起点:)。
还要考虑由国家安全局(National Security Agency)提供的指南,这些指导者负责安全增强Linux。 它们涵盖了RedHat(和CentOS)5.3,Mac,Windows,Solaris。 请使用该指南: http : //www.nsa.gov/ia/_files/ 。 (偏执狂:在浏览器中inputurl,而不是链接。)
本指南中未涉及的内容是使用访问控制列表。 在那find。 Google“red hat acl”,这极大地改善了基于nix的访问控制,让您在访问权限允许或禁止时更加灵活,这需要一些习惯,但是非常值得。
“未使用的端口”您的文章没有说如果你需要这些应用程序。 但是,除非绝对必要(如在,没有其他方式做),我会禁用访问的一切。 听起来你需要http和ssh,但是如果你真的需要的话,其他所有的东西都应该有一个解决方法。 (也就是说,可以通过命令行访问mysql,如果你还需要更多的东西,可以使用SSH端口转发等)
其他考虑:
如果系统或驱动器有任何物理安全问题,请在安装过程中考虑使用易于使用的LUKSencryption选项。 那么有备份安全。 旅行愉快。
Eric Chowanski
考虑使用诸如Bastille之类的强化工具。 CentOS本质上是一个重新命名的RedHat,因为这样的二进制兼容,所以在大多数情况下,RHEL版本号相同的任何指令都应该适用于CentOS。
另一个好的CentOS特定资源是OS保护 wiki页面。
最深入的分析是遵循CIS基准 。