目錄
一、賬號安全控制
1.1基本安全措施
1.1.1系統賬號的清理
1.1.2密碼安全控制
1.1.3命令歷史、自動注銷
1.2用戶切換與提權(加入wheel組)
1.2.1su命令—切換用戶
1.2.2sudo命令—提升執行權限
1.3PAM安全認證
二、系統引導和登錄控制
2.1開關機安全控制
2.1.1調整BIOS引導設定原則
2.1.2GRUB選單設定
2.1.3GRUB限制的實作
2.2終端及登錄控制
2.2.1限制root用戶只在安全終端登錄
?2.2.2禁止普通用戶登錄
三、弱口令檢測、埠掃描
3.1弱口令檢測—Joth the Ripper
3.1.1Joth the Ripper實體
3.2網路掃描—NMAP
一、賬號安全控制
1.1基本安全措施
1.1.1系統賬號的清理
1.1.1.1將非登錄用戶的Shell設為/sbin/nologin
-
在我們使用Linux系統時,除了用戶創建的賬號之外,還會產生系統或程式安裝程序中產生的許多其他賬號,除了超級用戶root外,其他賬號都是用來維護系統運作的,一般不允許登錄,常見的非登錄用戶有bin、adm、mail、lp、nobody、ftp等,

-
usermod -s /sbin/nologin 用戶名

1.1.1.2鎖定長期不使用的賬號
[root@localhost ~]# usermod -L test2 鎖定用戶賬號方法一 [root@localhost ~]# passwd -l test3 鎖定用戶賬號方法二 [root@localhost ~]# usermod -U test2 解鎖用戶賬號方法一 [root@localhost ~]# passwd -u test3 解鎖用戶賬號方法二

1.1.1.3洗掉無用賬號
[root@localhost ~]# userdel test1 [root@localhost ~]# userdel -r test2

1.1.1.4鎖定賬號檔案passwd、shadow
[root@localhost ~]# chattr +i /etc/passwd /etc/shadow 鎖定檔案,包括root也無法修改 [root@localhost ~]# chattr -i /etc/passwd /etc/shadow 解鎖檔案 [root@localhost ~]# lsattr /etc/passwd /etc/shadow查看檔案狀態屬性

1.1.2密碼安全控制
1.1.2.1設定密碼有效期
1.[root@localhost ~]# chage -M 60 test3 這種方法適合修改已經存在的用戶1 ? 2.[root@localhost ~]# vim /etc/login.defs 這種適合以后添加新用戶, PASS_MAX_DAYS 30
1.
2.


1.1.2.2要求用戶下次登錄時修改密碼
[root@localhost ~]# chage -d 0 test6 強制要求用戶下次登陸時修改密碼

1.1.3命令歷史、自動注銷
1.1.3.1命令歷史限制
-
減少記錄命令的條數
-
注銷時自動情況命令歷史
減少記錄命令的條數:
1.[root@localhost ~]# vim /etc/profile 進入組態檔修改限制命令條數,適合新用戶
HISTSIZE=200 修改限制命令為200條,系統默認是1000條profile
[root@localhost ~]# source /etc/ 重繪組態檔,使檔案立即生效
2.[root@localhost ~]# export HISTSIZE=200 適用于當前用戶
[root@localhost ~]# source /etc/profile
[root@localhost ~]# source /etc/profile 重繪組態檔,使檔案立即生效
3. 注銷時自動清空命令:
[root@localhost ~]# vim ~/.bashrc
echo "" > ~/.bash_history
?
?
1.



2.

3.
1.1.3.2終端自動注銷
閑置600秒后自動注銷:
[root@localhost ~]#vim .bash_profile 進入組態檔
export TMOUT=60 全域宣告超過60秒閑置后自動注銷終端
[root@localhost ~]# source .bash_profile
[root@localhost ~]# echo $TMOUT
[root@localhost ~]# export TMOUT=600
如果不在組態檔輸入這條命令,那么是對當前用戶生效
?
[root@localhost ~]#vim .bash_profile
# export TMOUT=60 注釋掉這條命令,就不會自動注銷了



1.2用戶切換與提權(加入wheel組)
1.2.1su命令—切換用戶
1.用途及用法 用途:Substitute User,切換用戶 格式:su - 目標用戶(橫杠“ - ”代表切換到目標用戶的家目錄) ? root - - - >任意用戶,不驗證密碼 普通用戶- - - >其他用戶,驗證目標用戶的密碼 帶 “ - ” 表示將使用目標用戶的登錄Shell環境 ? 2.查看su操作記錄 安全日志檔案:/var/log/secure ? 3.whoami確定當前用戶是誰 ? 4. vim /etc/pam.d/su 把第六行注釋去掉保存退出 默認情況下,使用root切換不需要密碼 注釋兩行,所有賬號都可以使用,但是root切換時需要密碼 ?1.


2.

3.
4.



1.2.2sudo命令—提升執行權限
sudo命令的用途及用法: 用途:以其他用戶身份(如root)執行授權命令 用法:sudo 授權命令 1. 配置sudo授權 visudo 或者 vim /etc/sudoers 記錄格式: 用戶 主機名串列=命令程式串列 可以使用通配符“ * ”號任意值和“ !”號進行取反操作, 權限生效后,輸入密碼后5分鐘可以不用重新輸入密碼, 2. 配置/etc/sudoers檔案,可以授權用戶較多的時使用 ? Host_Alias MYHOST= localhost 主機名 User_Alias MYUSER = yxp,zhangsan,lisi 需要授權的用戶 Cmnd_Alias MYCMD = /sbin/*,/usr/bin/passwd 授權 MYUSER MYHOST = NOPASSWD : MYCMD 授權格式 ? ? 3.查看sudo操作記錄 需啟用Defaults logfile 配置默認日志檔案: /var/log/sudo ?




2.

3.

1.3PAM安全認證
-
su命令的安全隱患
-
默認情況下,任何用戶都允許使用su命令,有機會反復嘗試其他用戶(如root) 的登錄密碼,帶來安全風險;
-
為了加強su命令的使用控制,可借助于PAM認證模塊,只允許極個別用戶使用su命令進行切換,
-
-
什么是PAM?
-
PAM(Pluggable Authentication Modules)可插拔式認證模塊
-
是一種高效而且靈活便利的用戶級別的認證方式;
-
也是當前Linux服務器普遍使用的認證方式,
-
PAM提供了對所有服務進行認證的中央機制,適用于login,遠程登陸,su等應用
-
系統管理員通過PAM組態檔來制定不同的應用程式的不同認證策略
-
-
PAM認證原理
-
PAM認證一般遵循的順序: Service (服務) --> PAM (組態檔) --> pam_*.so;,
-
PAM認證首先要確定哪一項應用服務,然后加載相應的PAM的組態檔(位于/etc/pam.d下),最后呼叫認 模塊(位于/lib64/security/下)進行安全認證,
-
用戶訪問服務器的時候,服務器的某一個服務程式把用戶的請求發送到PAM模塊進行認證,不同的應用程式所對應的PAM模塊也是不同的,
-
如果想查看某個程式是否支持PAM認證,可以用ls命令進行查看/etc/pam.d/,
ls /etc/pam.d/ | grep su
-
PAM的組態檔中的每一行都是一個獨立的認證程序,它們按從上往下的順序依次由PAM模塊呼叫,


二、系統引導和登錄控制
-
2.1開關機安全控制
2.1.1調整BIOS引導設定原則
-
將第一引導設備設為當前系統所在硬碟;
-
禁止從其他設備(光碟、 U盤、網路)引導系統;
-
將安全級別設為setup,并設定管理員密碼,
禁用重啟熱鍵:Ctrl+Alt+Delete 避免因用戶誤操作重啟
2.1.2GRUB選單設定
-
未經授權禁止修改啟動引數
-
未經授權禁止進入指定系統
2.1.3GRUB限制的實作
通常情況下在系統開機進入GRUB選單時,按e鍵可以查看并修改GRUB引導引數,這對服務器是一個極大的威脅,可以為GRUB選單設定一個密碼,只有提供正確的密碼才被允許修改引導引數,
使用grub2-mkpasswd-pbkdf2獲得加密字串;
修改/etc/grub.d/00_ header檔案中, 添加密碼記錄;
生成新的grub.cfg組態檔,
法一: 1. 使用grub2-mkpasswd-pbkdf2生成密鑰并復制,然后備份兩個組態檔, 2. 修改/etc/grub.d/00_ header檔案中, 添加密碼記錄,并存并退出 ? 法二: 直接設定grub2—setpasswd 設定grub密碼
生成新的grub.cfg檔案,然后重啟系統
驗證結果
法一:





法二:

2.2終端及登錄控制
2.2.1限制root用戶只在安全終端登錄
-
安全終端配置:/etc/securetty
-
步驟:
-
更改相關組態檔
-
切換至指定終端進行測驗
-
切換至其他終端進行測驗
-
2.2.2禁止普通用戶登錄
-
建立/etc/nologin檔案
-
洗掉nologin檔案或者重啟后即恢復正常



三、弱口令檢測、埠掃描
3.1弱口令檢測—Joth the Ripper
-
一款密碼分析工具,支持字典式的暴力破解;
-
通過對shadow檔案的口令分析,可以檢測密碼強度;
-
官方網站:John the Ripper password cracker
3.1.1Joth the Ripper實體
-
安裝方法
make clean 系統型別 -
主程式檔案為john
1. 把下載好的安裝包用過rz命令下到目錄opy下(sz可以把linux系統中的檔案傳到自己的windows系統中): [root@localhost ~]#cd /opt [root@localhost ~]#rz [root@localhost opt]#ls john-1.8.0.tar.gz ? 2. 解壓 [root@localhost opt]#tar zxvf john-1.8.0.tar.gz ? 3. 安裝軟體編譯工具 [root@localhost src]#yum install gcc gcc-c++ make -y ? 4. 進行編譯安裝 [root@localhost src]#make clean linux-x86-64 ? 5. 準備待破解的密碼檔案 [root@localhost src]#cd .. 切換至上級目錄 [root@localhost src]#cp /etc/shadow /opt/shadow.txt 準備密碼檔案 6. 執行暴力破解 [root@localhost src]#cd /opt/john-1.8.0/run/ [root@localhost run]#./john /opt/shadow.txt ? 7.查看已經破解出的密碼 [root@localhost run]#./john --show /opt/shadow.txt ? ?








3.2網路掃描—NMAP
-
一款強大的網路掃描、安全 檢測工具
-
官方網站:Nmap: the Network Mapper - Free Security Scanner
-
CentOS 7.3光碟中安裝包 nmap-6.40-7.el7.x86_64.rpm
控制位:
| 控制位 | |
|---|---|
| SYN | 建立鏈接 |
| ACK | 確認 |
| FIN | 結束斷開 |
| PSH | 傳送 0 資料快取 上層應用協議 |
| RST | 重置 |
| URG | 緊急 |
常用格式:
nmap [掃描型別] [選項] <掃描目標> netstat natp #查看正在運行的使用TCP協議的網路狀態資訊 netstat -natp | grep httpd #實際操作(httpd換成80也可以) ? netstat -naup #查看正在運行的使用UDP協議的網路狀態資訊 ? [root@localhost run]#rpm -qa|grep nmap 查看nmap [root@localhost run]#yum install -y nmap 安裝nmap ?
| 常見 的選 項 | 選項的作用 |
|---|---|
| -p | 指定掃描的埠, |
| -n | 禁用反向DNS決議(以加快掃描速度) |
| -sS | TCP的SYN掃描(半開掃描),只向目標發出SYN資料包,如果收到SYNACK回應包就認為目標埠正在監聽,并立即斷開連接; 否則認為目標埠并未開放, |
| -sT | TCP連接掃描,這是完整的TCP掃描方式(默認掃描型別),用來建立一個TCP連接,如果成功則認為目標埠正在監聽服務,否 則認為目標埠并未開放, |
| -sF | TCP的FIN掃描,開放的埠會忽略這種資料包,關閉的埠會回應RST資料包,許多防火墻只對SYN資料包進行簡單過濾,而 忽略了其他形式的TCP攻擊包,這種型別的掃描可間接檢測防火墻的健壯性, |
| -sU | UDP掃描,探測目標主機提供哪些UDP服務,UDP掃描的速度會比較慢, |
| -sP | ICMP掃描,類似于ping檢測,快速判斷目標主機是否存活,不做其他掃描, |
| -P0 | 跳過ping檢測,這種方式認為所有的目標主機是存活的,當對方不回應ICMP請求時,使用這種方式可以避免因無法ping通而放 棄掃描, |
| natstat常用選項 | 作用 |
|---|---|
| -a | 顯示主機中所有活動的網路連接資訊(包括監聽、非監聽狀態的服務埠), |
| -n | 以數字的形式顯示相關的主機地址、端1等資訊, |
| -t | 查看TCP相關的資訊, |
| -u | 顯示UDP協議相關的資訊, |
| -p | 顯示與網路連接相關聯的行程號、行程名稱資訊(該選項需要root權限) |
| -r | 顯示路由表資訊, |
| -l | 顯示處于監聽狀態的網路連接及埠資訊, |
示例:
-
分別查看本機開放的TCP埠、UDP埠


-
檢測192.168.59.0/24網段有哪些存活主機

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/302448.html
標籤:其他
上一篇:漏洞挖掘:一次反序列化漏洞學習
下一篇:騷操作“破解“App
