Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

主要內容:

1、帳號安全控制。

2、系統引導和登陸控制。

3、弱口令檢測。

4、端口掃描。

1、帳號安全控制

1.系統帳號清理

(1)將非登陸用戶的Shell設爲/sbin/nologinlinux

首先咱們用命令「grep "bash$" /etc/passwd」查看一下能夠登陸的用戶。c++

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

若是咱們不想讓「lisi」這個用戶登陸,咱們能夠用」usermod -s /sbin/nologin」命令禁止他登陸,再去切換「lisi」用戶發現不能登陸。算法

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

(2)鎖定長期不使用的帳號vim

鎖定與解鎖帳號有兩組命令,「passwd -l」與「passwd -u」命令、「usermod -L」與「usermod -U」命令。咱們分別演示一下,顯示密碼信息用的是「passwd -S」命令。安全

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)
Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

(3)刪除無用的帳號bash

刪除帳戶用的是「userdel」命令,咱們能夠用「-r」選項,在刪除用戶時連同用戶目錄一同刪除。服務器

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

(4)鎖定帳號文件passwd、shadow網絡

當咱們不想別人在系統建立新的用戶時,能夠鎖定帳號文件passwd、shadow。用「lsattr」命令查看文件的鎖定狀態。「chattr +i」命令鎖定帳號文件,「chattr -r」命令解鎖已經鎖定的帳號文件。此命令也能夠用於其它文件。session

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

2.密碼安全控制

(1)設置密碼有效期編輯器

用vim編輯器對「/etc/login.defs」配置文件中的「PASS_MAX_DAYS」後面的數值進行修改來改變密碼有效期,不過這種方法只對新建用戶有效,已存在用戶是不會改變的。首先查看「lisi」用戶的密碼有效期是99999,至關於永久。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

咱們將「/etc/login.defs」配置文件中的「PASS_MAX_DAYS」後面的數值修改成30(密碼有效期30天),而後查看「lisi」用戶的密碼有效期任然是99999(天)。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)
Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)
Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

咱們添加一個新用戶「wangwu」,再查看「wangwu」用戶的密碼有效期是30(天)。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

當咱們想修改已有用戶的密碼有效期時,能夠用「chage -M」命令來修改。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

(2)設置用戶下次登陸時修改密碼

咱們用命令「chage -d 0 用戶名」便可強制用戶在下次登陸時更改密碼。但用了這條命令後,用戶在更改密碼就不能設置簡單的密碼了。密碼最少8位字符,並且不能有連續的數字或字母(如:12三、abc等)。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

咱們在終端用wangwu帳戶去登陸,在輸入密碼後系統要求咱們更改新密碼,我輸入「abcd1234」系統顯示密碼不合格。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

當我輸入「qwer2019」沒有連續的數字、字母是時,密碼設置成功。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

3.命令歷史限制

(1)減小記錄的命令條數

咱們在系統輸入命令進行操做時,系統會自動記錄歷史命令,默認是記錄1000條。咱們用「history」命令能夠查看。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

有時候咱們的命令歷史中會有一些密碼之類的隱私信息,別人很容易經過「history」命令查看到。因此咱們能夠經過減小記錄命令的條數,來減小這種風險。直接用vim編輯器對「/etc/profile」配置文件進行修改便可。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)
Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

修改完後是不會當即生效的,咱們須要用「source /etc/profile」命令讓它生效。再用「history」命令查看命令歷史,命令歷史記錄條數已經變成10條了。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

(2)註銷時自動清空命令歷史

前面咱們知道命令歷史可能會泄露咱們的一些隱私信息,並且命令歷史在系統註銷後是不會清空的。若是咱們想要在註銷時自動清空命令歷史,能夠經過vim編輯器在「.bash_logout」配置文件裏添加「history -c」與「clear」命令。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)
Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

4.終端自動註銷

咱們能夠設置終端閒置超時時間,當一段時間沒有進行操做時系統自動自動註銷終端。這樣能夠介紹別人趁咱們不在時對系統進行操做的風險,經過vim編輯器在「/etc/profile」配置文件最後一行添加「export TMOUT」的時間便可。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)
Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

在配置完畢別忘了用「source /etc/profile」命令讓它生效。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

2、系統引導和登陸控制

1.su命令切換用戶

(1)使用su命令切換用戶(格式:su [-] 目標用戶)

當咱們想切換用戶時能夠用「su」命令,加上「-」選項將使用目標用戶的登陸Shell環境。root用「su」命令切換到任意用戶都不須要密碼驗證,而普通切換到其餘用戶,須要驗證目標用戶的密碼。「exit」命令能夠返回到用「su」命令切換前的用戶。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

2.Linux中的PAM安全認證

(1)PAM簡介:

全稱PAM可插拔式認證模塊(Pluggable Authentication Modules ),是由Sun提出的一種認證機制,經過提供一些動態連接庫和一套統一的API,將系統提供的服務 和該服務的認證方式分開,使得系統管理員能夠靈活地根據須要給不一樣的服務配置不一樣的認證方式而無需更改服務程序,同時也便於向系統中添加新的認證手段。它是一種高效並且靈活便利的用戶級別的認證方式,它也是當前Linux服務器廣泛使用的認證方式。

(2)PAM認證原理:

  • PAM認證通常遵循的順序: Service (服務) →PAM (配置文件) →pam_* .so
  • PAM認證首先要肯定哪一項服務,而後加載相應的PAM的配置文件(位於/etc/pam.d下),最後調用認證文件(位於/lib/security下)進行安全認證
  • 用戶訪問服務器的時候,服務器的某一個服務程序把用戶的請求發送到PAM模塊進行認證
  • 不一樣的應用程序所對應的PAM模塊也是不一樣的

(3)PAM認證的構成:

查看某個程序是否支持PAM認證,能夠用Is命令進行查看,例如查看su命令是否支持PAM模塊認證咱們能夠輸入「ls /etc/pam.d | grep su」命令行。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

查看su的PAM配置文件輸入「cat /etc/pam.d/su」便可,其中每一行都是一個獨立的認證過程,每一行能夠區分爲三個字段。認證類型、控制類型、PAM模塊及其參數。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

(4)PAM安全認證流程:

控制類型也能夠稱作ControlFlags,用於PAM驗證類型的返回結果

  • required驗證失敗時仍然繼續,但返回Fail
  • requisite驗證失敗則當即結束整個驗證過程,返回Fail
  • sufficient驗證成功則當即返回,再也不繼續,不然忽略結果並繼續
  • optional不用於驗證,只顯示信息(一般用於session類型)

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

(5)PAM的具體用法:限制用戶使用su命令切換用戶

前面咱們瞭解了su命令,用戶切換,但su命令其實存在安全隱患。在默認狀況下,任何用戶都容許使用su命令,從而有機會反覆嘗試其餘用戶(如root) 的登陸密碼,帶來安全風險。爲了增強su命令的使用控制,能夠藉助於PAM認證模塊,只容許極個別用戶使用su命令進行切換。

咱們先用vim編輯器對su命令的PAM配置文件「cat /etc/pam.d/su」進行修改,開啓pam_wheel認證模塊(直接刪除#便可),而後「wq」保存退出。此時只有root和wheel組用戶能使用su命令切換用戶。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)
Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)
Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

咱們用「gpasswd -a」命令,將zhangsan用戶添加到wheel組,此時zhangsan用戶可使用su命令。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

咱們用zhangsan用戶使用su命令切換用戶成功,在用lisi用戶使用su命令切換用戶失敗,顯示拒絕權限。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

3.sudo機制提高權限

sudo 是一種權限管理機制,管理員能夠受權於一些普通用戶去執行一些 root 執行的操做,而不須要知道 root 的密碼。嚴謹些說,sudo 容許一個已受權用戶以超級用戶或者其它用戶的角色運行一個命令。

記錄格式:用戶 主機名列表=命令程序列表

(1)配置sudo受權

咱們能夠直接用「visudo」命令對sudo配置文件進行編輯,或是輸入「vim /etc/sudoers」用vim編輯器進行編輯。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)
Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

咱們先用lisi帳戶登陸來更改系統的IP地址結果失敗,再用sudo提權命令進行更仍是不行,由於咱們沒有給lisi用戶提權。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)
Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

再用zhangsan用戶進行操做結果能夠修改,由於咱們前面將zhangsan用戶添加到了wheel組,lisi用戶沒有添加。wheel組是默認安全組,在sudo配置文件裏,wheel組默承認以執行全部sudo權限。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)
Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

如今咱們進入sudo命令配置文件,給lisi用戶添加上「ifconfig」命令提權,而後保存退出。再用lisi用戶去修改IP地址成功。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)
Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)
Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

4.開關機安全控制

(1)GRUB限制

通常狀況下咱們在開機時的界面按「e」就能夠進入grub菜單,這樣很顯然不安全。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)
Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

下面咱們開始給grub菜單設置密碼,首先咱們將它的兩個配置文件進行備份,防止操做失誤損壞了文件。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

咱們用「grub2-mkpasswd-pbkdf2」生成由哈希算法加密的密鑰。輸入口令就是輸入你想設置的grub密碼,「is」後面的全部字符就是加密的密碼。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

咱們用vim編輯器在「/etc/grub.d/00_header」文件中,在文件末行下面添加它的密碼命令,而後「wq」保存退出。

cat << EOF
set superusers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.3F01896EA31EA9CBA8EF0A6C6CBCF2643463495ED9A3669B3D607A1C85EFD2136A4F05FEA396BDB9CC256E51EB4A3BA50D4156A2309FF846A7AC6C41FA48CF14.0B5C5D8D248C3BE1FA588F8E54F5937C68AE47FB359D715F255F43D32A69CC9C0426F8670BC718DCC9BD22C7D9E1CBE598DF766E8897E6BDE40E3541E40EE2EA

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

咱們再輸入「grub2-mkconfig -o /boot/grub2/grub.cfg」,進行配置。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

咱們再次重啓系統,進入啓動界面,按「e」不能直接進入grub菜單,提示咱們輸入密碼,輸入密碼後成功進入。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)
Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)
Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

5.終端登陸安全控制

(1)限制root只能在安全終端登陸

當咱們想限制root用戶在某個終端上登陸時,只需用vim編輯器將「/etc/securetty」文件裏的那個終端加上「#」註釋掉便可,例如咱們不想root在tty十、tty11終端登陸,直接把這兩個終端註釋掉。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

(2)禁止普通用戶登陸

當咱們對服務器進行備份或調試等工做時,不但願用戶登陸。能夠直接創建一個/etc/nologin文件便可,刪除文件或重啓便可恢復登陸。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)
Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)
Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)
Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

3、弱口令檢測

咱們用到的工具是Joth the Ripper ,簡稱JR。是一款密碼分析工具,支持字典式的強行破解,經過對shadow文件的口令分析,能夠檢測密碼強度。
官方網站:http://www.openwall.com/john/

首先我們將本身本地的JR工具安裝包匿名共享出去,同時用Linux輸入「smbclient -L //192.168.100.3/ 」查看共享。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)
Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

直接用「mount.cifs //192.168.100.3/share /mnt/」命令,將「share」文件夾掛載到「/mnt/」目錄下。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

咱們先用「cd」命令進入「/mnt/」目錄中,輸入「tar -zxvf john-1.8.0.tar.gz -C /opt/」命令將工具包解壓到「/opt/」目錄。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

用「cd」命令進入到「/opt/john-1.8.0/src/」源碼包目錄,可是源碼包是用C語言寫的,咱們須要進行編譯,因此咱們須要用「yum install gcc gcc-c++ -y」命令安裝編譯工具。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)
Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

直接用「make linux-x86-64」命令將源碼包編譯爲適合系統版本的格式。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

咱們cd到腳本所在的「run」目錄,而後輸入命令「./john /etc/passwd /etc/shadow」讓它去分析passwd和shadow文件,稍做等待就直接分析出我係統用戶的密碼(由於我這個密碼較簡單,有些密碼複雜性強的是分析不出來的,可否分析出來主要跟它的字典有關,若是字典足夠強悍也是能夠分析出複雜的密碼的)

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

4、端口掃描

咱們用來掃描網絡端口的是NMAP工具,它是一款強大的網絡掃描、安全檢測工具。
NMAP的掃描語法:nmap [掃描類型] [選項] <掃描目標...>

咱們直接輸入「yum install nmap -y」命令,來從yum源安裝NMAP工具便可。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

咱們用命令「netstat -ntap」查看一下系統開啓的TCP端口。若是查看UDP端口直接用命令「netstat -nuap」便可

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)
Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

用nmap工具掃描一下本地的TCP端口,輸入「nmap -sT 127.0.0.1」。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

掃描本地UDP端口直接輸入「nmap -sU 127.0.0.1」便可。

Linux CentOS 7系統安全控制詳解(內容較多,可分次食用)

最後附上一些經常使用的掃描類型:

掃描類型 例子 描述
-sS nmap -sS 192.168.1.1 TCP SYN端口掃描(默認)
-sT nmap -sT 192.168.1.1 TCP鏈接端口掃描(默認無root權限)
-sU nmap -sU 192.168.1.1 UDP端口掃描
-P0 nmap -P0 192.168.1.1 容許你關閉 ICMP pings
-sP nmap -sP 192.168.1.1 判斷主機狀態
相關文章
相關標籤/搜索