系統安全及應用深度筆記

系統安全及應用深度筆記

一、賬號安全控制體系構建

(一)賬戶全生命周期管理

1. 冗余賬戶精細化治理
  • 非登錄賬戶基線核查
    Linux 系統默認創建的非登錄賬戶(如bindaemonmail)承擔系統服務支撐功能,其登錄 Shell 必須強制設置為/sbin/nologin。通過以下命令批量核查:

    grep "/sbin/nologin" /etc/passwd | awk -F: '{print $1}'
    

    若發現異常賬戶(如 Shell 被修改為/bin/bash),需立即排查是否存在非法篡改。

  • 動態賬戶清理策略

    • 臨時賬戶處理

      :對于安裝程序生成的臨時賬戶(如

      games
      
      lp
      

      ),若確認無用可直接刪除:

      userdel -r games  # -r選項遞歸刪除宿主目錄
      
    • 僵尸賬戶鎖定

      :對不確定是否需保留的賬戶,采用

      usermod -L
      

      雙向鎖定(同時鎖定密碼和賬戶狀態):

      usermod -L -e "01/01/2020" zhangsan  # 設置過期時間并鎖定
      

      解鎖時需同時清除過期時間:

      usermod -U -e "" zhangsan
      
  • 賬戶配置文件免疫機制
    使用chattr命令為賬戶核心文件添加不可變屬性(+i),形成寫保護:

    chattr +i /etc/passwd /etc/shadow /etc/group
    

    此時任何賬戶操作(包括useraddpasswd)都會報錯,解鎖需管理員手動執行:

    chattr -i /etc/passwd /etc/shadow /etc/group
    
2. 密碼策略三維度強化
  • 時間維度:有效期梯度控制

    • 全局策略

      :在

      /etc/login.defs
      

      中配置默認密碼策略,例如:

      bas

      PASS_MAX_DAYS 90    # 最大有效期90天
      PASS_MIN_DAYS 7     # 最小修改間隔7天
      PASS_WARN_AGE 14    # 過期前14天警告
      
    • 個體策略

      :針對特權賬戶(如

      root
      

      )設置更嚴格的有效期:

      chage -M 30 -W 7 root  # 30天強制修改,提前7天警告
      
  • 強度維度:復雜度校驗
    結合 PAM 模塊實現密碼復雜度檢查,在/etc/pam.d/system-auth中添加:

    password requisite pam_cracklib.so retry=3 minlen=12 lcredit=-1 ucredit=-1 dcredit=-1  # 要求至少12位,包含大小寫、數字
    

    違反策略時用戶將收到明確提示:密碼必須包含至少1個大寫字母、1個小寫字母和1個數字

  • 行為維度:強制密碼重置

    • 首次登錄重置

      :新建用戶時強制下次登錄修改密碼:

      useradd -m jerry && chage -d 0 jerry
      
    • 批量重置

      :系統升級后要求所有用戶重新設置密碼:

      awk -F: '$3>=1000' /etc/passwd | cut -d: -f1 | xargs -I {} chage -d 0 {}
      
3. 會話安全深度加固
  • 歷史命令防泄露

    • 記錄量限制

      :全局限制所有用戶歷史命令記錄為 500 條(默認 1000 條):

      echo "HISTSIZE=500" >> /etc/profile && source /etc/profile
      
    • 敏感操作凈化

      :在用戶

      .bashrc
      

      中添加過濾規則,自動清除包含密碼的命令:

      export HISTIGNORE='*password*:*passwd*'
      
  • 智能超時機制

    • 動態超時

      :根據會話活躍度自動調整超時時間(需結合腳本實現),基礎配置為:

      echo "export TMOUT=300" >> /etc/profile  # 5分鐘無操作自動注銷
      
    • 例外場景

      :在執行長時間任務(如編譯代碼)時,臨時禁用超時:

      trap '' SIGALRM  # 忽略超時信號
      

(二)權限管理矩陣模型

1. su 命令的最小權限控制
  • wheel 組特權隔離

    • 用戶加入

      :將授權用戶添加到

      wheel
      

      組(GID=10):

      gpasswd -a tsengyia wheel
      
    • 配置激活

      :編輯

      /etc/pam.d/su
      

      ,取消注釋以下行以啟用 wheel 組驗證:

      auth required pam_wheel.so use_uid  # 僅wheel組成員可使用su
      
    • 審計追蹤

      :su 操作記錄存儲在

      /var/log/secure
      

      ,可通過以下命令過濾:

      grep "su:" /var/log/secure | grep "session opened"
      
2. sudo 的 RBAC 模型實踐
  • 細粒度授權示例

    • 單命令授權

      :允許用戶

      jerry
      

      在本地執行

      ifconfig
      

      (需輸入自身密碼):

      visudo -c <<EOF
      jerry localhost=/sbin/ifconfig
      EOF
      
    • 無密碼授權

      :允許

      admin
      

      組用戶無密碼執行

      systemctl
      
      %admin ALL=NOPASSWD: /usr/bin/systemctl
      
  • 復雜場景配置

    • 目錄級授權

      :允許用戶

      ops
      

      執行

      /usr/local/bin/
      

      下的所有命令:

      ops ALL=/usr/local/bin/*
      
    • 排除特定命令

      :禁止

      dbadmin
      

      組執行

      rm
      

      mv
      
      %dbadmin ALL=!/bin/rm, !/bin/mv
      
  • 審計與回溯
    啟用 sudo 日志記錄至獨立文件:

    echo "Defaults logfile=/var/log/sudo.log" >> /etc/sudoers
    

    日志包含用戶、終端、執行命令等信息,可通過grep "COMMAND=" /var/log/sudo.log分析。

二、系統引導與登錄防護體系

(一)物理層與引導層安全

1. BIOS 安全基線配置
  • 引導策略鎖定

    • 啟動順序:設置為硬盤 > 光驅 > 網絡 > U盤(不同品牌 BIOS 路徑不同,通常在Boot菜單)。

    • 安全選項

      • Security Boot:啟用防止未簽名系統啟動
      • Set Supervisor Password:設置管理員密碼(復雜度要求:8 位以上,含字母 + 數字)
      • USB Legacy Support:禁用(防止 USB 設備啟動)
2. GRUB2 安全加固
  • 加密密碼生成
    使用 PBKDF2 算法生成強密碼(避免明文):

    grub2-mkpasswd-pbkdf2
    輸入密碼: ******
    重新輸入口令: ******
    # 記錄生成的哈希值
    
  • 配置文件修改
    /etc/grub.d/01_users中添加認證配置:

    cat << EOF
    set superusers="admin"
    export superusers
    password pbkdf2 admin <生成的哈希值>
    EOF
    

    重新生成 GRUB 配置:

    grub2-mkconfig -o /boot/grub2/grub.cfg
    

    啟動時按E鍵編輯需輸入密碼,有效防止未授權內核參數修改(如單用戶模式繞過認證)。

(二)終端登錄安全策略

1. root 賬戶登錄限制
  • 安全終端定義

    etc/securetty
    

    文件列出允許 root 登錄的終端,默認包含

    tty1-tty6
    

    。禁止遠程登錄時,需注釋所有行:

    # 原始內容
    tty1
    tty2
    # 修改后(禁止所有本地終端登錄)
    #tty1
    #tty2
    

    此時 root 只能通過 SSH(需配合

    PermitRootLogin no
    

    )或控制臺帶外管理登錄。

2. 維護模式臨時封鎖
  • 緊急狀態啟用

    創建

    /etc/nologin
    

    文件后,普通用戶登錄時會看到:

    The system is undergoing maintenance. Please try later.
    
    touch /etc/nologin  # 立即生效
    
    • 例外處理:root 用戶仍可登錄,用于緊急維護

    • 自動清理

      :可結合

      systemd
      

      定時器,在維護窗口結束后自動刪除文件:

      cat /etc/systemd/system/nologin-cleanup.timer
      [Unit]
      Description=Cleanup nologin file[Timer]
      OnCalendar=2025-05-19 23:00:00
      Persistent=true[Install]
      WantedBy=timers.target
      

三、安全檢測與監控技術

(一)弱口令深度檢測(John the Ripper)

1. 分布式破解架構
  • 環境準備

    • 文件提取

      :從目標服務器復制

      /etc/shadow
      

      (需 root 權限)

      scp root@target:/etc/shadow ./shadow.txt
      
    • 權限處理:確保當前用戶可讀取該文件(需設置chmod 600 shadow.txt

2. 進階破解技巧
  • 混合攻擊模式
    使用規則文件(run/password.lst)結合用戶名字典生成變體密碼:

    ./john --rules --wordlist=usernames.txt shadow.txt
    

    例如:用戶名jerry可能生成jerry123Jerry!等變體。

  • 差異化字典策略

    • 行業字典:針對金融行業使用包含banktrade的專業字典

    • 自定義字典生成

      :利用

      crunch
      

      工具生成指定規則字典(如 8 位數字 + 字母):

      crunch 8 8 -t @@@###%% -o custom.dict  # 格式:3字母+3數字+2符號
      
3. 結果分析與響應
  • 風險分級

    • 高風險:純數字 / 簡單字符串(如123456admin
    • 中風險:姓名拼音 + 數字(如zhangsan2023
    • 低風險:符合復雜度要求但被破解(需檢查字典是否包含內部信息)
  • 自動化響應腳本
    破解完成后自動生成整改報告并通知管理員:

    ./john --show shadow.txt | awk '{print "用戶:"$2,"密碼:"$1}' > weak_password_report.txt
    mail -s "弱口令檢測報告" admin@example.com < weak_password_report.txt
    

(二)網絡服務安全掃描(NMAP)

1. 分層掃描策略
  • 第一層:存活主機發現
    使用 ICMP 和 SYN 包混合探測,避免單一協議被防火墻過濾:

    nmap -sP -PE -PS21,80,443 192.168.1.0/24
    
    • -PE:ICMP Echo 請求
    • -PS:TCP SYN 包到指定端口
  • 第二層:端口服務枚舉
    對存活主機進行全端口掃描(1-65535)并識別服務版本:

    nmap -p- -sV -O --script=vulners 192.168.1.100
    
    • -sV:獲取服務版本信息
    • -O:操作系統指紋識別
    • --script=vulners:同步檢測已知漏洞
  • 第三層:深度漏洞驗證
    針對高危端口(如 445、3389)執行腳本化攻擊檢測:

    nmap --script=smb-vuln-ms17-010,nmap-vulners 192.168.1.110
    
2. 典型攻擊場景模擬
  • 隱蔽掃描(繞過防火墻)
    使用 FIN 掃描(-sF)和 Xmas 掃描(-sX)檢測狀態過濾型防火墻:

    nmap -sF -p 80,443 192.168.1.50
    nmap -sX -p 1-1000 192.168.1.50
    
    • 開放端口對 FIN/Xmas 包無響應,關閉端口返回 RST 包
  • UDP 服務發現
    掃描 DNS(53)、SNMP(161)等 UDP 服務,使用 - sU 選項并增加超時(-T4)

    nmap -sU -p 53,161 -T4 192.168.1.20
    
3. 掃描結果處置流程
  1. 高危端口(如 22、3306)開放在外網:立即配置防火墻限制源 IP
  2. 未授權服務(如 RPC 111、NetBIOS 139):關閉對應服務或遷移至內網
  3. 過時軟件版本:觸發補丁升級流程(如yum update httpd
  4. 可疑端口(如非標準端口運行自定義服務):啟動入侵檢測(如tcpdump抓包分析)

四、安全運營體系構建

(一)定期審計清單

檢查項頻率工具 / 命令合規標準
非登錄賬戶 Shell 檢查每周grep nologin /etc/passwd全部為/sbin/nologin
弱口令檢測每月John the Ripper無復雜度不足密碼
開放端口核查每季度nmap -p- localhost僅開放必要端口(如 22、80、443)
GRUB 密碼有效性驗證半年重啟測試 GRUB 密碼輸入必須輸入正確密碼才能修改引導參數

(二)應急響應預案要點

  1. 賬戶異常:發現未知賬戶立即鎖定(usermod -L)并檢查/etc/passwd修改記錄
  2. 密碼泄露:強制所有用戶修改密碼,審計 sudo 日志排查權限濫用
  3. 端口異常:使用lsof -i :端口號定位進程,結合chkconfig關閉自啟動服務
  4. 引導篡改:從應急啟動盤(如 Ubuntu Live CD)恢復 GRUB 配置,重新生成grub.cfg

(三)安全意識培養

  • 用戶教育:定期培訓密碼安全(如 “8 字符以上 + 三要素組合”)、禁止共享賬戶
  • 管理員認證:要求掌握chattrpamgrub2等核心安全工具的高級用法
  • 威脅情報:訂閱 CVE 漏洞周報,建立nmap腳本庫實時更新檢測規則

五、總結:構建主動防御體系

系統安全是動態防御過程,需實現:

  • 事前預防:通過賬戶清理、密碼策略、引導保護構建準入防線
  • 事中檢測:利用 John 和 NMAP 實現弱口令與端口暴露的實時監控
  • 事后響應:結合審計日志和應急流程快速處置安全事件

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/81627.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/81627.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/81627.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

02-前端Web開發(JS+Vue+Ajax)

介紹 在前面的課程中&#xff0c;我們已經學習了HTML、CSS的基礎內容&#xff0c;我們知道HTML負責網頁的結構&#xff0c;而CSS負責的是網頁的表現。 而要想讓網頁具備一定的交互效果&#xff0c;具有一定的動作行為&#xff0c;還得通過JavaScript來實現。那今天,我們就來講…

AXXI4總線協議 ------ AXI_FULL協議

https://download.csdn.net/download/mvpkuku/90855619 一、AXI_FULL協議的前提知識 1. 各端口的功能 2. 4K邊界問題 3. outstanding 4.時序仿真體驗 可通過VIVADO自帶ADMA工程觀察仿真波形圖 二、FPGA實現 &#xff08;主要用于讀寫DDR&#xff09; 1.功能模塊及框架 將…

React系列——nvm、node、npm、yarn(MAC)

nvm&#xff0c;node&#xff0c;npm之間的區別 1、nvm&#xff1a;nodejs版本管理工具。nvm 可以管理很多 node 版本和 npm 版本。 2、nodejs&#xff1a;在項目開發時的所需要的代碼庫 3、npm&#xff1a;nodejs包管理工具。nvm、nodejs、npm的關系 nvm 管理 nodejs 和 npm…

2025年AI與網絡安全的終極博弈:沖擊、重構與生存法則

引言 2025年&#xff0c;生成式AI的推理速度突破每秒千萬次&#xff0c;網絡安全行業正經歷前所未有的范式革命。攻擊者用AI批量生成惡意代碼&#xff0c;防御者用AI構建智能護盾&#xff0c;這場技術軍備競賽正重塑行業規則——60%的傳統安全崗位面臨轉型&#xff0c;70%的防…

【Android】Android 實現一個依賴注入的注解

Android 實現一個依賴注入的注解 &#x1f3af; 目標功能 自定義注解 Inject創建一個 Injector 類&#xff0c;用來掃描并注入對象支持 Activity 或其他類中的字段注入 &#x1f9e9; 步驟一&#xff1a;定義注解 import java.lang.annotation.ElementType; import java.lan…

Spring Boot與Kafka集成實踐:從入門到實戰

Spring Boot與Kafka集成實踐 引言 在現代分布式系統中&#xff0c;消息隊列是不可或缺的組件之一。Apache Kafka作為一種高吞吐量的分布式消息系統&#xff0c;廣泛應用于日志收集、流處理、事件驅動架構等場景。Spring Boot作為Java生態中最流行的微服務框架&#xff0c;提供…

ubuntu的虛擬機上的網絡圖標沒有了

非正常的關機導致虛擬機連接xshell連接不上&#xff0c;ping也ping不通。網絡的圖標也沒有了。 記錄一下解決步驟 1、重啟服務 sudo systemctl restart NetworkManager 2、圖標顯示 sudo nmcli network off sudo nmcli network on 3、sudo dhclient ens33 //(網卡) …

生產者 - 消費者模式實現方法整理

一、Channels &#xff08;一&#xff09;使用場景 適用于高并發、大數據量傳輸&#xff0c;且需要異步操作的場景&#xff0c;如實時數據處理系統。 &#xff08;二&#xff09;使用方法 創建 Channel<T>&#xff08;無界&#xff09;或 BoundedChannel<T>&…

OpenCV光流估計:原理、實現與應用

一、什么是光流&#xff1f; 光流(Optical Flow)是計算機視覺中描述圖像序列中像素運動模式的重要概念。它表示圖像中物體在連續幀之間的表觀運動&#xff0c;是由物體或相機的運動引起的。 光流的基本假設 亮度恒常性&#xff1a;同一物體點在連續幀中的亮度保持不變時間持…

Java實現MinIO上傳PDF文件并配置瀏覽器在線打開及vue2上傳頁面

win下載啟動minio結合vue2實現文件上傳瀏覽 一.下載啟動minio 1. 下載minio 2.在D盤創建文件夾 1.首先創建minio文件夾再minio中依次創建bin/data/logs,如下圖 2.把下載的minio.exe放到minio->bin文件中 3.在bin文件夾中輸入cmd打開命令框輸入命令minio.exe server D:…

VR 互動實訓與展示,借科技開啟沉浸式體驗新篇?

對于企業而言&#xff0c;產品設計與展示是極為關鍵的環節&#xff0c;這直接關系到能否成功吸引客戶&#xff0c;以及精準獲取市場反饋。在當下科技飛速發展的時代&#xff0c;VR 互動實訓為這一至關重要的環節注入了全新活力&#xff0c;帶來了前所未有的體驗。以某智能家居企…

進階-數據結構部分:1、數據結構入門

飛書文檔https://x509p6c8to.feishu.cn/wiki/HRLkwznHiiOgZqkqhLrcZNqVnLd 一、存儲結構 順序存儲 鏈式存儲 二、常用數據結構 2.1、棧 先進后出 場景&#xff1a; 后退/前進功能&#xff1a;網頁瀏覽器中的后退和前進按鈕可以使用棧來實現。在瀏覽網頁時&#xff0c;每次…

HarmonyOS Navigation組件深度解析與應用實踐

HarmonyOS Navigation組件深度解析與應用實踐 一、組件架構與核心能力 HarmonyOS Navigation組件作為路由導航的根視圖容器&#xff0c;采用三層架構設計&#xff1a; 標題層&#xff1a;支持主副標題配置&#xff0c;提供Mini/Free/Full三種顯示模式內容層&#xff1a;默認…

基于AI的Web數據管道,使用n8n、Scrapeless和Claude

引言 在當今數據驅動的環境中&#xff0c;組織需要高效的方法來提取、處理和分析網絡內容。傳統的網絡抓取面臨著諸多挑戰&#xff1a;反機器人保護、復雜的JavaScript渲染以及持續的維護需求。此外&#xff0c;理解非結構化的網絡數據則需要復雜的處理能力。 本指南演示了如…

Cadence學習筆記之---PCB器件放置與布局

目錄 01 | 引 言 02 | 環境描述 03 | 元件放置 04 | 布局相關操作 06 | 總 結 01 | 引 言 在上一篇文章中&#xff0c;介紹了如何設置PCB的電氣規則約束&#xff0c;以及如何設置層疊&#xff0c;到此我們已經完成了使用Cadence設計PCB的前期準備工作&#xff1b; 在本篇…

力扣HOT100之二叉樹:199. 二叉樹的右視圖

這道題沒啥好說的&#xff0c;首先定義一個向量來保存每一層的最后一個元素&#xff0c;直接用層序遍歷&#xff08;廣度優先搜索&#xff09;遍歷二叉樹&#xff0c;然后將每一層的最后一個元素加入到這個向量中即可。屬于是二叉樹層序遍歷的模板題。 /*** Definition for a …

CSS:三大特性

文章目錄 一、層疊性二、繼承性三、優先級 一、層疊性 二、繼承性 可以在MDN網站上查看屬性是否可以被繼承 例如color 三、優先級

C++經典庫介紹

在 C 開發的漫長歷程中&#xff0c;涌現出了許多經典的庫&#xff0c;它們在不同的領域發揮著重要作用&#xff0c;極大地提升了 C 開發的效率和質量。下面為你介紹一些 C 開發中的經典庫。 標準模板庫&#xff08;STL&#xff09; STL 堪稱 C 編程領域的基石&#xff0c;是每…

Git本地使用小Tips

要將本地倉庫 d:\test 的更新推送到另一個本地倉庫 e:\test&#xff0c;可以使用 Git 的遠程倉庫功能。以下是具體步驟&#xff1a; ??在 e:\test 中添加 d:\test 作為遠程倉庫?? 在 e:\test 目錄中打開 Git Bash 或命令行&#xff0c;執行以下命令&#xff1a; git remo…

AWS SageMaker vs Bedrock:該選哪個?

隨著生成式 AI 的快速崛起&#xff0c;越來越多企業希望借助云上工具&#xff0c;加速 AI 應用的構建與落地。AWS 作為領先的云服務提供商&#xff0c;提供了兩款核心 AI 服務&#xff1a;Amazon SageMaker 和 Amazon Bedrock。它們雖然同屬 AWS AI 生態系統&#xff0c;但定位…