99%運維人員都忽略的(de)服務器安全問題
發布時間:2023-04-26 閱讀: 分享

服務器安全是 IT 行業一(yī)個老生常談的(de)問題了,每年(nián)的(de)護網行動,企業內(nèi)部的(de)安全培訓都在提醒每個程序員處理(lǐ)好服務器安全問題已變得刻不容緩


如(rú)果在安全方面有疏忽,極易造成數據洩露、隐私洩露等重大安全事故


  • 2022年(nián)美醫療中心數據洩露,超130萬人受影響;

  • 去(qù)年(nián)一(yī)月,勒索軟件攻擊引發墨西哥(gē)州監獄越獄危機;

  • 同樣是2022年(nián),紅(hóng)十字國際委員會遭網絡攻擊,超51萬人信息被黑。


作為(wèi)一(yī)名運維人員,必須要了解一(yī)些安全運維守則,通過一(yī)些手段來保護自(zì)己的(de)服務器不受入侵和(hé)攻擊,再進一(yī)步保護自(zì)己所負責的(de)業務不受影響


下面我将給大家介紹一(yī)些提高(gāo)服務器安全性的(de)方法論




用戶(組)安全


删除特殊的(de)用戶和(hé)用戶組


Linux 系統提供了各種不同角色的(de)系統賬号,在系統安裝完成之後,默認會安裝很多不必要的(de)用戶和(hé)用戶組


如(rú)果你用不上這些用戶和(hé)用戶組,應該删除他們,因為(wèi)賬戶越多,系統就越不安全,這些你不會注意到的(de)用戶很有可(kě)能會被黑客給利用,從而威脅服務器的(de)安全


像:adm、sync、shutdown、lp、halt、news、uucp、games 等系統默認用戶


以及 adm、news、uucp、dip、popusers 等系統默認用戶組


如(rú)果你用不上它們,删除掉


删除的(de)方法很簡單


圖片

禁止某些用戶登錄系統的(de)功能


有些情況下,某些用戶僅僅用作進程調用或者用戶組調用,并不需要登錄功能


比如(rú)說 mail 用戶,很多情況下,我們的(de)郵件服務器隻需要進行收取郵件的(de)功能,不需要登錄到系統上


所以給它的(de) shell 設置成 nologin 就行了


圖片


總結一(yī)下


關于用戶和(hé)用戶組的(de)删除,其實不是千篇一(yī)律的(de),可(kě)以根據服務器的(de)主要用途來決定:如(rú)果服務器是 web 應用,那麽 apache 用戶或 nginx 用戶就無需删除;而跟數據庫相關的(de)默認用戶,例如(rú) mysql 用戶就可(kě)以删除



合理(lǐ)使用 su、sudo 命令


su 命令是一(yī)個切換用戶的(de)工具,用于将普通用戶切換到超級用戶下,也可(kě)以将超級用戶切換到普通用戶


為(wèi)了保證服務器安全,很多情況都是直接禁止超級用戶直接登錄系統,而是先通過普通用戶登錄,再通過 su 命令切換到超級用戶


但是 su 命令會導緻一(yī)些安全問題:普通用戶想要使用 su 命令切換到超級用戶,就首先要知道(dào)超級用戶的(de)密碼,如(rú)果有多個普通用戶,那麽這多個普通用戶都知道(dào)超級用戶的(de)密碼,這在一(yī)定程度上會對系統的(de)安全造成威脅


超級用戶的(de)密碼應該掌握在少數人手裏


這時候 sudo 命令登場了


sudo 命令允許管理(lǐ)員分配給普通用戶一(yī)些合理(lǐ)的(de)“權利”,并且不需要普通用戶知道(dào)超級用戶的(de)密碼,就能讓普通用戶執行一(yī)些隻有超級用戶或其他特權用戶才能完成的(de)任務,比如(rú)服務重啓,修改配置文件等


sudo 命令也叫受限制的(de) su


sudo 命令的(de)執行流程是:将當前用戶切換到超級用戶下(或切換到指定用戶),然後以超級用戶(指定用戶)身份執行命令,執行完成後,直接退回到當前用戶


舉個例子(zǐ):普通用戶是無法訪問 /etc/shadow 文件的(de)


圖片


如(rú)果要讓 user1 能夠訪問這個文件,可(kě)以在 /etc/sudoers.d/ 添加下面內(nèi)容:


圖片

添加之後我們用 user1 執行一(yī)下


圖片


輸入 user1 的(de)密碼之後就可(kě)以查看文件了


如(rú)果普通用戶沒有在 /etc/sudoers.d/ 或/etc/sudoers 中配置,同樣無法查看


圖片

sudo 使用時間戳文件來完成類似“檢票(piào)”的(de)功能:當用戶輸入密碼之後就獲得了一(yī)張默認存活期為(wèi)5分鍾的(de)入場券,超時以後,用戶必須重新輸入密碼才能獲得相應的(de)權限


這樣會導緻一(yī)個問題:如(rú)果超時就要重新輸入密碼,像一(yī)些自(zì)動調用超級權限的(de)程序就會出現問題


我們可(kě)以通過下面的(de)設置讓普通用戶無需輸入密碼也可(kě)執行具有超級權限的(de)程序,例如(rú)需要 user1 用戶 可(kě)以自(zì)動重啓 network 的(de)權限


圖片


這樣 user1 用戶就可(kě)以執行重啓 network 的(de)腳本而無需輸入密碼了


如(rú)果要讓 user1 具有超級用戶的(de)所有權限,又不想輸入超級用戶的(de)密碼,隻需要添加如(rú)下內(nèi)容即可(kě)


圖片



密碼安全

使用強密碼而非弱密碼


這個準則想必大家都聽過了,一(yī)個強大健壯的(de)密碼,能讓你的(de)系統安全性翻倍提高(gāo)


什麽是強密碼:

  • 至少 12 個字符長(cháng),但 14 個或 14 個字符以上更好

  • 大寫字母、小寫字母、數字和(hé)符号的(de)組合

  • 不是可(kě)以在詞典或人員、角色、産品或組織名稱中找到的(de)單詞


使用密鑰認證作為(wèi)遠程登錄系統的(de)認證方式


Linux 中,遠程登錄系統有兩種認證方式:

  1. 密碼認證

  2. 密鑰認證


關于密碼認證,雖然設置一(yī)個密碼對系統安全能夠起到一(yī)定作用,但是當遇到像密碼暴力破解、密碼洩露、密碼丢失等問題時,我們往往就會束手無策,而且強密碼也會對我們的(de)工作造成一(yī)定負擔


而密鑰認證是一(yī)種新型的(de)認證方式,公用密鑰存儲在遠程服務器上,專用密鑰保存在本地(dì),當需要登錄系統時,通過本地(dì)專用密鑰和(hé)遠程服務器的(de)公用密鑰進行配對認證,如(rú)果認證成功就能登陸


這種認證方式避免了被暴力破解的(de)風險,同時隻要保存在本地(dì)的(de)專用密碼不被黑客盜用,是一(yī)般無法通過密鑰認證的(de)方式進入系統的(de)




系統安全

關閉系統不需要的(de)服務


Linux 綁定了很多沒用的(de)服務,這些服務默認都是自(zì)動啓動的(de)


對于服務器來說,運行的(de)服務越多,系統就越不安全,因此關閉一(yī)些不需要的(de)服務,對系統安全有很大的(de)幫助


但具體要關閉那些服務,需要根據服務器的(de)用途而定,一(yī)般情況下,隻要系統本身用不到的(de)服務都認為(wèi)是不必要的(de)服務


例如(rú)某台 Linux 服務提供 web 服務,那麽除了 httpd 服務或者 nginx 服務和(hé)系統運行時必需的(de)服務外,其他服務都可(kě)以關閉


下面列出一(yī)下不常用的(de)服務,大家可(kě)以自(zì)行選擇關閉


圖片




關閉服務自(zì)啓動的(de)方法可(kě)以通過 chkconfig 命令實現


圖片

對所有需要關閉的(de)服務都執行上面的(de)操作之後,重啓服務器即可(kě)


而為(wèi)了系統能夠安全穩定的(de)運行,就不得不運行一(yī)些服務,如(rú)下所示

  • acpid:用于電源管理(lǐ)

  • apmd:高(gāo)級電源能源管理(lǐ)服務,用于監控電池性能

  • kudzu:檢測硬件是否變化的(de)服務

  • crond:為(wèi) Linux 下自(zì)動安排的(de)進程提供運行服務

  • atd:類似于 crond,提供計劃任務功能

  • keytables:用于裝載鏡像鍵盤

  • iptables:Linux 內(nèi)置防火牆軟件

  • xinetd:支持多種網絡服務的(de)核心守護進程

  • network:Linux 網絡服務

  • sshd:提供遠程登錄 Linux 的(de)服務

  • syslog:記錄系統日志的(de)服務



文件權限檢查和(hé)修改


不正确的(de)文件權限設置會直接威脅系統的(de)安全,因此運維人員應該能及時發些這些不正确的(de)權限設置,并立即修改


查找系統中任何用戶都具有寫權限的(de)文件或目錄


圖片


查找系統中具有 s 權限的(de)程序


圖片


含有 s 權限的(de)程序對系統安全威脅很大,上面的(de)命令可(kě)以把某些不必要的(de) s 權限的(de)程序去(qù)掉,防止用戶濫用權限或者提升權限


檢查系統中所有 suid 和(hé) sgid 文件


圖片


檢查系統中沒有屬主的(de)文件


圖片

沒有屬主的(de)孤兒文件往往容易成為(wèi)黑客利用的(de)工具,因此再找到這些文件之後,要麽删除要麽修改文件的(de)屬主



13905190502 南京市玄武區洪武北路188号長(cháng)發數碼大廈11樓E座
友情鏈接
百度 網絡安全和(hé)信息化委員會 FreeBuf網絡安全行業門戶

分享:
Copyright © 2020-2022 南京明科網絡科技有限公司 版權所有  
技術支持:飛(fēi)酷網絡