文章目錄
- 一、su指令
-
- 1、用途及格式
- 2、su、su 目标及su - 目标使用者的差別
- 3、密碼驗證
- 二、普通使用者添加超級權限的方法
-
- 1、sudo指令
- 2、visudo指令
- 3、wheel組
- 4、檢視sudo操作記錄
- 三、添加使用者方法
-
- 3.1、使用别名增加使用者:Alias
- 3.2、通配符增加使用者
- 3.3、執行個體
- 三、PAM安全認證
-
- 1、su指令的安全隐患
- 2、PAM認證概念
- 3、PAM認證原理
- 4、PAM的配置檔案
- 5、PAM安全認證流程
- 四、系統引導和登入控制
-
- 1、開關機安全控制
-
- 1.1、調整BIOS引導設定
- 1.2、GURB限制
-
- 1.1.1、更改gurb密碼
- 1.1.2、生成秘鑰
- 2、終端登入安全控制
-
- 2.1、限制root在安全終端登入
- 2.2、限制普通使用者登入root
- 2.3、端口禁止遠端
- 六、弱密碼檢測
-
- 6.1、概述及方法
- 6.2、執行個體
- 6.3、字典破解
- 七、網絡端口掃描-NMAP
-
- 7.1、概念
- 7.2、NMAP掃描
- 7.3、執行個體
一、su指令
1、用途及格式
- 用途:用于切換使用者
- su - 目标使用者
2、su、su 目标及su - 目标使用者的差別
- su-使用者名:正确的格式切換使用者
- su 使用者名:在系統顯示的pwd在/home/tom,但是查詢環境變量仍是切換前root的環境變量,相當于實際并沒有切換到新的使用者,無法實作後期操作
- su:相當于 su - root
其中環境變量查詢方法,在基礎指令也提到過:echo $PATH;用“:”分隔
再回顧一個查詢使用者是否存在于系統:id 使用者名
3、密碼驗證
- root→任意使用者,不驗證密碼
- 普通使用者→其他使用者/root,驗證目标使用者的密碼
這時就有個問題,su指令切換使用者從安全的角度來說并不夠安全;為什麼呢?
大家想一想,若是普通使用者→root,多人隻要知曉密碼就可以使用root,擁有了最高權限,這時網絡隐患就會存在,那麼如何能讓普通使用者不登入root也可以管理系統呢?這時就要引出sudo指令和visudo指令;
二、普通使用者添加超級權限的方法
需要借助配置檔案/etc/sudoers完成對普通使用者添加超級權限的管理,以下為三種方法更改
- 需要編輯sudo指令,配置檔案sudoers的内容,如果更改錯内容,不會報錯,可以強制退出,是以此方法并不常用
- visudo:編輯sudo的配置,不是配置檔案,隻是用vi調用了sudo的配置;通常使用此方法進行配置檔案更改,并非隻讀
- 将建立的使用者加入到wheel組内
1、sudo指令
- sudo是linux系統管理指令,是允許系統管理者讓普通使用者執行一些或者全部的root指令的一個工具
- 借助sudo的配置檔案/etc/sudoers完成對使用者的管理
配置:
隻有root可以建立使用者,使用sudo無須切換環境變量即可建立使用者,前提是需要編輯配置檔案,
- vim /etc/sudoers
- 添加建立使用者 例tom;加入一行新的配置(具體看下圖)
linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP
若一次增加多個使用者,多個指令“,”分隔
- :wq! 強制退出;切換使用者到tom su - tom
- 建立使用者 sudo useradd jerry:獲得root權限添加使用者jerry;查詢使用者是否建立成功:id jerry
linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP - sudo -l:查詢可以使用的權限
linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP - sudo userdel -r jerry:删除使用者jerry
linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP
2、visudo指令
編輯sudo的配置,不是配置檔案,隻是用vi調用了sudo的配置;通常使用此方法進行配置檔案更改,并非隻讀;簡而言之就是visudo其實是打開一個檔案,讓你編輯這個檔案的内容,這個檔案就是/etc/sudoers,用的編輯器預設是vi。
那麼問題來了,為什麼不用直接打開這個檔案然後編輯其中的内容呢?
根據visudo的使用說明,如果你用visudo來編輯這個檔案的話,它會幫你自動做很多事情,比如說文法檢查、加鎖防止别人同時修改這個檔案等等,是以,強烈建議使用者使用visudo,不要直接修改。
配置:
- 切換到root,使用指令visudo
linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP - 編輯加一條内容:需要使用絕對路徑
linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP - 用vi調用檔案(錯誤有報警) 報錯後enter出現選項
linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP
3、wheel組
配置:
wheel:管理者組,擁有自大權限,增加使用者時,可以加入wheel組即可
- gpasswd -a jerry wheel
linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP - wheel可以不設定密碼,如下
- 若設定使用者不需要密碼時加入wheel時,去掉注釋#激活
- NOPASSWD:設定不需要使用者密碼 切換使用者時正常輸入密碼,但是切換使用者之後的操作無須密碼
linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP
4、檢視sudo操作記錄
- 需啟用defaults logfile 配置
-
預設日志檔案:/var/log/sudo
檢視系統安全日志的目錄:cat /var/log/secure
linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP sudo存在secuer内,還可以進入visudo配置檔案最後增加一行
Defaults logfile="/var/log/sudo"
下次sudo的日志就可以在此路徑檢視
linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP
三、添加使用者方法
3.1、使用别名增加使用者:Alias
若同時增加很多使用者的時候,減少工作量可以使用别名,别名需要大寫
同樣添加主機也可以使用别名,别名需要大寫
3.2、通配符增加使用者
- *:代表所有
- !:非,不可以
linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP
3.3、執行個體
要求:建立使用者張三,限制張三不可以本機ip位址
指令:useradd 張三
zhangsan ALL=ALL,!/sbin/ifconfig
三、PAM安全認證
1、su指令的安全隐患
- 預設情況下,任何使用者都允許使用su指令,有機會反複嘗試其他使用者(如root)的登入密碼,帶來安全風險
- 為了加強su指令的使用控制,可以借助于PAM認證子產品,隻允許極個别使用者使用su指令進行切換
2、PAM認證概念
- PAM(Pluggable Authentication Modules)可插拔式認證子產品
- 是一種高效而且靈活便利的使用者級别的認證方式
- 也是目前linux伺服器普通使用的認證方式
3、PAM認證原理
- 一般遵循的順序
- service(服務)→PAM(配置檔案)→pam_*.so
- 首先要确定哪一項服務,然後加載響應的PAM的配置檔案(位于/etc/pam.d下),最後調用認證檔案(位于/lin64/security下)進行安全認證
- 使用者通路伺服器時,伺服器的某一個服務程式把使用者的請求發送到PAM慕課進行認證
- 不同的應用程式鎖對應的PAM子產品是不同的
4、PAM的配置檔案
檢視某個程式是否支援PAM認證,可用ls指令檢視配置檔案路徑:/etc/pam.d
示例:檢視su是否支援PAM子產品認證
ls /etc/pam.d | grep su
- 檢視su的PAM配置檔案:vim /etc/pam.d/su
- 每一行都是一個獨立的認證過程
- 每一行可用區分三個字段
- 認證類型
- 控制類型
- PAM子產品及其參數
linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP 執行個體:限制所有人不能su - root
首先打開pam配置檔案
vim /etc/pam.d/su
啟用認證:auth(authentication):身份認證;auth加上注釋“#”
linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP 其次進入/etc/login.defs,最後一行加入:
SU_WHEEL_ONLY yes:隻能允許wheel組的成功使用su這個指令切換到root使用者
這時不在wheel組的使用者就不可以用su指令切換到root1;系統提示拒絕權限linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP 驗證:進入到/etc/login.defs内把tom加入wheel組linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP 這時切換就可以操作linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP
5、PAM安全認證流程
認證流程四個過程
- 程式開始
- 驗證開始
- 驗證結束
-
程式後續動作
認證流程的四個狀态
- required:驗證失敗也繼續下一步,走完四個流程–>驗證結束
- requisite:驗證失敗直接–>驗證結束
- sufficient:驗證失敗也繼續下一步,走完流程
- optional:不論失敗成功,已經是最後一個流程,–>驗證結束
linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP
四、系統引導和登入控制
1、開關機安全控制
1.1、調整BIOS引導設定
- 将第一引導裝置設為目前系統所在硬碟
- 禁止從其他裝置(CD光牒、U盤、網絡)引導系統
- 将安全基本設為setup,并設定管理者密碼
1.2、GURB限制
還記得之前的章節,忘記root密碼時,進入救援模式無須輸入之前的密碼就可以直接更改root密碼,安全性變低;那麼可以通過更改grub密碼來提供安全性
1.1.1、更改gurb密碼
grub2-setpassword :設定grub密碼
這時重新開機虛拟機系統,并在GRUB2啟動屏顯時,按下e鍵進入編輯模式,這時是需要密碼才可以更改root密碼,更改之後ctrl+x,退出目前界面grub2菜單進入系統
1.1.2、生成秘鑰
生成秘鑰:給密碼加密,增加密碼難度
使用grub2-mkpasswd-pbkdf2生成秘鑰
vim grub.cfg,檢視系統就自動密碼加密,無須人工進入配置檔案編輯
配置檔案:/etc/grub2.d
還可以更改使用者名zhangsan,隐藏root,實際root就是zhangsan
2、終端登入安全控制
2.1、限制root在安全終端登入
- 安全終端配置:/etc/securetty
-
終端tty1-6,終端切換
執行個體:進制終端tty2登入root
vim /etc/securetty
tty2前面加注釋#
登入使用者使用tty2的終端就無法登入使用者了
2.2、限制普通使用者登入root
使用情景:主要使用者伺服器停機維護了,其他使用者登入會有個提示,比如“系統正在維護”,建立/etc/nologin,echo “系統正在維護” > /etc/nologin即可
執行個體
echo “系統正在維護” > /etc/nologin即可
/etc/nologin :這個檔案是預設沒有,需要建立,建立touch就無法登入終端了
這時登入root,頁面會顯示hello word
恢複原狀 删除nologin:rm -rf etc/nologin
2.3、端口禁止遠端
以下以tcp 22端口号舉例,如何修改端口号進而不讓root遠端
問:不讓root遠端,首先是ssh服務,tcp的22端口
解決:
-
ssh服務配置預設檔案:/etc/ssh/sshd_config
vim /etc/ssh/sshd_config
-
首先修改端口号:
原本是預設 #Port 22;更改預設的端口号,去掉注釋,改成随便的數字,比如2222
linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP - 其次不讓root登入:系統預設是允許root 去掉root,yes 改成 no
linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP
-
- 最後重新開機服務:更改配置檔案之後需要重新開機:systemctl restart ssh 檢視端口号:netstat -antp | grep 22
linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP 這時斷開系統,再次連接配接就需要更改端口号為:2222,才能連接配接成功linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP
六、弱密碼檢測
6.1、概述及方法
John the Ripper是一款開源的密碼破解工具,能夠在已知密文的情況下快速分析出明文的密碼子串,支援DES、MD5等多種加密算法,而且允許使用密碼字典來進行暴力破解
- 安裝JR工具
- 安裝方法 make clean 系統類型
- 檢測弱密碼賬号
- 獲得linux/unix伺服器的shadow檔案
- 執行john程式,将shadow檔案最為參數
- 密碼檔案的暴力破解
- 準備好密碼字典檔案,預設為password.lst
- 執行john程式,結合–wordlist=字典檔案
6.2、執行個體
- 下載下傳john工具壓縮包并解壓
linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP - make clean linux-x86-6:編譯
linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP - 生成可執行檔案john
linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP -
cp /etc/shadow /root/shadow.txt:複制檔案
/john /root/shadow.txt:執行暴力破解密碼檔案
linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP
6.3、字典破解
- 對于密碼的暴力破解,字典檔案的選擇很關鍵
- 隻要字典檔案足夠完整,密碼破解隻是 時間上的問題。是以,“什麼樣的密碼才足夠強壯”取決于使用者的承受能力,有人認為超過 72 小時仍無法破解的密碼才算安全,也可能有人認為至少暴力分析一個月仍無法破解的密碼才 足夠安全。
- John the Ripper 預設提供的字典檔案為 password.lst,其列出了 3000 多個常見的弱口 令。如果有必要,使用者可以在字典檔案中添加更多的密碼組合,也可以直接使用更加完整的 其他字典檔案
-
- 執行 john 程式時,可以結合“–wordlist=”選項來指定字典檔案的位置,以便 對指定的密碼檔案進行暴力分析
七、網絡端口掃描-NMAP
7.1、概念
- 一款強大的網絡掃描、安全監測工具
- 官方網站:http://nmap.org/
- ecntos 7.3CD光牒中安裝包 nmap-6.40-7.el7.x86_64.rpm
7.2、NMAP掃描
基本格式
nmap [掃描類型][選項] <掃描目标...>
-sU ip位址:掃描udb端口
-sP:p相當于ping
-P:隻ping 檢查主機是否存活,後面跟ip位址-機器數;1-30或者245.0-24/表示一個網段的30/255台機器都掃描
-sP -n:加速ping
-n:加速;不進行域名解析增加速度
-P0 :掃描之前不建立三次握手連接配接,即不操作ping,直接掃描
-A:掃描顯示的非常完全
-sS:隻執行兩次握手,沒有最好一次握手(确認過程);S:syn的縮寫
-sT:完整的三次握手過程,掃描TCP
-sF:隻檢測FIN包
-p 端口号 IP位址:指定端口掃描
7.3、執行個體
- nmap 127.0.0.1:掃描127.0.0.1
linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP - nmap -sU 127.0.0.1:掃描127.0.0.1的udb端口
linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP - nmap -sP 192.168.245.1-30:掃描主機192.168.254.1的30個及其是否存活
- nmap -sP -n 192.168.254.1-30:加速掃描主機192.168.254.1的30個及其是否存活
linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP - namp -P0 -n 192.168.245.1-30:直接掃描主機192.168.254.1的30台主機
linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP - nmap -A -n 192.168.245.1:詳細掃描主機192.168.245.1
linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP - namp -p 20-21 192.168.245.0/24:掃描是否開始ftp服務,ftp端口号是20 21
linux系統安全(二)su指令及系統安全一、su指令二、普通使用者添加超級權限的方法三、添加使用者方法三、PAM安全認證四、系統引導和登入控制六、弱密碼檢測七、網絡端口掃描-NMAP