在 VirtualBox 中设置实验室环境

在 VirtualBox 中设置实验室环境

我正在尝试使用带有独立网络的虚拟盒来设置实验室环境。为此,我设置了 1 个虚拟机,通过 2 个 NIC 与外界通信 - 1 个用于内部网络,1 个处于桥接模式以下载软件包等。

目的是学习安装 Linux 服务,如 Apache httpd、MySQL、DNS、FTP、NFS、Squid、邮件服务器等,之后我想继续学习更复杂的领域,如 IPtables、Nginx 并尝试其他服务,如 Varnish、 Docker、memcached、Puppet/Chef/Salt 等等。

我的问题是:

  • 在生产环境中,这些是如何安装的?它们是使用自定义安装位置从源代码编译的还是使用包管理器(如 yum 等)安装的?
  • 我该如何测试这些服务?例如,如果我完成了 Apache httpd 的安装和配置,我是否应该从内部网络中创建的客户端 VM 进行测试和/或应该添加另一个 NIC 以从主机进行测试?

我们的想法是创建一个与生产环境非常相似的环境,以便学习安装、配置这些服务,因为它应该在工作场所完成(而不是简单地执行yum install)。

任何有关如何学习/设置此功能的更多反馈/建议也将不胜感激。

答案1

您可以做一些事情。我的第一个推荐是参观打开 scap 的页面并使用最新security guideline configurations可用的系统扫描您的系统。检查您的系统并尝试使其达到至少 90% 的合规性。专注于诸如firewallsSELinux

虽然openscap及其相关的安全指南更关注政府/国防部环境,但它们通常是很好的安全指南。将这些作为基准完成后,意味着您安装的任何软件都可能会遇到与强化相关的问题,这将使您更好地了解挑战参与在安全生产环境中设置软件。

对于类似的事情,apache我建议尝试设置一个简单的wordpress网站,如果可能的话使用https。这也将为您提供一些设置sql database.再次完成这些后,尝试找到一些安全准则来强化它们,看看有什么问题,并学习如何修复它。学习什么津贴必须做出(在生产环境中,唯一100%安全的系统是不做任何事情的系统,因此不同的配置需要不同的安全限额。即在生产环境中,最好不要将所有服务都放在一台机器上。在许多服务器之间划分服务意味着您的基础设施不仅不会在一次攻击中瘫痪,而且任何一台服务器上允许攻击的漏洞都会减少)

就您的直接问题而言:

  • 在我的生产环境中,我将使用yum install任何可供我使用的东西。这确保了我的补丁都是根据redhat/centos/Oracle所使用的发行版进行管理/测试的。因此,修补后东西不会损坏的可能性更大。

  • 设置一台与服务器位于同一网络的客户端计算机,并查看是否可以通过该客户端计算机进行访问。在更真实的测试中,您可以将其配置为也可由本地计算机访问,但这将使您不得不做比严格必要的工作更多的工作。

至于Puppet, chef, 或salt.设置 2-3 个虚拟机clients/minions,然后编写states// recipeswhatever puppet calls their things这将强制执行我在上面建议您应用的安全设置。这将为您提供良好的设置系统的经验,因为它们会自然配置,并确保应用安全性后,您的 salt/puppet/chef 服务器仍然可以与客户端通信。

此外,您想要学习的很多内容实际上都包含在非常好的实验室场景中,用于许多学习指南Redhat Certified System adminredhat certified Engineer测试,查找实验室也可能是查找信息的好地方。

相关内容