讓你的 Linux 服務器更安全的四個方法

jopen 9年前發布 | 3K 次閱讀 Linux
 

我運行幾個 Linux 服務器;在家里的一個作為文件服務器,還有三個實時服務器分別用作站點、郵件、云儲存。雖然我不用擔心家里的服務器的安全問題,因為它不和外面的世界對話,但是另外三個服務器始終需要維護。對于那些 Linux 新手并且他們想運行自己的服務器,那么他們必須將一些觀念牢記在心,這就是本文所專注的方面。

安裝你需要的

如果你計劃運行一個服務器,你也許會想“我在 Linode 有40GB的固態硬盤存儲空間,所以我能夠安裝我想要的任何服務。”的確如此:你的服務器、軟件等都可以安裝在上面。但是也不要太想當然了。即使是最“堅硬”的服務器也能夠被劫持,由于在它上面使用未打補丁或者易受攻擊的組件。

所以第一個規則是保持你服務器的精簡,讓它吝嗇一點。只安裝那些你真正需要的軟件。如果存在不想要的軟件,就清除它們。軟件越少,未打補丁的代碼也會少些。在你安裝任何軟件和依賴包之前(比方說:私有云),你應該閱讀私有云的文檔并只安裝那些你需要的包。

運行你需要的

第二個規則是只運行那些你需要的服務。許多發行版或者軟件包也許在不同的端口開啟了特定的服務。那會造成一些安全風險,請先打開終端并運行下面這條命令:

netstat -npl

輸出結果將會告訴你在哪些端口正在運行哪些服務。如果你發現任何你沒有打算運行的服務,停止這些服務。你也應該注意一下那些隨系統啟動就啟動并運行的服務。你能夠通過在系統上運行systemd來檢查這些服務,輸入以下命令:

systemctl list-unit-files –type=service | grep enabled

根據你自己的系統,你將會得到一個如圖1所示的輸出結果。如果你發先任何不想要的服務,你可以運行systemctl命令關閉它:

systemctl disable service_name

服務器入口限制

就像你不會把你家門的鑰匙給你認識的每一個人,你也不應該讓你認識的人隨便進入你的服務器。一旦明確了這一規則,你就要限制服務器的進入。記住一件事:做這些并不能阻止那些執著于使你服務器癱瘓的人。我們做的只是增加服務器的安全級別以應對攻擊者的偶然攻擊。

讓你的 Linux 服務器更安全的四個方法

從不以Root權限登陸

以超級用戶遠程登陸到你的服務器可不是什么好習慣。我們將會禁用以root用戶遠程登陸服務器,但在做這之前,讓我們先創建一個擁有sudo權限 的用戶以便你能夠遠程登陸服務器并執行管理員任務。一旦你用這個用戶身份登陸服務器,你總是能夠在你需要時隨時切換到root權限。如果你在系統上已經有 了一個用戶,請跳過這些步驟;否則的話,還是跟著我做下去。

不同的發行版增加新用戶的方式有所不同;Red Hat/ CentOS 使用useradd命令, Ubuntu / Debian 使用adduser命令。

在Fedora/ CentOS 上創建一個新用戶:

useradd swapnil

接著為這個用戶創建一個密碼:

passwd swapnil

命令會讓你給這個用戶提供一個新密碼。現在你要做的是賦予該用戶sudo權限。運行以下命令:

EDITOR=nano visudo

并找到下面這一行(圖2):

# %wheel ALL=(ALL) ALL

取消這一行注釋(#表示注釋;刪除#表示取消注釋)就像下面這個樣子:

%wheel ALL=(ALL) ALL

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!