提高Linux安全性:14項檢查建立安全的Linux伺服器
1 – 記錄主機信息
每當您正在使用新的Linux主機進行安全增強時,您需要創建一個文檔並記錄本文檔中列出的項目,工作完成後,您將需要檢查這些項目。另外,在開始時該文檔,您需要記錄有關Linux主機的信息:
設備名稱
IP地址
MAC地址
負責安全提升工作的人(實際上是你)
日期
資產編號(如果您正在開展業務,則需要記錄設備的資產編號)
2 – BIOS保護
您需要為此主機的BIOS設置密碼,以確保最終用戶無法修改或覆蓋BIOS中的安全設置,這非常重要!設置BIOS管理員密碼後,您需要從外部媒體設備(USB / CD / DVD)禁用主機啟動。如果忽略此設置,任何人都可以通過寫入引導映像的U盤訪問此主機中的數據。
在內置Web伺服器的新伺服器主板中,您可以使用它來遠程訪問主機數據。因此,您需要確保已經修改了伺服器管理頁面的默認密碼,如果可以,直接禁用此功能。
3 – 硬碟加密
大多數Linux發行版允許您在繼續安裝之前加密磁碟。磁碟加密非常重要,因為當您的電腦被盜時,即使小偷將您的硬碟驅入自己的電腦仍然無法讀取您的數據。
在下圖中,選擇列表中的第三個選項:引導使用整個磁碟並設置加密的LVM(LVM代表邏輯卷管理器)。
如果您的Linux發行版不支持加密,則可以選擇使用TrueCrypt等加密軟體。
4 – 磁碟保護
數據備份是一個很好的習慣,當系統崩潰或系統更新失敗時,突出顯示備份的優點。對於一些重要的伺服器,為了防止災難(包括自然災害和人為因素)的影響,備份數據通常需要離線存儲。當然,備份也要求我們花費精力去管理。例如,需要保存舊備份文件多長時間?什麼時候需要備份系統?(每日或每周)?
核心系統磁碟需要分區:
/
/ boot
/ usr
/家
/ tmp
/ var
/選擇
磁碟分區可能在系統故障的情況下仍然保護系統的性能和安全性。在下圖中,您可以在安裝過程中看到由Kali Linux提供的分區選項。
5 – 鎖定引導目錄
引導目錄包含大量與Linux內核相關的重要文件,因此您需要確保目錄僅通過以下步驟「只讀」才能打開。
首先打開「fstab」文件。
接下來,添加下圖所示的最後一行數據。
完成此步驟後,您需要執行以下命令來設置文件的所有者:
那麼您需要設置一些許可權來保護啟動設置:-以root身份設置/etc/grub.com的所有者和組:
-設置/etc/grub.conf文件只有root可以讀寫:
-單用戶模式需要認證:
6 – 禁用USB存儲設備
根據您系統的重要性,有時您需要禁用Linux主機使用USB存儲設備。有很多方法來禁用USB存儲設備,以下是為您提供最常用的設備:
用你最喜歡的文本編輯器打開「blacklist.conf」文件:
打開文件後,將以下信息添加到文件底部並保存並退出:
然後打開rc.local文件,添加以下兩行數據:
7 – 系統更新
第一次啟動後,首先要更新系統,這個步驟應該被認為比較簡單。通常,您可以打開終端,然後執行相應的命令。
在Kali Linux中,您可以使用以下命令更新系統:
8 – 檢查已安裝的軟體包
列出您的Linux系統中的所有已安裝的軟體包,然後刪除不需要的軟體包。
如果您正在伺服器上工作,那麼您必須非常小心,因為伺服器通常僅用於安裝應用程序和服務。
您可以按照以下命令列出在Kali Linux中安裝的軟體包:記住要禁用那些不需要減少伺服器攻擊面的服務。如果您在自己的Linux伺服器中發現以下遺留服務,請快速刪除它們:
Telnet伺服器
RSH伺服器
NIS伺服器
TFTP伺服器
TALK伺服器
9 – 檢查打開的埠
識別與互聯網的開放連接是非常重要的任務。在Kali Linux中,我們可以使用以下命令查找隱藏的開放埠:
10 – 增強SSH的安全性
是的,SSH真的很安全,但是我們還要繼續在現有的基礎上增強其安全性。首先,如果你可以禁用SSH,那麼問題就解決了。但是,如果仍然需要使用它,則需要修改SSH的默認配置。切換到目錄/ etc / ssh,然後打開「sshd_config」文件。
-將默認埠號(22)更改為另一個號碼(例如99)。
-確保root用戶無法通過SSH遠程登錄:
-允許某些特殊用戶:
如果您需要更豐富的配置,請確保您閱讀SSH手冊並了解該文件中的所有配置項。
另外,您還需要確保在「sshd_config」文件中配置以下配置選項:
協議2
IgnoreRhosts為yes
Hostbase驗證無
PermitEmptyPasswords no
打開X11Forwarding 沒有
MaxAuthTries 5
密碼aes128-ctr,aes192-ctr,aes256-ctr
ClientAliveInterval 900
ClientAliveCountMax 0
UsePAM 是的
最後,設置文件訪問許可權,以確保只有root用戶可以修改文件的內容:
11 – 啟用SELinux
SELinux是支持訪問控制安全策略的內核安全機制。SELinux有三種配置模式:
禁用:關閉
允許:列印警告
執法:政策是強制執行
打開配置文件:
確保SELinux已打開:
12 – 網路參數
保護Linux主機網路活動也非常重要,從來沒有希望防火牆能夠幫助您完成所有的任務。打開/etc/sysctl.conf文件並進行以下設置:
- 將net.ipv4.ip_forward參數設置為0。
- 將net.ipv4.conf.all.send_redirects和net.ipv4.conf.default.send_redirects參數設置為0。
- 將net.ipv4.conf.all.accept_redirects和net.ipv4.conf.default.accept_redirects參數設置為0。
- 將net.ipv4.icmp_ignore_bogus_error_responses參數設置為1。
13 – 密碼政策
人們通常在不同的地方使用相同的密碼,這是一個非常糟糕的習慣。舊密碼存儲在/ etc / security / opasswd文件中,我們需要使用PAM模塊來管理Linux主機中的安全策略。在Debian版本中,您可以打開/etc/pam.d/common-password文件,並添加以下信息,以防止用戶重複使用最近使用的四個密碼:
另一個密碼策略是強制用戶使用強大的密碼。PAM模塊提供了一個庫(pam_cracklib),可以幫助您的伺服器進行字典攻擊和爆破攻擊。打開/etc/pam.d/system-auth文件並添加以下信息:
Linux是密碼哈希,所以你想確保系統使用SHA512哈希演算法。
另一個有趣的功能是「五次鎖定帳戶後的密碼輸出錯誤」。打開/etc/pam.d/password-auth文件並添加以下數據:
然後打開/etc/pam.d/system-auth文件並添加以下信息:
密碼錯誤五次後,只有管理員可以解鎖帳號,解鎖命令如下:
另一個好習慣就是設置「密碼到期後的90天」。
- 將/etc/login.defs中的PASS_MAX_DAYS參數設置為90。
- 修改當前用戶的密碼到期時間:
現在,我們必須限制對su命令的訪問。打開/etc/pam.d/su文件,然後設置pam_wheel.so參數:
最後一步是禁止非root用戶訪問系統帳戶。可以使用以下bash腳本完成此步驟:
14 – 許可和驗證
毫無疑問,如果要確保Linux主機的安全性,那麼許可權當然是最重要的。
使用以下命令為/ etc / anacrontab,/ etc / crontab和/etc/cron.*設置適當的許可權:
為/ var / spool / cron分配適當的許可權:
為「passwd」,「group」,「shadow」和「gshadow」文件分配適當的許可權:
* 本文作者:Enming0924,轉載請註明來自FreeBuf.COM
※網路悍匪劫持巴西網銀長達5小時,數百萬用戶中招
※谷歌發現了一個潛伏了三年的Android間諜程序
※NSA方程式的更多黑客工具有下載了:信息量很大,連中國運營商都被入侵過?
※震驚
※新型智能電視攻擊,90%電視設備受影響!?
TAG:FreeBuf |
※編譯期類型檢查 in ClojureScript
※防你?macOS High Sierra 將自動執行每周系統固件的安全檢查
※西班牙語-醫學檢查 Pruebas médicas
※機器人橋樑檢查員Seekur Jr準確度高達96%
※Bigbang:TOP吸食大麻檢查結果陽性 警方立案調查
※Linux下如何檢查是否被黑客rootkit入侵
※你的iPhone安裝有32位應用嗎?檢查一下
※GE Venture孵化器企業與英偉達聯手構建「檢查型」AI方案
※血hcg檢查 關於HCG的分析
※iphone設備如何檢查自己電池的壽命
※iOS 11更不更新?10秒檢查已裝apps是否支持
※EverlyWell,在家裡也可以進行健康檢查
※《SNL》「Wanna One篇」交易情況嚴重 入場實施嚴格檢查
※如何使用PowerShell實現命令控制以及安全檢查繞過
※Chrome存大問題 檢查網站「安全」實際不一定安全
※iOS11很耗電怎麼辦?這些檢查解決iPhone耗電問題
※iOS10.3果然有重大缺陷,快檢查iPhone是否有這問題
※升級 iOS 11 之前,先檢查你的 iPhone 是否有不兼容的應用
※英國曼徹斯特爆炸事件後 Facebook迅速開啟安全檢查功能