在虛擬機(jī)里面搭建了一套Linux服務(wù)器風(fēng)險(xiǎn)檢測與安全加固測試環(huán)境堂鲜,然后把以前做演示的Web服務(wù)放到Linux服務(wù)器上面跑著例衍,找好了一些滲透測試工具份蝴,模擬進(jìn)行Linux服務(wù)器的風(fēng)險(xiǎn)檢測驹尼。最后,根據(jù)掃描結(jié)果列出了幾點(diǎn)系統(tǒng)安全加固辦法晚顷,也記錄了一些安全與監(jiān)控工具的簡單使用峰伙,方便以后更加熟悉這些工具。
搭建如下系統(tǒng)環(huán)境该默,使用常用測試方法與掃描工具進(jìn)行系統(tǒng)風(fēng)險(xiǎn)檢測瞳氓,針對暴露的風(fēng)險(xiǎn)威脅制定對應(yīng)的安全加固措施提議。
部署Web服務(wù)在Linux64位操作系統(tǒng)上权均,一個(gè)Web服務(wù)器顿膨,關(guān)閉linux上的防火墻。搭建局域網(wǎng)環(huán)境叽赊,一臺Ubuntu15.10作為linux平臺機(jī)器,跑各種linux平臺下的滲透測試工具必搞;一臺Windows7作為windows平臺機(jī)器必指,跑各種windows平臺下的滲透測試工具。分別對Linux系統(tǒng)進(jìn)行風(fēng)險(xiǎn)檢測測試恕洲。
檢測對象:Linux操作系統(tǒng)塔橡、Web站點(diǎn)梅割、數(shù)據(jù)庫、Web服務(wù)器葛家。
使用一些安全測試的辦法與工具對服務(wù)器進(jìn)行風(fēng)險(xiǎn)檢測户辞,找出服務(wù)器的脆弱點(diǎn)以及存在的安全缺陷。
2.1 操作系統(tǒng)風(fēng)險(xiǎn)檢測
針對服務(wù)器操作系統(tǒng)自身的安全測試癞谒,包括一些系統(tǒng)配置底燎、主機(jī)漏洞掃描等等
查看服務(wù)器操作系統(tǒng)當(dāng)前用戶是否為root用戶,盡量避免使用root用戶登錄弹砚,啟動其他服務(wù)程序双仍,除非是一些需要root權(quán)限的安全工具,前提需要保證工具來源可信桌吃。終端需要 who 既可以查看當(dāng)前登錄用戶朱沃。
登錄到Linux系統(tǒng),此時(shí)切換到root用戶茅诱,下載lynis安全審計(jì)工具逗物,切換到lynis運(yùn)行腳本目錄,執(zhí)行 ./lynis --check-all –Q 腳本語句瑟俭,開始對本地主機(jī)掃描審計(jì)敬察,等待掃描結(jié)束,查看掃描結(jié)果尔当。
登錄到Linux系統(tǒng)莲祸,切換到root用戶,使用命令行方式安裝Clamav 殺毒軟件椭迎,安裝完畢需要更新病毒庫锐帜,執(zhí)行掃描任務(wù),等待掃描結(jié)束獲取掃描結(jié)果畜号,根據(jù)掃描結(jié)果刪除惡意代碼病毒缴阎;
登錄到Linux系統(tǒng),切換到root用戶简软,下載Maldetect Linux惡意軟件檢測工具蛮拔,解壓縮后完成安裝。運(yùn)行掃描命令檢測病毒痹升,等待掃描結(jié)束獲取掃描報(bào)告建炫,根據(jù)掃描報(bào)告刪除惡意病毒軟件;
登錄到Linux系統(tǒng)疼蛾,切換到root用戶肛跌,下載Chkrootkit后門檢測工具包,解壓縮后進(jìn)入 Chkrootkit目錄,使用gcc安裝Chkrootkit衍慎,安裝成功即開始Chkrootkit掃描工作转唉,等待掃描結(jié)束,根據(jù)掃描結(jié)果恢復(fù)系統(tǒng)稳捆;
登錄到Linux系統(tǒng)赠法,切換到root用戶,下載RKHunter 后門檢測工具包乔夯,解壓縮后進(jìn)入 RKHunter 目錄砖织,執(zhí)行命令安裝RKHunter ,安裝成功即開始啟用后門檢測工作驯嘱,等待檢測結(jié)束镶苞,根據(jù)檢測報(bào)告更新操作系統(tǒng),打上漏洞對應(yīng)補(bǔ)毒掀馈茂蚓;
2.2 Web站點(diǎn)風(fēng)險(xiǎn)檢測
使用下面工具掃描Web站點(diǎn):nikto、wa3f剃幌、sqlmap聋涨、safe3 … …
掃描Web站點(diǎn)的信息:操作系統(tǒng)類型、操作系統(tǒng)版本负乡、端口牍白、服務(wù)器類型、服務(wù)器版本抖棘、Web站點(diǎn)錯(cuò)誤詳細(xì)信息茂腥、Web目錄索引、Web站點(diǎn)結(jié)構(gòu)切省、Web后臺管理頁面 …
測試sql注入最岗,出現(xiàn)幾個(gè)sql注入點(diǎn)
測試xss攻擊,出現(xiàn)幾個(gè)xss注入點(diǎn)
手動測試某些網(wǎng)頁的輸入表單朝捆,存在沒有進(jìn)行邏輯判斷的表單般渡,例如:輸入郵箱的表單,對于非郵箱地址的輸入結(jié)果芙盘,任然會繼續(xù)處理驯用,而不是提示輸入錯(cuò)誤,返回繼續(xù)輸入儒老。
針對風(fēng)險(xiǎn)測試后得到的安全測試報(bào)告蝴乔,修復(fù)系統(tǒng)存在的脆弱點(diǎn)與缺陷,并且進(jìn)一步加強(qiáng)服務(wù)器的安全能力贷盲,可以借助一些安全工具與監(jiān)控工具的幫助來實(shí)現(xiàn)淘这。
對服務(wù)器本身存在的脆弱性與缺陷性進(jìn)行的安全加固措施剥扣。
使用非root用戶登錄操作系統(tǒng)巩剖,使用非root用戶運(yùn)行其他服務(wù)程序铝穷,如:web程序等;
web權(quán)限佳魔,只有web用戶組用戶才能操作web應(yīng)用曙聂,web用戶組添加當(dāng)前系統(tǒng)用戶;
數(shù)據(jù)庫權(quán)限鞠鲜,只有數(shù)據(jù)庫用戶組用戶才能操作數(shù)據(jù)庫宁脊,數(shù)據(jù)庫用戶組添加當(dāng)前系統(tǒng)用戶;
根據(jù)安全審計(jì)贤姆、惡意代碼檢查榆苞、后門檢測等工具掃描出來的結(jié)果,及時(shí)更新操作系統(tǒng)霞捡,針對暴露的漏洞打上補(bǔ)丁坐漏。對于發(fā)現(xiàn)的惡意代碼病毒與后門程序等及時(shí)刪除,恢復(fù)系統(tǒng)的完整性碧信、可信行與可用性赊琳。
部署在服務(wù)器上的Web站點(diǎn)因?yàn)槌绦騿T編寫代碼時(shí)沒有注意大多的安全問題,造成Web服務(wù)站點(diǎn)上面有一些容易被利用安全漏洞砰碴,修復(fù)這些漏洞以避免遭受入侵被破壞躏筏。
配置當(dāng)前服務(wù)器隱藏服務(wù)器信息,例如配置服務(wù)器呈枉,隱藏服務(wù)器類型趁尼、服務(wù)器的版本、隱藏服務(wù)器管理頁面或者限制IP訪問服務(wù)器管理頁面猖辫、Web站點(diǎn)錯(cuò)誤返回信息提供友好界面酥泞、隱藏Web索引頁面、隱藏Web站點(diǎn)后臺管理或者限制IP訪問Web站點(diǎn)后臺住册。
使用Web代碼過濾sql注入或者使用代理服務(wù)器過濾sql注入婶博,這里更加應(yīng)該使用Web代碼過濾sql注入,因?yàn)樵陧撁婕磳⑻峤唤o服務(wù)器之前過濾sql注入荧飞,比sql注入到達(dá)代理服務(wù)器時(shí)過濾凡人,更加高效、節(jié)省資源叹阔,用戶體驗(yàn)更好挠轴,處理邏輯更加簡單。當(dāng)然耳幢,這樣處理會增加前端的負(fù)擔(dān)岸晦。
跨站攻擊的過濾可以參照sql注入過濾方法欧啤,同樣在Web代碼過濾掉,提示表單輸入非法启上,并且返回重新輸入表單邢隧。
網(wǎng)絡(luò)安全工具可以有效發(fā)現(xiàn)、防御網(wǎng)絡(luò)攻擊冈在。同時(shí)倒慧,使用掃描或者審計(jì)性的安全工具更加可以清楚自身存在的安全缺陷與風(fēng)險(xiǎn)威脅。提前做好防御措施包券,避免遭到攻擊破壞纫谅。
安裝snort輕量級入侵檢測系統(tǒng),部署在網(wǎng)絡(luò)的旁路溅固,既可以監(jiān)聽流過的網(wǎng)絡(luò)流量是否存在入侵攻擊付秕,也不會影響服務(wù)器的網(wǎng)絡(luò)性能。
把snort系統(tǒng)配置成入侵防御的模式侍郭,系統(tǒng)直連在服務(wù)器的網(wǎng)絡(luò)路線上询吴,充當(dāng)服務(wù)器的安全網(wǎng)關(guān),抵御網(wǎng)絡(luò)攻擊励幼。當(dāng)然汰寓,這樣會對服務(wù)器的網(wǎng)絡(luò)性能產(chǎn)生影響。
在服務(wù)器上或者在網(wǎng)關(guān)上配置防護(hù)墻苹粟,控制網(wǎng)絡(luò)流量有滑,過濾掉不必要的網(wǎng)絡(luò)數(shù)據(jù)報(bào)文,之允許服務(wù)器上服務(wù)相關(guān)的流量通過嵌削。這里毛好,把ping流量禁止掉,可以隱藏一些操作系統(tǒng)類型信息苛秕。當(dāng)然肌访,把防火墻部署在單獨(dú)的網(wǎng)關(guān)上面,可以減輕服務(wù)器的負(fù)擔(dān)艇劫,服務(wù)器可以使用全部資源支持當(dāng)前運(yùn)營的服務(wù)吼驶。
使用openvas、nessus等漏洞掃描系統(tǒng)店煞,定期更新漏洞庫與掃描插件蟹演,也定期掃描服務(wù)器所在的網(wǎng)絡(luò),及時(shí)發(fā)現(xiàn)網(wǎng)絡(luò)上的脆弱點(diǎn)以及服務(wù)器等主機(jī)存在的漏洞顷蟀,修復(fù)暴露出來的問題酒请,避免漏洞被入侵者利用,入侵網(wǎng)絡(luò)系統(tǒng)鸣个。
使用RATS羞反、Infer布朦、PyChecker等源代碼審計(jì)工具,檢測項(xiàng)目代碼存在的漏洞缺陷昼窗,例如:空指針訪問是趴、資源和內(nèi)存泄漏等等。生成檢測報(bào)告膏秫,驗(yàn)證檢測報(bào)告之后右遭,把結(jié)果發(fā)送到軟件開發(fā)工程師手里做盅,軟件開發(fā)工程師及時(shí)修復(fù)代碼bug缤削。
這里應(yīng)該包括網(wǎng)絡(luò)監(jiān)控,而網(wǎng)絡(luò)監(jiān)控已經(jīng)在網(wǎng)絡(luò)安全設(shè)備中體現(xiàn)了吹榴,這里就不必再次重復(fù)亭敢。
使用log_monitor 、Log Watcher等開源日志監(jiān)控系統(tǒng)图筹,監(jiān)聽Web服務(wù)等日志信息帅刀,對高頻IP進(jìn)行報(bào)警。如果远剩,日志監(jiān)控系統(tǒng)不存在自定義的功能需求扣溺,可以使用腳本來完成,獲取我們關(guān)心的日志信息瓜晤。
使用monit锥余、supervisord等開源進(jìn)程監(jiān)控系統(tǒng),監(jiān)聽Web等服務(wù)進(jìn)程是正常運(yùn)行痢掠,也可以使用腳本周期性查看進(jìn)程是否正在運(yùn)行驱犹。
使用inotify、FileMonitor等開源文件監(jiān)控系統(tǒng)足画,監(jiān)聽系統(tǒng)中重要的敏感文件雄驹,常見的用戶、密碼淹辞、權(quán)限医舆、主機(jī)系統(tǒng)、網(wǎng)絡(luò)配置象缀、服務(wù)程序配置等文件:passwd蔬将、shadow、group攻冷、hosts等娃胆。同樣,可以使用shell腳本來完成等曼。
當(dāng)項(xiàng)目的業(yè)務(wù)越來越龐大里烦,人為去運(yùn)維服務(wù)器已經(jīng)是不可能了凿蒜,需要把運(yùn)維盡量自動化,部署open-falcon胁黑、Zabbix等運(yùn)維監(jiān)控系統(tǒng)废封,監(jiān)控服務(wù)器網(wǎng)絡(luò)、系統(tǒng)丧蘸、服務(wù)等狀態(tài)漂洋,出現(xiàn)問題及時(shí)報(bào)警,通知運(yùn)維管理員力喷,管理員接到通知盡快解決問題刽漂,保證服務(wù)器業(yè)務(wù)的正常運(yùn)營。
作為管理員需要掌握一些shell命令弟孟,來幫助自己查看系統(tǒng)是否運(yùn)行在健康狀態(tài)贝咙,及時(shí)發(fā)現(xiàn)系統(tǒng)的入侵操作痕跡。用戶查看拂募、日志查看庭猩、審計(jì)命令、進(jìn)程查看陈症、計(jì)劃任務(wù)等蔼水。last、lastb录肯、lastlog趴腋、who、cat嘁信、awk于样、sed、grep潘靖、crontab等
前面幾章內(nèi)容穿剖,簡單分析了一次風(fēng)險(xiǎn)檢測與安全加固的過程。具體的風(fēng)險(xiǎn)檢測信息與安全加固步驟并沒有展示卦溢,后續(xù)將詳細(xì)展示說明糊余。
轉(zhuǎn)自:http://blog.csdn.net/a821478424/article/details/50829776