漫游访问CentOS LAMP Box的笔记本电脑 – 安全问题!

让我以一些信息来介绍这个问题 – 我是一个小型创业公司的开发人员。 公司目前无法雇用合适的* nix系统pipe理员, 随后,我负责build立一个运行CentOS的LAMP服务器,由我们的首席开发人员进行远程pipe理。 开发者每个星期都在不同的时区。 我的议程安全性非常高。

该服务器将用于testing我们旗舰产品的新版本。 服务器将由Betatesting人员(消费者,而不是QA人员)通过标准的80端口http和SSL访问。 它将被我们的开发人员通过SSH访问 – 以及ssl访问Subversion的源代码控制和端口21的FTP。

这是我迄今为止实施的…

旅行笔记本电脑:

  1. “Keepass”密码pipe理应用程序的数据库文件被远程备份到mozy。 主密码是198bit密钥。 数据库文件驻留在“IronKey”硬件encryptionencryption狗上。
  2. Windowslogin是132bit的关键。 空闲5分钟后,工作站locking。
  3. 所有代码,文档和应用程序设置都存储在硬件encryption驱动器上。

CentOS LAMP服务器:

  1. 通过SSH的根访问被禁用。 SU – 为根。
  2. 遵循本教程(cyberciti.biz/tips/linux-unix-bsd-openssh-server-best-practices.html)来lockingOpenSSH。
  3. 以下是开放端口的nmap扫描报告:

在美国东部时间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议:

  • 我将首先禁用所有未使用的服务(如pop3和imap)。 这会相当戏剧性地减less你的攻击面。 如果您必须保留某些服务,请通过防火墙阻止任何外部来源。
  • 此外,预先填充SSH服务器密钥指纹或以某种方式给它的领导。 确保他/她不会连接到机器,除非指纹匹配,否则有潜在的中间人攻击可以完成。
  • 考虑使用sudo而不是普通的su,并限制开发者可以做的事情。 只有在访问的合法原因时才放松安全策略。

在所有情况下避免 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端口转发等)

其他考虑:

  • 我不知道颠覆,但GIT(分布式源代码pipe理)使用SSH。
  • 与ftp相比,使用更安全的文件传输有很多方法。
  • 基于研究,实际上确保Windows机器受到威胁,因此永远不要完全信任机器或用户。
  • 如果您有硬件资源(例如足够的CPU和RAM),请使用虚拟机进一步分区服务(然后在这些主机上运行SELinux)。
  • NSA指南build议防火墙修改locking端口。 其他选项是您自己的angular色(即基于Linux文档项目中的伪装指南)。

如果系统或驱动器有任何物理安全问题,请在安装过程中考虑使用易于使用的LUKSencryption选项。 那么有备份安全。 旅行愉快。

Eric Chowanski

考虑使用诸如Bastille之类的强化工具。 CentOS本质上是一个重新命名的RedHat,因为这样的二进制兼容,所以在大多数情况下,RHEL版本号相同的任何指令都应该适用于CentOS。

另一个好的CentOS特定资源是OS保护 wiki页面。

最深入的分析是遵循CIS基准 。