OpenVAS漏洞掃描器從零部署與實戰配置指南
1. 項目概述為什么需要OpenVAS在安全領域摸爬滾打十幾年我見過太多因為基礎安全掃描缺失而導致的“低級”事故。很多團隊尤其是初創公司或業務壓力大的開發團隊往往把安全測試的優先級排得很靠后總覺得有防火墻、定期改密碼就夠了。直到某天服務器被悄無聲息地掛上挖礦腳本或者用戶數據在暗網被明碼標價才追悔莫及。主動的安全漏洞掃描就像給自家房子做定期的結構安全檢查不能等到墻裂了才想起找原因。OpenVASOpen Vulnerability Assessment System就是一個這樣的“房屋結構安全檢查儀”。它是一個功能強大且完全開源的漏洞掃描與管理系統。說人話就是它能自動幫你檢查你的服務器、網絡設備乃至整個內網看看有沒有那些眾所周知的“安全后門”沒關好。比如你的Web服務器是不是還在用著有嚴重漏洞的舊版本軟件數據庫的默認弱密碼改了沒有某個網絡端口是不是不該對公網開放卻被誤開了這些工作如果純靠人工手動檢查效率極低且容易遺漏而OpenVAS能幫你自動化、系統化地完成。它特別適合這幾類人中小企業的運維或安全負責人預算有限但需求迫切、個人開發者或極客想保護自己的VPS和項目、以及正在學習網絡安全的學生和從業者需要一個免費的、企業級的實操環境。通過本指南你將能從頭開始在Linux系統上部署一套屬于你自己的、功能完整的OpenVAS漏洞掃描器并理解如何配置和使用它進行有效的安全評估。整個過程我會把我在部署和運維中踩過的坑、總結的技巧毫無保留地分享給你。2. 部署環境準備與方案選型在真正動手安裝之前花幾分鐘搞清楚部署環境和方案能幫你避開至少80%的后續麻煩。OpenVAS的安裝方式主要有兩種一種是使用官方提供的安裝腳本或軟件包如.deb.rpm另一種是使用Docker容器化部署。這里我們主要討論第一種也是最經典、可控性最高的方式適合想要深入理解其組件和運作機制的用戶。2.1 系統要求與資源評估OpenVAS不是一個輕量級應用。它由多個組件構成包括掃描引擎、管理端GSA和龐大的漏洞數據庫NVT。因此它對系統資源有一定要求。操作系統官方主要支持Debian/Ubuntu和CentOS/RHEL及其衍生版。本指南以Ubuntu 22.04 LTS為例因為它擁有廣泛的社區支持和穩定的軟件源。其他系統步驟類似但包管理命令和部分路徑會有差異。硬件資源這是關鍵。一個用于生產或嚴肅測試的OpenVAS服務器建議配置如下CPU至少4核。掃描和分析過程是CPU密集型任務核心越多并行掃描效率越高。內存最低8GB強烈推薦16GB或以上。在首次同步漏洞數據NVT時以及進行大規模掃描時內存消耗會非常大。內存不足是安裝失敗和掃描崩潰的最常見原因。磁盤空間至少50GB可用空間推薦100GB。漏洞數據庫本身就會占用幾十GB空間并且掃描報告尤其是包含詳細結果的HTML或PDF報告也會持續增長。網絡穩定的網絡連接至關重要尤其是在首次安裝和后續更新漏洞庫時需要從互聯網下載大量數據。注意如果你只是在虛擬機里做學習測試可以適當降低配置如2核4GB但務必給足磁盤空間并做好首次同步耗時非常長的心理準備。2.2 安裝路徑規劃與依賴梳理默認情況下OpenVAS會將其主要組件安裝在以下位置Ubuntu/Debian系主程序及配置文件/etc/openvas/漏洞數據庫NVT/var/lib/openvas/plugins/日志文件/var/log/openvas/生成的報告/var/lib/openvas/reports/在安裝前最好檢查一下這些路徑所在的分區是否有足夠空間。你可以使用df -h命令查看。OpenVAS依賴于一系列其他開源軟件包括Redis用作緩存和消息隊列提升性能。PostgreSQL作為主數據庫存儲配置、任務和掃描結果。Mosquitto可選MQTT消息代理用于組件間通信。幸運的是在Ubuntu上我們可以通過APT包管理器一站式解決大部分依賴問題。但我們需要先確保系統是最新的并添加必要的軟件源。3. 分步安裝與初始化配置實錄接下來我們進入實操環節。請確保你擁有服務器的root權限或sudo權限。3.1 系統更新與必要工具安裝首先更新系統軟件包列表并升級現有軟件這是一個好習慣。sudo apt update sudo apt upgrade -y安裝一些后續步驟可能需要的工具如用于添加軟件源的software-properties-common和用于下載的curl。sudo apt install -y software-properties-common curl3.2 添加OpenVAS官方倉庫并安裝OpenVAS項目本身不直接提供APT倉庫但有一個維護良好的第三方倉庫提供了最新的穩定版本。這里我們使用Greenbone社區提供的倉庫。添加GPG密鑰用于驗證軟件包的完整性。sudo curl -f -L https://www.greenbone.net/gpg/GVM-22.4.5.asc -o /etc/apt/trusted.gpg.d/gvm.asc實操心得如果上述URL無法訪問網絡環境問題可以嘗試搜索“Greenbone Community Edition GPG key”尋找備用源或者直接從Greenbone官方網站的文檔中查找最新的密鑰地址。密鑰添加失敗會導致后續添加倉庫失敗。添加軟件源將Greenbone倉庫添加到系統源列表。sudo add-apt-repository deb [archamd64] https://www.greenbone.net/download/community-22.4/ubuntu jammy main注意這里的jammy對應 Ubuntu 22.04。如果你使用的是其他版本如 20.04 (focal)需要相應替換。再次更新并安裝添加新源后必須更新本地包索引。sudo apt update現在安裝OpenVAS在Greenbone套件中被稱為GVM即Greenbone Vulnerability Management的完整套件。sudo apt install -y gvm這個gvm元包會拉取所有必要的組件包括掃描器、管理界面、數據庫等。3.3 核心初始化數據庫設置與漏洞數據同步安裝完軟件包只是第一步接下來需要進行繁瑣但至關重要的初始化。這一步耗時最長也最容易出錯。運行安裝后配置腳本Debian/Ubuntu的gvm包提供了一個配置腳本。sudo gvm-setup這個腳本會初始化PostgreSQL數據庫創建gvmd用戶和數據庫。設置系統服務systemd unit files。啟動必要的后臺服務gvmd,gsad,openvas-scanner等。最關鍵的一步開始下載和同步最新的網絡漏洞測試NVT數據、SCAP安全內容自動化協議數據、CERT計算機應急響應小組數據等。這個過程會非常漫長可能需要數小時具體取決于你的網絡速度和服務器性能。腳本會輸出進度請耐心等待并確保網絡連接穩定。踩坑記錄在執行gvm-setup時最常見的錯誤是“同步失敗”或“下載超時”。這通常是因為連接到Greenbone的源服務器網絡不穩定。如果遇到此問題可以嘗試多次重試運行sudo gvm-setup。檢查服務器DNS配置確保能正常解析域名。在夜深人靜網絡空閑時再試。如果實在無法完成可以考慮尋找國內鏡像源如果有的話但需注意安全性和時效性。創建管理員用戶同步完成后需要創建一個用于登錄Web管理界面Greenbone Security Assistant, GSA的管理員賬戶。sudo runuser -u _gvm -- gvmd --create-useradmin --password你的強密碼請將“你的強密碼”替換為一個高強度的密碼。例如sudo runuser -u _gvm -- gvmd --create-useradmin --passwordMyStr0ngPssw0rd2024!你也可以選擇創建其他名稱的用戶admin只是默認的管理員用戶名。獲取管理員用戶ID并賦予權限可選但建議# 獲取admin用戶的ID sudo runuser -u _gvm -- gvmd --get-users --verbose | grep admin輸出中會顯示類似admin (id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)的信息復制那個UUID。# 將“掃描管理器”角色賦予admin用戶假設獲取到的UUID是 aabbccdd... sudo runuser -u _gvm -- gvmd --modify-setting 78eceaec-3385-11ea-b237-28d24461215b --value aabbccdd-eeee-ffff-gggg-hhhhhhhhhhhh這個操作賦予了admin用戶創建和管理掃描任務的完整權限。3.4 服務啟動與狀態驗證初始化完成后確保所有相關服務都已啟動并運行正常。# 啟動服務如果尚未啟動 sudo systemctl start gvmd gsad openvas-scanner # 設置開機自啟 sudo systemctl enable gvmd gsad openvas-scanner # 檢查服務狀態 sudo systemctl status gvmd gsad openvas-scanner你應該看到三個服務的狀態都是active (running)。如果有失敗請查看具體的日志文件/var/log/gvm/目錄下來排查問題。現在打開你的瀏覽器訪問https://你的服務器IP:9392。你會看到Greenbone Security Assistant (GSA)的登錄界面。使用剛才創建的admin用戶和密碼登錄。重要提示首次登錄可能會因為SSL證書是自簽名的而出現安全警告。這是正常的你可以選擇“高級”-“繼續前往”或類似選項。在生產環境中你應該替換為自己的可信SSL證書。4. 核心功能配置與首次掃描實戰成功登錄GSA界面后面對功能豐富的儀表盤新手可能會感到無從下手。別急我們一步步來完成一次針對本地主機的快速掃描。4.1 Web界面概覽與基礎設置登錄后的主界面主要包括儀表盤顯示掃描任務概覽、漏洞嚴重性分布等。掃描創建和管理掃描任務的核心區域。資產管理目標主機資產和資產組。配置管理掃描配置、掃描策略、報告格式等。管理系統管理功能如用戶、角色、feed更新狀態。首先我們需要確保漏洞數據是最新的。雖然安裝時同步了一次但漏洞庫每天都在更新。手動更新漏洞庫在“管理” - “Feed狀態”中你可以看到NVT、SCAP、CERT等Feed的“當前”和“最新”版本。如果“當前”落后于“最新”點擊右上角的“刷新Feed”按鈕兩個綠色箭頭循環的圖標。這個過程也需要一些時間。4.2 創建你的第一個掃描任務我們將創建一個針對掃描服務器自身localhost/127.0.0.1的快速掃描以驗證安裝是否成功。創建目標導航到“配置” - “目標”。點擊左上角的“藍色星星”圖標新建。名稱填入一個易于識別的名字如My Localhost Test。主機輸入127.0.0.1。你可以輸入單個IP、IP范圍如192.168.1.1-100或CIDR格式的網絡段如192.168.1.0/24。端口列表選擇默認的All IANA assigned TCP and Nmap top 100 UDP。這是一個比較全面的端口列表涵蓋了常見服務。其他選項保持默認點擊“保存”。創建掃描配置可選但推薦導航到“配置” - “掃描配置”。點擊“新建掃描配置”。名稱例如Quick and Deep。從以下位置復制選擇Full and fast。這是一個很好的平衡了速度和深度的基礎配置。在配置詳情頁面你可以調整各種掃描器的參數例如NVT 選擇可以啟用或禁用某些類別的漏洞檢查。掃描參數可以設置掃描的并發主機數、并發測試數等影響掃描速度和資源占用。對于首次測試我們可以直接使用內置的Full and fast配置無需新建。創建并啟動掃描任務導航到“掃描” - “任務”。點擊左上角的“藍色星星”圖標。掃描目標選擇剛才創建的My Localhost Test。掃描配置選擇Full and fast。掃描器選擇默認的OpenVAS Default。計劃選擇“立即”。名稱給任務起個名如First Scan on Localhost。點擊“保存”。保存后任務會自動開始運行。你可以在“掃描” - “任務”頁面看到任務的進度條。點擊任務名稱可以進入詳情頁查看實時發現的漏洞結果。首次掃描自己可能會發現一些“信息性”的日志條目或者一些關于OpenVAS自身服務端口的“低危”發現這是正常的。4.3 報告解讀與結果分析掃描完成后狀態會變為“已完成”。查看結果在任務詳情頁切換到“結果”選項卡。這里會列出所有發現的漏洞按嚴重性嚴重、高、中、低、日志分類。生成報告在任務行點擊“動作”列下的報告圖標一張紙的形狀。選擇你想要的報告格式例如HTML或PDF。點擊“下載”即可獲取一份格式美觀、內容詳細的漏洞報告。報告內容解讀摘要漏洞數量統計、嚴重性分布。漏洞詳情每個漏洞會包含名稱漏洞的通用名稱如Apache HTTP Server 信息泄露漏洞。嚴重性CVSS評分一個0-10分的標準分數。主機發現漏洞的IP和端口。描述漏洞的詳細說明。影響該漏洞可能造成的危害。解決方案修復建議例如“升級到Apache版本X.X.X以上”。參考指向CVE編號、安全公告等外部鏈接。如何對待掃描結果嚴重/高危漏洞必須優先處理制定修復計劃。中危漏洞應盡快安排修復。低危/日志可以作為信息參考在資源允許時優化。誤報自動化工具難免有誤報。對于存疑的漏洞需要結合人工分析如查看具體服務版本、配置來確認。5. 高級配置、優化與日常運維一次成功的掃描只是開始。要讓OpenVAS在團隊或生產環境中穩定、高效地運行還需要一些額外的配置和優化。5.1 性能調優與資源限制OpenVAS默認配置可能不適合所有環境尤其是資源受限的環境。調整掃描器并發度編輯掃描器配置文件。sudo nano /etc/openvas/openvas.conf找到max_hosts和max_checks參數。max_hosts控制同時掃描的主機數max_checks控制對單個主機同時進行的測試數。降低這些值可以減少內存和CPU占用但會延長掃描時間。例如在資源緊張的服務器上可以設置為max_hosts10 max_checks5修改后重啟服務sudo systemctl restart openvas-scanner調整PostgreSQL性能如果數據庫性能成為瓶頸掃描結果寫入慢可以調整PostgreSQL配置/etc/postgresql/xx/main/postgresql.conf適當增加shared_buffers,work_mem等參數的值但需根據服務器總內存來合理分配。5.2 定期更新與自動化漏洞庫過期掃描就失去了意義。必須建立定期更新機制。命令行更新可以設置一個cron任務定期執行更新。# 編輯cron任務 sudo crontab -e # 添加以下行表示每天凌晨3點執行更新 0 3 * * * sudo runuser -u _gvm -- greenbone-nvt-sync /dev/null 21 0 4 * * * sudo runuser -u _gvm -- greenbone-feed-sync --type SCAP /dev/null 21 0 5 * * * sudo runuser -u _gvm -- greenbone-feed-sync --type CERT /dev/null 21注意greenbone-feed-sync命令需要較新版本的GVM21.04。在老版本中更新是通過gvm-feed-update或openvas --update-vt-info等命令完成的。請根據你的實際安裝版本查閱對應文檔。Web界面更新如前所述也可以在GSA的“管理”-“Feed狀態”中手動點擊更新。5.3 常見問題排查與修復即使安裝順利在日常使用中也可能遇到問題。這里記錄幾個典型問題及解決思路。問題現象可能原因排查與解決步驟Web界面無法訪問9392端口1. 服務未啟動。2. 防火墻阻止。3. GSA服務崩潰。1.sudo systemctl status gsad檢查狀態。2.sudo ufw allow 9392/tcp(如果使用UFW)。3. 查看日志/var/log/gvm/gsad.log。掃描任務一直“排隊中”或“請求中”1. 掃描器服務未運行或異常。2. 數據庫連接問題。3. 資源不足內存耗盡。1.sudo systemctl status openvas-scanner。2. 檢查/var/log/gvm/openvas.log有無錯誤。3. 使用free -h和top查看內存和CPU使用率。漏洞庫同步失敗/緩慢1. 網絡連接問題。2. 源服務器暫時不可用。3. 磁盤空間不足。1. 嘗試ping www.greenbone.net。2. 等待一段時間再試或更換網絡環境。3. 使用df -h檢查磁盤空間。登錄GSA后儀表盤無數據或空白1. 瀏覽器緩存問題。2. GSA前端資源加載失敗。3. 用戶權限未正確配置。1. 嘗試CtrlF5強制刷新或使用瀏覽器無痕模式。2. 檢查瀏覽器控制臺F12有無JS錯誤。3. 確認登錄用戶擁有“掃描管理器”等必要角色。生成報告時出錯或報告為空1. 報告格式模塊問題。2. 掃描結果數據異常。1. 嘗試換一種報告格式如從PDF換到HTML。2. 檢查任務是否真的已完成并有結果。查看/var/log/gvm/gvmd.log。5.4 安全加固建議OpenVAS本身是一個安全工具但其服務端也必須得到保護。修改默認端口將GSA的默認端口從9392改為一個非標準端口可以減少被自動化腳本掃描的風險。通過修改/etc/default/gsad文件中的GSA_ADDRESS和GSA_PORT變量實現。使用強密碼與多用戶不要只使用一個admin賬戶。為不同的團隊成員創建不同權限級別的賬戶如只讀用戶、掃描操作員等。定期更換密碼。配置防火墻嚴格限制訪問GSA Web界面的源IP地址只允許運維網段或跳板機訪問。定期備份備份PostgreSQL數據庫gvmd庫和/var/lib/openvas/plugins/目錄下的漏洞數據。數據庫備份命令示例sudo runuser -u postgres -- pg_dump gvmd /path/to/backup/gvmd_backup_$(date %Y%m%d).sql6. 從工具到流程融入DevSecOps實踐安裝配置好OpenVAS相當于你有了一個強大的“安全雷達”。但工具的價值在于使用。對于現代軟件開發團隊更應該考慮如何將它融入CI/CD流水線實現安全左移。思路一集成到CI/CD管道你可以在Jenkins、GitLab CI、GitHub Actions等工具中在構建或部署階段后加入一個OpenVAS掃描步驟。基本流程是通過OpenVAS的APIGVM提供了豐富的REST API自動創建針對新部署應用或服務器的掃描任務。等待掃描完成。通過API獲取掃描結果報告。設定質量門禁例如如果發現“嚴重”或“高危”漏洞則自動將構建標記為失敗并通知相關負責人。將報告歸檔作為發布憑證的一部分。思路二資產自動發現與周期性掃描對于固定的基礎設施如辦公網、生產網段可以設置周期性如每周一次的全面掃描。結合CMDB配置管理數據庫或簡單的IP地址列表自動更新OpenVAS中的“目標”實現資產的動態管理和覆蓋。思路三漏洞生命周期管理OpenVAS發現漏洞只是起點。更重要的是跟蹤修復過程。你可以將OpenVAS的報告導入到JIRA、Redmine等項目管理工具中為每個高危漏洞創建修復工單。定期重新掃描已修復的漏洞進行驗證直到關閉工單。通過歷史報告分析團隊或系統的安全態勢變化趨勢。我自己在團隊中推行這套流程時最大的阻力往往不是技術而是觀念。開發同事會覺得“又被增加了工作量”。我的經驗是不要一開始就追求全自動攔截而是先從“透明化”開始每次發布后自動生成一份簡潔的掃描報告通過郵件或群機器人同步給相關開發和運維同學不阻塞流程只做告知。當大家習慣了報告的存在并親眼看到其中一些漏洞被外部攻擊者利用的案例可以分享一些無害化的內部演練結果后對安全掃描的接受度和配合度就會大大提高。這時再逐步引入關鍵漏洞的“一票否決”門禁就水到渠成了。最后記住一點沒有任何一個掃描工具是銀彈。OpenVAS主要針對已知漏洞CVE等對于邏輯漏洞、業務層面的安全問題如越權、水平權限繞過幾乎無能為力。它應該作為你安全防御體系中的一個重要環節與代碼審計、滲透測試、WAF、IDS/IPS等共同構成縱深防御。保持漏洞庫更新定期運行掃描認真分析報告并推動修復這才是讓OpenVAS發揮最大價值的關鍵。

相關新聞

Conjugate Expression

Conjugate Expression

將數學中的**“共軛式”(Conjugate Expression)**概念遷移到工作、生活和股票投資中,是一個非常有深度且極具跨界想象力的思維嘗試。 在數學中,共軛式(如 ababab 與 a?ba-ba?b)的核心作用是:通…

2026/8/2 13:16:10 閱讀更多
python的工業過程控制場景模擬第三十四篇:編寫程序模擬氣開,氣關調節閥故障動作邏輯,測試斷信號時系統安全保護策略。

python的工業過程控制場景模擬第三十四篇:編寫程序模擬氣開,氣關調節閥故障動作邏輯,測試斷信號時系統安全保護策略。

調節閥故障安全動作仿真系統 —— 基于 OOP 的氣開 / 氣關邏輯實戰"氣動調節閥不是通電就開、斷電就關那么簡單。氣開還是氣關,選錯了,停車時閥門的動作方向可能直接決定是安全停車還是爆炸事故。"—— 哈爾濱工程大學《工業過程控制》課程核心…

2026/8/2 13:16:10 閱讀更多
3分鐘搞定!QQ空間歷史說說完整備份終極指南

3分鐘搞定!QQ空間歷史說說完整備份終極指南

3分鐘搞定!QQ空間歷史說說完整備份終極指南 【免費下載鏈接】GetQzonehistory 獲取QQ空間發布的歷史說說 項目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾想過,那些年發過的QQ空間說說,那些記錄青春的文字…

2026/8/2 0:04:01 閱讀更多
3分鐘搞定!QQ空間歷史說說完整備份終極指南

3分鐘搞定!QQ空間歷史說說完整備份終極指南

3分鐘搞定!QQ空間歷史說說完整備份終極指南 【免費下載鏈接】GetQzonehistory 獲取QQ空間發布的歷史說說 項目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾想過,那些年發過的QQ空間說說,那些記錄青春的文字…

2026/8/2 0:04:01 閱讀更多
AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O分配PCB板是應用材料(Applied Materials)公司生產的一款用于半導體設備的I/O信號分配電路板。該型號(0100-02186)的核心特點如下:專用于Endura等半導體工藝腔室。集成信號路由與分配功能。連接控制…

2026/8/2 2:51:21 閱讀更多
Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機是日本日清(Nissei)品牌的一款工業用三相異步電機,適用于自動化設備及通用機械驅動。該型號(FFMN-32L-10-T0 40AX)的核心特點如下:三相交流異步電動機。額定…

2026/8/2 2:52:49 閱讀更多