購入了一臺阿里云的ESC服務器,以前都用CentOS感覺Yum不怎么方便,這次選的Ubuntu16.04.7
搭好服務之后做安全檢查,發現Ubuntu16.04版本漏洞眾多;雖然也沒有涉及到16.04.7版本(這么說來阿里云給的鏡像還是可以的)但升級一下更安全一些;于是就有了今天這篇文章,做個總結,
我原來的內核版本

首先,更新內核版本(4.4x內核有些許漏洞,見圖)

一、Linux更新內核版本
1、下載內核deb安裝檔案
對于Ubuntu,需要去http://kernel.ubuntu.com/~kernel-ppa/mainline/選擇合適的內核安裝包
注意:X86硬體架構64位作業系統應選擇AMD64

瀏覽器下載4個內核deb安裝檔案,并上傳到服務器,或在服務器執行:
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.9.10/amd64/linux-headers-5.9.10-050910-generic_5.9.10-050910.202011221708_amd64.deb wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.9.10/amd64/linux-headers-5.9.10-050910_5.9.10-050910.202011221708_all.deb wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.9.10/amd64/linux-image-unsigned-5.9.10-050910-generic_5.9.10-050910.202011221708_amd64.deb wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.9.10/amd64/linux-modules-5.9.10-050910-generic_5.9.10-050910.202011221708_amd64.deb
2、安裝deb包
切換至root或使用sudo
sudo dpkg -i *.deb
3、更新grub,重啟驗證
update-grub reboot
uname -sr #查看內核版本

二、更新Ubuntu系統版本
更新系統版本之前記得換軟體源,如果軟體源過慢或不穩定那將是一個大麻煩
換源及apt-get常用命令參考:https://www.jianshu.com/p/a79ee7f59036
1、更新安裝源(Source)
sudo apt-get update #更新安裝源(Source)
2、對軟體升級
apt-get dist-upgrade #更新已安裝的軟體包(識別并處理依賴關系的改變)
3、更新系統版本
sudo update-manager -c -d
注:如果提示“update-manager”未安裝,可以使用“sudo apt-get install update-manager”安裝
如果安裝后仍然無法執行,提示“update-manager”服務沒有運行,可以使用“systemctl status update-manager”查看該服務情況,我的顯示“找不到該服務的檔案,該服務處于死的狀態”;如果像我一樣,嘗試卸載該服務“sudo apt-get --purge autoremove update-manager”然后下一步
4、另一種方法
sudo do-release-upgrade -d #中間只要是停下來需要選擇,一路選擇Y即可 #更新之后查看系統版本 lsb_release -a
三、安全配置-禁用root遠程登錄-禁用sudo
1、為防止暴力窮舉root登錄密碼,修改組態檔禁用root遠程登錄
#修改root密碼(一是為了增加root密碼強度,二是有些Ubuntu默認root沒有密碼,一直使用普通用戶sudo在運行;創建root密碼使root可登錄對下面的操作至關重要)
passwd root
#創建普通用戶(用于禁用root遠程登錄后自己登錄使用)
useradd 用戶名
#修改該用戶的密碼,創建時默認沒有密碼(沒有密碼將無法登錄)
passwd 用戶名
#在/home下創建該用戶的家目錄(有些Ubuntu在創建用戶后,用戶并沒有家目錄)
mkdir /home/用戶名
#修改該用戶的默認bash(有些Ubuntu創建用戶后bash也不是默認bash)
usermod -s /bin/bash 用戶名
#禁用root遠程登錄
vim /etc/ssh/sshd_config #將PermitRootLogin的值改為prohibit-password
保存重啟服務器才能生效
2、禁用sudo,防止黑客控制普通用戶后控制服務器
vim /etc/sudoers
#注釋掉:
%admin ALL=(ALL) ALL
%sudo ALL=(ALL:ALL) ALL
%wheel ALL=(ALL) ALL
包括:“用戶名 ALL=(ALL:ALL) ALL”等陳述句
三、防反彈shell
服務器一旦被上傳惡意檔案并執行,就有可能被黑客獲得控制權限,無論這個權限大小,為防止進一步提權或破壞服務器有必要阻止他
但防止上傳惡意檔案難度是巨大的,例如web網站允許上傳用戶頭像(萬一某個人上傳了一個PHP呢?)盡管程式員會在網站原始碼里做防護,但PHP也有很多漏洞;況且百密必有一疏,例如php5.6版本就存在任意檔案上傳漏洞,一般網站原始碼可兼容的PHP版本是有限度的,無節制更新PHP版本也不太可能,以及web服務經常發生的xss攻擊,服務器運行的各種docker和應用程式及手機app服務端;防護覆寫面廣,難度大,
上傳檔案無非獲得服務器控制權,反彈shell就是常用的一種;另一種目的是損壞服務器,利用漏洞洗掉服務器資料、破壞服務正常運行 (可以通過更新內核版本防護),
GitHub上有一個專案來實作這個功能

GitHub專案地址:https://github.com/zhanghaoyil/seesaw
具體使用還在研究中,本文章持續更新!
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/227618.html
標籤:其他
