簡介
掌控自己的 Linux 服務(wù)器是一個嘗試新事物并利用強大平臺的機會。然而,Linux 服務(wù)器管理員必須像對待任何網(wǎng)絡(luò)連接的機器一樣謹慎,以保持其安全性和穩(wěn)定性。
有許多不同的安全主題屬于“Linux 安全”這一總類,并且對于 Linux 服務(wù)器的適當安全級別有許多不同的看法。
最重要的是,你將不得不自行決定哪些安全保護措施是必要的。在這之前,你應(yīng)該意識到風險和權(quán)衡,并決定對于你來說,可用性和安全性之間的平衡是合理的。
本文旨在幫助你了解 Linux 服務(wù)器環(huán)境中一些最常見的安全措施。這不是一個詳盡的清單,也不涵蓋推薦的配置,但它將提供更詳盡的資源鏈接,并討論為什么每個組件是許多系統(tǒng)中重要的一部分。
使用防火墻阻止訪問
向所有用戶推薦的最簡單步驟之一是啟用和配置防火墻。防火墻充當互聯(lián)網(wǎng)的一般流量和你的機器之間的屏障。它們檢查進出服務(wù)器的流量,并決定是否允許信息傳遞。
它們通過檢查用戶配置的一組規(guī)則來執(zhí)行此操作。通常,服務(wù)器只會使用一些特定的網(wǎng)絡(luò)端口來進行合法服務(wù)。其余的端口未被使用,應(yīng)該安全地保護在防火墻后面,防火墻將拒絕所有前往這些位置的流量。
這使你能夠丟棄你不期望的數(shù)據(jù),甚至在某些情況下有條件地使用你的真實服務(wù)。合理的防火墻規(guī)則為網(wǎng)絡(luò)安全提供了良好的基礎(chǔ)。
有許多防火墻解決方案可用。我們將簡要討論一些更受歡迎的選項。
UFW
UFW 代表 uncomplicated firewall。它的目標是在不使用其他解決方案復(fù)雜語法的情況下提供良好的保護。
UFW,以及大多數(shù) Linux 防火墻,實際上是一個用于控制 Linux 內(nèi)核中包含的 netfilter 防火墻的前端。對于那些尚未熟悉 Linux 防火墻解決方案的人來說,這通常是一個簡單易用的防火墻,通常是一個不錯的選擇。
你可以通過點擊此鏈接了解如何啟用和配置 UFW 防火墻,并了解更多信息。
IPTables
也許最著名的 Linux 防火墻解決方案是 iptables。IPTables 是用于管理 Linux 內(nèi)核中包含的 netfilter 防火墻的另一個組件。它已經(jīng)存在很長時間,并經(jīng)歷了嚴格的安全審計以確保其安全性。還有一個名為 ip6tables 的 iptables 版本用于創(chuàng)建 IPv6 限制。
在你管理 Linux 機器的時間里,你可能會遇到 iptables 配置。起初,語法可能很復(fù)雜,但它是一個非常強大的工具,可以配置非常靈活的規(guī)則集。
你可以在此處了解如何在 Ubuntu 或 Debian 系統(tǒng)上實施一些 iptables 防火墻規(guī)則,或者在此處了解如何在基于 CentOS/Fedora/RHEL 的發(fā)行版上使用 iptables。
IP6Tables
如上所述,iptables
用于操作包含 IPv4 規(guī)則的表。如果你的服務(wù)器啟用了 IPv6,你還需要關(guān)注 IPv6 等效的 ip6tables
。
Linux 內(nèi)核中包含的 netfilter 防火墻完全將 IPv4 和 IPv6 流量分開。這些存儲在不同的表中。決定數(shù)據(jù)包最終命運的規(guī)則由使用的協(xié)議版本確定。
對服務(wù)器管理員來說,這意味著啟用版本 6 時必須維護一個單獨的規(guī)則集。ip6tables
命令與 iptables
命令共享相同的語法,因此在版本 6 表中實施相同的限制通常是直接的。但是,你必須確保正確匹配指向你的 IPv6 地址的流量。
NFTables
盡管 iptables 長期以來一直是 Linux 環(huán)境中的防火墻標準,但最近在 Linux 內(nèi)核中添加了一個名為 nftables 的新防火墻。這是由制作 iptables 的同一團隊的一個項目,并且旨在最終取代 iptables。
nftables 防火墻試圖實現(xiàn)比其 iptables 前身更可讀的語法,并將 IPv4 和 IPv6 支持實現(xiàn)到同一個工具中。雖然此時大多數(shù) Linux 版本不會隨著內(nèi)核的更新而實現(xiàn) nftables,但它很快將變得非常普遍,你應(yīng)該嘗試熟悉其用法。
使用 SSH 遠程安全登錄
在管理沒有本地訪問權(quán)限的服務(wù)器時,你需要遠程登錄。在 Linux 系統(tǒng)上實現(xiàn)這一點的標準、安全的方法是通過一個稱為 SSH 的協(xié)議,它代表安全外殼。
SSH 提供端到端加密、通過安全連接傳輸不安全流量的能力、X-轉(zhuǎn)發(fā)(通過網(wǎng)絡(luò)連接的圖形用戶界面)等功能?;旧?,如果你沒有本地連接或帶外管理的訪問權(quán)限,SSH 應(yīng)該是你與機器交互的主要方式。
雖然協(xié)議本身非常安全,并經(jīng)過了廣泛的研究和代碼審查,但你的配置選擇可能會在服務(wù)的安全性方面有所幫助或阻礙。我們將在下面討論一些選項。
密碼 vs SSH 密鑰登錄
SSH 具有靈活的身份驗證模型,允許您使用多種不同的方法進行登錄。其中最流行的兩種選擇是密碼和 SSH 密鑰身份驗證。
雖然對于大多數(shù)用戶來說,密碼身份驗證可能是最自然的模型,但它也是這兩種選擇中較不安全的一種。密碼登錄允許潛在的入侵者不斷猜測密碼,直到找到成功的組合。這被稱為暴力破解,可以很容易地被潛在攻擊者用現(xiàn)代工具自動化。
另一方面,SSH 密鑰通過生成一個安全的密鑰對來運作。公鑰被創(chuàng)建為一種用于識別用戶的標識。它可以公開共享而不會出現(xiàn)問題,并且不能用于除了識別用戶和允許使用匹配的私鑰登錄用戶之外的任何其他用途。私鑰應(yīng)保密,并用于通過其關(guān)聯(lián)的公鑰的測試。
基本上,您可以在服務(wù)器上添加您的公共 SSH 密鑰,它將允許您使用匹配的私鑰進行登錄。這些密鑰非常復(fù)雜,暴力破解是不切實際的。此外,您還可以選擇為您的密鑰添加長的口令,以增加更多的安全性。
要了解更多關(guān)于如何使用 SSH 的信息,請點擊這里,并查看此鏈接以了解如何在服務(wù)器上設(shè)置 SSH 密鑰。
實施 fail2ban 來禁止惡意 IP 地址
提高 SSH 配置的一般安全性的一步是實施類似 fail2ban 的解決方案。Fail2ban 是一個監(jiān)視日志文件以確定遠程系統(tǒng)是否可能不是合法用戶的服務(wù),然后暫時禁止與相關(guān) IP 地址的未來流量。
設(shè)置合理的 fail2ban 策略可以讓您標記那些持續(xù)嘗試無法成功登錄的計算機,并添加防火墻規(guī)則以在一段時間內(nèi)阻止來自它們的流量。這是一種簡單的方式來阻礙經(jīng)常使用的暴力破解方法,因為它們在被禁止時將不得不休息相當長的時間。這通常足以阻止進一步的暴力破解嘗試。
您可以在此處了解如何在 Ubuntu 上實施 fail2ban 策略。Debian 和 CentOS 也有類似的指南。
實施入侵檢測系統(tǒng)以檢測未經(jīng)授權(quán)的進入
需要考慮的一個重要問題是制定一種策略來檢測未經(jīng)授權(quán)的使用。您可能已經(jīng)采取了預(yù)防措施,但您還需要知道它們是否失敗了。
入侵檢測系統(tǒng),也稱為 IDS,會在已知良好狀態(tài)時記錄配置和文件詳細信息。然后,它會對這些記錄的狀態(tài)進行比較,以找出文件是否已更改或設(shè)置是否已修改。
有很多入侵檢測系統(tǒng)。我們將在下面介紹一些。
Tripwire
最著名的 IDS 實現(xiàn)之一是 Tripwire。Tripwire 編譯系統(tǒng)文件的數(shù)據(jù)庫,并使用一組密鑰保護其配置文件和二進制文件。在選擇配置詳細信息并定義異常后,后續(xù)運行將通知任何對其監(jiān)視的文件進行了任何更改。
策略模型非常靈活,允許您將其屬性塑造成適合您環(huán)境的樣子。然后,您可以通過 cron 作業(yè)配置 Tripwire 運行,甚至在出現(xiàn)異?;顒訒r實施電子郵件通知。
了解更多關(guān)于如何實施 Tripwire 的信息,請點擊這里。
Aide
IDS 的另一個選擇是 Aide。與 Tripwire 類似,Aide 通過構(gòu)建數(shù)據(jù)庫并比較當前系統(tǒng)狀態(tài)與其存儲的已知良好值來運作。當出現(xiàn)差異時,它可以通知管理員有問題。
Aide 和 Tripwire 都提供了相似的解決方案來解決同樣的問題。查看文檔并嘗試這兩種解決方案,找出您更喜歡哪一種。
要了解如何將 Aide 用作 IDS,請查看此處的指南。
Psad
Psad 工具關(guān)注的是系統(tǒng)的不同部分,而不是上述工具所列的監(jiān)視系統(tǒng)文件。Psad 監(jiān)視防火墻日志,以嘗試檢測惡意活動。
例如,如果用戶嘗試使用端口掃描來探測漏洞,Psad 可以檢測到此活動并動態(tài)地更改防火墻規(guī)則以鎖定有問題的用戶。該工具可以注冊不同的威脅級別,并根據(jù)問題的嚴重程度來響應(yīng)。它還可以選擇向管理員發(fā)送電子郵件。
要了解如何將 Psad 用作網(wǎng)絡(luò) IDS,請點擊此處。
Bro
作為網(wǎng)絡(luò) IDS 的另一個選擇是 Bro。Bro 實際上是一個網(wǎng)絡(luò)監(jiān)控框架,可用作網(wǎng)絡(luò) IDS 或用于其他目的,如收集使用統(tǒng)計信息、調(diào)查問題或檢測模式。
Bro 系統(tǒng)分為兩層。第一層監(jiān)視活動并生成其認為是事件的內(nèi)容。第二層通過策略框架運行生成的事件,該框架規(guī)定了應(yīng)該對流量采取什么行動,如果有的話。它可以生成警報、執(zhí)行系統(tǒng)命令、僅記錄發(fā)生的情況,或采取其他路徑。
要了解如何將 Bro 用作 IDS,請點擊此處。
RKHunter
雖然技術(shù)上來說不是入侵檢測系統(tǒng),rkhunter 采用了許多與基于主機的入侵檢測系統(tǒng)相同的原則,以便檢測 rootkit 和已知的惡意軟件。
雖然在 Linux 世界中病毒很少見,但是存在可以破壞您的系統(tǒng)或允許成功的攻擊者持續(xù)訪問的惡意軟件和 rootkit。RKHunter 下載已知漏洞列表,然后根據(jù)數(shù)據(jù)庫檢查您的系統(tǒng)。它還會在檢測到一些常見應(yīng)用程序中存在不安全設(shè)置時向您發(fā)出警報。
您可以查看這篇文章,了解如何在 Ubuntu 上使用 RKHunter。
一般安全建議
雖然上述工具和配置可以幫助您保護系統(tǒng)的部分內(nèi)容,但是良好的安全性并不僅僅來自于實施工具并將其忘記。良好的安全性體現(xiàn)在一種特定的思維方式中,并通過勤奮、審查和將安全性作為一個過程來實現(xiàn)。
以下是一些通用規(guī)則,可以幫助您正確使用系統(tǒng)并保持安全。
關(guān)注更新并定期更新
軟件漏洞在您系統(tǒng)上幾乎所有類型的軟件中都可能被發(fā)現(xiàn)。發(fā)行版維護者通常會很好地跟進最新的安全補丁,并將這些更新推送到他們的軟件源中。
然而,如果您沒有下載并安裝更新,那么軟件源中的安全更新對您的服務(wù)器毫無用處。盡管許多服務(wù)器受益于依賴穩(wěn)定、經(jīng)過充分測試的系統(tǒng)軟件版本,但安全補丁不應(yīng)該被擱置,而應(yīng)被視為關(guān)鍵更新。
大多數(shù)發(fā)行版都提供安全郵件列表和單獨的安全軟件源,以便只下載和安裝安全補丁。
下載軟件時要小心,盡量使用官方渠道
大多數(shù)用戶會使用其發(fā)行版官方軟件源中提供的軟件,而大多數(shù)發(fā)行版都提供簽名的軟件包。用戶通??梢孕湃伟l(fā)行版維護者,并將關(guān)注點集中在官方渠道之外獲取的軟件的安全性上。
您可能選擇信任來自您發(fā)行版的軟件包或來自項目官方網(wǎng)站的軟件,但請注意,除非您自己審計每個軟件,否則存在風險。大多數(shù)用戶認為這是可以接受的風險。
另一方面,來自您不認識的個人或組織維護的隨機軟件源和 PPA 可能是巨大的安全風險。雖然沒有明確的規(guī)則,但大多數(shù)非官方軟件源可能是完全安全的,但請注意,每當您信任其他方時,都存在風險。
確保您能解釋為什么信任該來源。如果您無法做到這一點,請考慮將您的安全風險權(quán)衡為更重要的關(guān)注點,而不是您將獲得的便利。
了解您的服務(wù)并限制它們
盡管運行服務(wù)器的整個目的可能是提供您可以訪問的服務(wù),但是將在您的計算機上運行的服務(wù)限制為您使用和需要的服務(wù)。將每個啟用的服務(wù)視為可能的威脅向量,并盡量消除盡可能多的威脅向量,而不影響核心功能。
這意味著,如果您運行的是無顯示器(無監(jiān)視器連接)服務(wù)器,并且不運行任何圖形(非 Web)程序,則應(yīng)禁用并可能卸載 X 顯示服務(wù)器。在其他領(lǐng)域也可以采取類似措施。沒有打印機?禁用 “l(fā)p” 服務(wù)。沒有 Windows 網(wǎng)絡(luò)共享?禁用 “samba” 服務(wù)。
您可以通過多種方式發(fā)現(xiàn)計算機上正在運行的服務(wù)。本文涵蓋了如何在“創(chuàng)建需求清單”部分檢測已啟用服務(wù)。
不要使用 FTP;改用 SFTP
這對許多人來說可能是一個難題,但是 FTP 是一個固有不安全的協(xié)議。所有身份驗證都是以明文形式發(fā)送的,這意味著任何監(jiān)視服務(wù)器和本地計算機之間連接的人都可以看到您的登錄詳細信息。
只有極少數(shù)情況下,F(xiàn)TP 可能是可以實施的。如果您運行一個匿名、公共、只讀下載鏡像,F(xiàn)TP 是一個不錯的選擇。另一個可以使用 FTP 的情況是當您只是在兩臺位于 NAT 啟用防火墻后的計算機之間傳輸文件,并且信任您的網(wǎng)絡(luò)是安全的。
在幾乎所有其他情況下,您應(yīng)該使用更安全的替代方案。SSH 套件配備了一個名為 SFTP 的替代協(xié)議,它在表面上以類似的方式運行,但是基于 SSH 協(xié)議的相同安全性。
這使您可以以與傳統(tǒng)使用 FTP 相同的方式在服務(wù)器和您之間傳輸信息,但沒有風險。大多數(shù)現(xiàn)代 FTP 客戶端也可以與 SFTP 服務(wù)器通信。
要了解如何使用 SFTP 安全地傳輸文件,請查看此指南。
實施合理的用戶安全策略
在管理用戶時,有許多步驟可以采取來更好地保護系統(tǒng)。
一個建議是禁用 root 登錄。由于 root 用戶存在于任何類 POSIX 系統(tǒng)上,并且它是一個強大的帳戶,因此它是許多攻擊者的目標。在配置了 sudo 訪問權(quán)限之后,或者如果您習慣使用 su 命令,禁用 root 登錄通常是一個好主意。許多人對此建議持有不同意見,但請檢查它是否適合您。
可以在 SSH 守護程序中禁用遠程 root 登錄,或者在 /etc/securetty
文件中限制本地登錄。您還可以將 root 用戶的 shell 設(shè)置為非 shell 以禁用 root shell 訪問,并設(shè)置 PAM 規(guī)則以限制 root 登錄。RedHat 在如何禁用 root 登錄方面有一篇很好的文章。
與上面討論的服務(wù)策略類似,您還應(yīng)該注意禁用不再必要的用戶帳戶。這可能會在您卸載軟件時發(fā)生,或者如果某個用戶不再需要訪問系統(tǒng)時發(fā)生。
注意權(quán)限設(shè)置
文件權(quán)限是許多用戶的巨大挑戰(zhàn)。在允許您進行所需操作的同時,又不會使自己暴露于危險之中,需要在每種情況下仔細注意和思考,以找到一個平衡點。
建立合理的 umask 策略(定義新文件和目錄的默認權(quán)限的屬性)可以在創(chuàng)建良好默認設(shè)置方面起到很大作用。您可以在這里了解權(quán)限如何工作以及如何調(diào)整您的 umask 值。
總的來說,在將任何內(nèi)容設(shè)置為全局可寫之前,您應(yīng)該三思,特別是如果它以任何方式對互聯(lián)網(wǎng)可訪問。這可能會帶來極端后果。此外,除非您確切知道自己在做什么,否則不要設(shè)置權(quán)限中的 SGID 或 SUID 位。還要檢查您的文件是否有所有者和組。
您的文件權(quán)限設(shè)置將根據(jù)您的具體用途而大不相同,但您應(yīng)該始終嘗試看是否有辦法減少權(quán)限。這是最容易出錯的事情之一,也是互聯(lián)網(wǎng)上存在大量錯誤建議的領(lǐng)域。
定期檢查服務(wù)器上的惡意軟件
盡管 Linux 通常比 Windows 受到的惡意軟件攻擊較少,但這并不意味著它對惡意軟件免疫。與實施入侵檢測系統(tǒng)以檢測入侵嘗試相結(jié)合,掃描惡意軟件可以幫助識別表明您的機器上安裝了非法軟件的活動痕跡。
對于 Linux 系統(tǒng),有許多惡意軟件掃描器可用于定期驗證服務(wù)器的完整性。Linux Malware Detect,也稱為 maldet
或 LMD,是一種流行的選項,可以輕松安裝和配置以掃描已知的惡意軟件簽名。它可以手動運行以執(zhí)行一次性掃描,也可以作為守護進程運行以定期進行掃描。這些掃描的報告可以通過電子郵件發(fā)送給服務(wù)器管理員。
如何保護您正在使用的特定軟件
盡管本指南不足以詳細介紹保護每種服務(wù)或應(yīng)用程序的具體方法,但在線上有許多教程和指南可供參考。您應(yīng)該閱讀您打算在系統(tǒng)上實施的每個項目的安全建議。
此外,像 Web 服務(wù)器或數(shù)據(jù)庫管理系統(tǒng)這樣的流行服務(wù)器軟件有專門致力于安全性的整個網(wǎng)站和數(shù)據(jù)庫??偟膩碚f,您應(yīng)該在將其上線之前閱讀并保護每項服務(wù)。
您可以查看我們的安全部分,了解您正在使用的軟件的更具體建議。
結(jié)論
現(xiàn)在,您應(yīng)該對您可以在 Linux 服務(wù)器上實施的一般安全實踐有了相當?shù)牧私?。雖然我們努力提及了許多重要領(lǐng)域,但歸根結(jié)底,您將不得不自行做出許多決定。當您管理服務(wù)器時,您必須對服務(wù)器的安全性負責。文章來源:http://www.zghlxwxcb.cn/news/detail-827660.html
這不是您可以在一開始快速配置的事情,而是一個審計系統(tǒng)、實施解決方案、評估日志和警報、重新評估您的需求等過程和持續(xù)的鍛煉。您需要警惕地保護您的系統(tǒng),并始終評估和監(jiān)控您解決方案的結(jié)果。文章來源地址http://www.zghlxwxcb.cn/news/detail-827660.html
到了這里,關(guān)于保護你的 Linux VPS:入門指南的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!