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

服務器安全是 IT 行業一個老(lǎo)生常談的問題了(le),每年的護網行動,企業内部的安全培訓都在提醒每個程序員處理(lǐ)好(hǎo)服務器安全問題已變得刻不容緩


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


  • 2022年美(měi)醫(yī)療中心數據洩露,超130萬人受影響;

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

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


作(zuò)爲一名運維人員,必須要了(le)解一些(xiē)安全運維守則,通過一些(xiē)手段來(lái)保護自(zì)己的服務器不受入侵和(hé)攻擊,再進一步保護自(zì)己所負責的業務不受影響


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




用(yòng)戶(組)安全


删除特殊的用(yòng)戶和(hé)用(yòng)戶組


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


如果你(nǐ)用(yòng)不上(shàng)這(zhè)些(xiē)用(yòng)戶和(hé)用(yòng)戶組,應該删除他(tā)們,因爲賬戶越多,系統就越不安全,這(zhè)些(xiē)你(nǐ)不會(huì)注意到(dào)的用(yòng)戶很(hěn)有可能(néng)會(huì)被黑客給利用(yòng),從(cóng)而威脅服務器的安全


像:adm、sync、shutdown、lp、halt、news、uucp、games 等系統默認用(yòng)戶


以及 adm、news、uucp、dip、popusers 等系統默認用(yòng)戶組


如果你(nǐ)用(yòng)不上(shàng)它們,删除掉


删除的方法很(hěn)簡單


圖片

禁止某些(xiē)用(yòng)戶登錄系統的功能(néng)


有些(xiē)情況下(xià),某些(xiē)用(yòng)戶僅僅用(yòng)作(zuò)進程調用(yòng)或者用(yòng)戶組調用(yòng),并不需要登錄功能(néng)


比如說 mail 用(yòng)戶,很(hěn)多情況下(xià),我們的郵件服務器隻需要進行收取郵件的功能(néng),不需要登錄到(dào)系統上(shàng)


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


圖片


總結一下(xià)


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



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


su 命令是一個切換用(yòng)戶的工(gōng)具,用(yòng)于将普通用(yòng)戶切換到(dào)超級用(yòng)戶下(xià),也(yě)可以将超級用(yòng)戶切換到(dào)普通用(yòng)戶


爲了(le)保證服務器安全,很(hěn)多情況都是直接禁止超級用(yòng)戶直接登錄系統,而是先通過普通用(yòng)戶登錄,再通過 su 命令切換到(dào)超級用(yòng)戶


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


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


這(zhè)時(shí)候 sudo 命令登場了(le)


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


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


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


舉個例子:普通用(yòng)戶是無法訪問 /etc/shadow 文(wén)件的


圖片


如果要讓 user1 能(néng)夠訪問這(zhè)個文(wén)件,可以在 /etc/sudoers.d/ 添加下(xià)面内容:


圖片

添加之後我們用(yòng) user1 執行一下(xià)


圖片


輸入 user1 的密碼之後就可以查看(kàn)文(wén)件了(le)


如果普通用(yòng)戶沒有在 /etc/sudoers.d/ 或/etc/sudoers 中配置,同樣無法查看(kàn)


圖片

sudo 使用(yòng)時(shí)間戳文(wén)件來(lái)完成類似“檢票”的功能(néng):當用(yòng)戶輸入密碼之後就獲得了(le)一張默認存活期爲5分鐘(zhōng)的入場券,超時(shí)以後,用(yòng)戶必須重新輸入密碼才能(néng)獲得相應的權限


這(zhè)樣會(huì)導緻一個問題:如果超時(shí)就要重新輸入密碼,像一些(xiē)自(zì)動調用(yòng)超級權限的程序就會(huì)出現(xiàn)問題


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


圖片


這(zhè)樣 user1 用(yòng)戶就可以執行重啓 network 的腳本而無需輸入密碼了(le)


如果要讓 user1 具有超級用(yòng)戶的所有權限,又不想輸入超級用(yòng)戶的密碼,隻需要添加如下(xià)内容即可


圖片



密碼安全

使用(yòng)強密碼而非弱密碼


這(zhè)個準則想必大(dà)家都聽過了(le),一個強大(dà)健壯的密碼,能(néng)讓你(nǐ)的系統安全性翻倍提高(gāo)


什(shén)麽是強密碼:

  • 至少 12 個字符長,但(dàn) 14 個或 14 個字符以上(shàng)更好(hǎo)

  • 大(dà)寫字母、小(xiǎo)寫字母、數字和(hé)符号的組合

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


使用(yòng)密鑰認證作(zuò)爲遠程登錄系統的認證方式


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

  1. 密碼認證

  2. 密鑰認證


關于密碼認證,雖然設置一個密碼對(duì)系統安全能(néng)夠起到(dào)一定作(zuò)用(yòng),但(dàn)是當遇到(dào)像密碼暴力破解、密碼洩露、密碼丢失等問題時(shí),我們往往就會(huì)束手無策,而且強密碼也(yě)會(huì)對(duì)我們的工(gōng)作(zuò)造成一定負擔


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


這(zhè)種認證方式避免了(le)被暴力破解的風(fēng)險,同時(shí)隻要保存在本地的專用(yòng)密碼不被黑客盜用(yòng),是一般無法通過密鑰認證的方式進入系統的




系統安全

關閉系統不需要的服務


Linux 綁定了(le)很(hěn)多沒用(yòng)的服務,這(zhè)些(xiē)服務默認都是自(zì)動啓動的


對(duì)于服務器來(lái)說,運行的服務越多,系統就越不安全,因此關閉一些(xiē)不需要的服務,對(duì)系統安全有很(hěn)大(dà)的幫助


但(dàn)具體要關閉那些(xiē)服務,需要根據服務器的用(yòng)途而定,一般情況下(xià),隻要系統本身用(yòng)不到(dào)的服務都認爲是不必要的服務


例如某台 Linux 服務提供 web 服務,那麽除了(le) httpd 服務或者 nginx 服務和(hé)系統運行時(shí)必需的服務外(wài),其他(tā)服務都可以關閉


下(xià)面列出一下(xià)不常用(yòng)的服務,大(dà)家可以自(zì)行選擇關閉


圖片




關閉服務自(zì)啓動的方法可以通過 chkconfig 命令實現(xiàn)


圖片

對(duì)所有需要關閉的服務都執行上(shàng)面的操作(zuò)之後,重啓服務器即可


而爲了(le)系統能(néng)夠安全穩定的運行,就不得不運行一些(xiē)服務,如下(xià)所示

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

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

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

  • crond:爲 Linux 下(xià)自(zì)動安排的進程提供運行服務

  • atd:類似于 crond,提供計(jì)劃任務功能(néng)

  • keytables:用(yòng)于裝載鏡像鍵盤

  • iptables:Linux 内置防火牆軟件

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

  • network:Linux 網絡服務

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

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



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


不正确的文(wén)件權限設置會(huì)直接威脅系統的安全,因此運維人員應該能(néng)及時(shí)發些(xiē)這(zhè)些(xiē)不正确的權限設置,并立即修改


查找系統中任何用(yòng)戶都具有寫權限的文(wén)件或目錄


圖片


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


圖片


含有 s 權限的程序對(duì)系統安全威脅很(hěn)大(dà),上(shàng)面的命令可以把某些(xiē)不必要的 s 權限的程序去掉,防止用(yòng)戶濫用(yòng)權限或者提升權限


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


圖片


檢查系統中沒有屬主的文(wén)件


圖片

沒有屬主的孤兒文(wén)件往往容易成爲黑客利用(yòng)的工(gōng)具,因此再找到(dào)這(zhè)些(xiē)文(wén)件之後,要麽删除要麽修改文(wén)件的屬主



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

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