在線業務的趨勢與日俱增,方便用戶通過在線支付無需訪問銀行即可在家門口購買服務或產品。保護數據是最重要的,因為黑客正在積極嘗試破壞機密和私人信息。在本文中,您將了解服務器配置以及保護服務器機器的不同方法。
在將服務器投入生產環境之前,您只需按照這 10 個步驟安全地設置服務器。以下細節可能因發行版而異,但相同的概念可用于任何風格的 Linux。一旦您完成了所有這些服務器配置,這意味著您已經添加了針對常見攻擊的基本保護。
服務器配置的快速概述以及如何主動配置。
什么 | 如何 |
用戶配置 | 更改根密碼 |
網絡配置 | 為您的服務器分配靜態 IP 和主機名 |
包管理 | 安裝不屬于發行版的軟件包 |
更新安裝和配置 | 更新內核和軟件包 |
NTP 配置 | 防止時鐘漂移 |
防火墻和 iptables | 只打開服務所需的那些端口 |
保護 SSH | 禁用 root 遠程 SSH 的能力并嚴格某些 IP 地址 |
守護程序配置 | 關閉任何你不需要的守護進程 |
SELinux 和進一步強化 | 防止未經授權的使用和資源訪問 |
日志記錄 | 構建日志結構并快速解決您的問題 |
1. 用戶配置
在服務器配置中執行任何其他操作之前,更改 root 密碼是您需要做的基本事情。嘗試使用數字、符號、大小寫字母組合的復雜密碼。通過設置密碼策略來防止黑客攻擊,該策略指定使用本地帳戶的歷史記錄、鎖定和復雜性要求,并確保您的密碼長度至少為 8 個字符。完全禁用 root 用戶,并為需要提升權限的用戶創建其他具有 sudo 訪問權限的非特權帳戶。
2. 網絡配置
您需要通過分配 IP 地址和主機名來啟用可能的網絡連接。網絡服務器必須分配靜態 IP 地址,以便用戶始終可以在同一地址找到該網絡資源。如果是 VLAN(虛擬局域網),請考慮基本的事情,包括服務器網段的隔離程度以及它更適合的位置。如果您不使用 IPV6,則無需將其打開。設置任何主機名、域(如果沒有則注冊任何域名)和 DNS 服務器的信息。此外,可以使用多個DNS 服務器進行冗余,并通過測試 nslookup 來檢查解析是否正常工作。
3. 包管理
設置服務器可能有任何特定目的,因此請確保您已安裝發行版中未包含的所需軟件包。有不同的最廣泛使用的應用程序包,包括 PHP、NGINX、MongoDB 和其他支持包,例如 pear。請記住,刪除額外的包以縮小服務器占用空間,因為您不需要保留它們以供進一步使用。在不久的將來,如果您需要獲得他們的特定服務,那么您只需轉到您的發行版的包管理解決方案即可輕松地再次安裝它們。
4.更新安裝和配置
現在,您已經在服務器上安裝了所需的軟件包,但請確保所有軟件包都已更新。還必須使內核和默認軟件包保持最新。如果您需要舊版本,則可以使用,但出于安全目的,我建議您使用最新版本。包管理器將提供有關最新支持版本的信息以及自動更新選項。
5.NTP配置
服務器設置或服務器配置一旦在所需安全級別的幫助下正確完成,將幫助您以最小的風險因素讓您高枕無憂。NTP 服務器可以是可供所有人使用的內部或外部時間服務器。為什么防止時鐘漂移更重要,因為它可能會導致很多問題,例如身份驗證問題,因為在授予訪問權限之前測量計算機(服務器)和身份驗證基礎設施之間的時間偏差。因此,必須防止時鐘偏差問題才能正常工作。
6. 防火墻和 iptables
在這個數字世界中,必須實施所需的安全級別。一旦被黑客入侵,就不可能再次獲得客戶的信任并再次穩定業務。根據分發類型,iptables 可能被鎖定或要求您打開所需的內容,但不要將其保留為默認值。根據您的特定需要更改服務器的配置,并始終使用最小權限原則。只打開那些對于不同服務的工作高度需要和強制的端口。這是使用服務器后面的專用防火墻并確保您的 iptables/firewall 默認為限制性的好方法。
7. 保護 SSH
它與 Windows 操作系統中使用的命令行界面相同。SSH 是 Linux 發行版的訪問方法,用于執行管理級別的操作。禁用 root 遠程 SSH 的能力,這樣如果在服務器計算機上啟用了 root,那么它將無法遠程利用。
此外,如果您有一組固定的用戶或客戶端 IP 與您的服務器連接,您還有另一個選項來限制某些 IP 地址。您可以選擇更改您的默認 SSH 端口號,但它并不像您想象的那么安全,因為簡單的掃描可以顯示您的開放端口想要執行任何非法或黑客活動。服務器配置并不像您想象的那么困難,它需要注意細節以獲得最高級別的安全性。您應該實施基于證書的身份驗證并禁用密碼身份驗證,以減少 SSH 被利用的機會。
8. 守護程序配置
現在,您已經配置了服務器,但還需要實施一些事情以提高安全性。設置正確的應用程序以在重新啟動時自動啟動并關閉不使用的守護程序。這是一種減少活動足跡的主動方法,以便只有應用程序所需的表面區域可用于攻擊。完成此任務后,盡量加固其他剩余服務,享受最高級別的安全性和彈性。
9. SELinux 和進一步強化
SELinux(Security-Enhanced Linux)是一種內核強化工具或安全架構,用于保護服務器機器免受不同操作的影響,并允許管理員更好地控制誰可以訪問。換句話說,SELinux 是為了確保 SELinux 是否啟用,您可以運行 sestatus。如果您收到一條提示您受到 SELinux 保護的消息的狀態。如果您收到許可消息,則表示 SELinux 已啟用,但并未保護您,“禁用”表示您已完全禁用。
基于 Linux 的發行版上的 MAC(強制訪問控制)。它是一個很好的工具,用于保護對系統資源的未經授權的訪問。建議在啟用 SELinux 的幫助下測試您的配置,以便您可以確保在日志的幫助下沒有阻止任何合法的東西。您還可以檢查強化其他應用程序(如 MySQL、Apache 等)的不同方法。
10. 記錄
在最后階段,確保您所需的日志記錄級別已啟用或未啟用,并且您有足夠的資源。如果你已經建立了一個日志結構,那么在短時間內解決問題對你來說會更有用。現在,對服務器進行故障排除以獲取更多信息或轉到具有可配置日志結構的軟件以了解數據不足和信息過多之間的平衡。此外,還有第三方工具可幫助您從聚合到可視化,但必須了解每個環境的需求。然后,您可以選擇正確的工具或工具集來正確填充它們。
最后的話
最重要的是,如果您的服務器是攻擊的目標,則未能采取這些服務器配置步驟可能會更加危險。如果您遵循所有這些步驟,這并不能保證安全,但它確實使惡意行為者的過程變得困難或耗時,并且需要更高水平的技能來克服。數據泄露發生,因此您可以了解所有防止數據泄露的事情,并且不會留下任何漏洞為黑客提供機會。