Linux

在 VirtualBox 中設置實驗室環境

  • November 12, 2015

我正在嘗試使用具有獨立網路的 Virtual box 來設置實驗室環境。為此,我設置了 1 個 VM 與外部世界通信,其中有 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)。

任何更多關於如何學習/設置的回饋/建議也將不勝感激。

您可以做幾件事。我的第一個建議是訪問Open 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/ recipes/ whatever puppet calls their things,這將強制執行我建議您在上面應用的安全設置。這將為您提供設置系統的良好體驗,因為它們會自然配置,並確保應用安全性之後,您的 salt/puppet/chef 伺服器仍然可以與客戶端通信。

此外,許多您想學習的內容實際上都包含在非常好的實驗室場景中,用於許多學習指南Redhat Certified System adminredhat certified Engineer測試,查找實驗室可能也是查找資訊的好地方。

引用自:https://unix.stackexchange.com/questions/242599