網站漏洞掃描及常見問題解決

一、工具介紹

最近需要漏掃和滲透性測試,學習了行家的博客,決定使用下面幾個工具,分別是Nessus、nmap、appscan和SQLmap。

Nessus:Nessus 是目前全世界最多人使用的系統漏洞掃描與分析軟件。總共有超過75,000個機構使用Nessus 作爲掃描該機構電腦系統的軟件。

nmap:nmap 是不少黑客愛用的工具 ,黑客會利用nmap來蒐集目標電腦的網絡設定,從而計劃攻擊的方法。

appscan:appscan是IBM公司開發的用於掃描web應用的基礎架構,也是安全滲透行業扛把子的產品;

SQLmap是對數據庫進行滲透測試和漏洞查找。

二、 分析掃描出的安全性問題
AppScan掃描出的問題會一般按照嚴重程度分高,危,參三種類型,高危屬於必須要解決的問題;低危一般屬於config配置,或IIS配置問題;低的問題,一般也可能是高,低的衍生問題,高危問題造成的衍生問題特別多,故解決問題時,建議從高至低看,並且先易後難。

Nessus將系統的漏洞歸結爲三類:
Security Holes: 該項攻擊成功並且會造成極大的安全風險。
Security Warnings: 該項攻擊成功,但是不會對安全造成大的影響。
Security Notes: 軟件通過掃描發現了系統相關信息。
接下來,Nessus還會將這三類漏洞依據風險因素分解爲不同等級:
Critical:已經威脅到遠端主機的安全。
Serious: 該漏洞泄漏的信息可以被黑客利用進行攻擊 。
High: 黑客可以在遠端主機獲取shell,或者執行任意命令。
Medium: 該安全漏洞可以導致用戶權限擴大。
Low: 從該漏洞獲取的信息可以被黑客利用,但是不會立刻造成嚴重威脅。
None: 系統不存在隱患。

三、常見問題及解決方案:

1、缺少“Content-Security-Policy”頭

 

解決方案,在jsp頁面中添加:

<meta http-equiv="Content-Security-Policy" content="script-src 'self'; object-src 'none'; style-src cdn.example.org third-party.org; child-src https:">

知識普及請看:http://www.ruanyifeng.com/blog/2016/09/csp.html 或者 https://www.jianshu.com/p/74ea9f0860d2

在Filter中添加:

 /**解決Missing "Content-Security-Policy" header
         * Missing "X-Content-Type-Options" header
         * Missing "X-XSS-Protection" header導致Web 應用程序編程或配置不安全
         * **/   
        response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));
        response.setHeader("Access-Control-Allow-Methods", "POST, GET");//允許跨域的請求方式
//        response.setHeader("Access-Control-Max-Age", "3600");//預檢請求的間隔時間
        response.setHeader("Access-Control-Allow-Headers", "Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With,userId,token,Access-Control-Allow-Headers");//允許跨域請求攜帶的請求頭
        response.setHeader("Access-Control-Allow-Credentials","true");//若要返回cookie、攜帶seesion等信息則將此項設置我true

        response.setHeader("strict-transport-security","max-age=16070400; includeSubDomains");//簡稱爲HSTS。它允許一個HTTPS網站,要求瀏覽器總是通過HTTPS來訪問它
        response.setHeader("Content-Security-Policy","default-src 'self'");//這個響應頭主要是用來定義頁面可以加載哪些資源,減少XSS的發生
        response.setHeader("X-Content-Type-Options","nosniff");//互聯網上的資源有各種類型,通常瀏覽器會根據響應頭的Content-Type字段來分辨它們的類型。通過這個響應頭可以禁用瀏覽器的類型猜測行爲
        response.setHeader("X-XSS-Protection","1; mode=block");//1; mode=block:啓用XSS保護,並在檢查到XSS攻擊時,停止渲染頁面
        response.setHeader("X-Frame-Options","SAMEORIGIN");//SAMEORIGIN:不允許被本域以外的頁面嵌入;
2、Apache Tomcat Default Files

(1)刪除Tomcat中webapp下所有,保留你自己項目和ROOT兩個,然後刪除ROOT下所有文件,新建一個文件404.html,至於這個404頁面寫啥東西無所謂了

(2)在conf/web.xml中添加如下

<error-page>

        <error-code>404</error-code>

        <location>/404.html</location>

</error-page>
(3)重啓tomcat服務即可生效

3、SSH Weak Algorithms Supported

(1)漏洞原因爲使用 Arcfour Arcfour-128 Arcfour-256 加密算法 此加密算法本身存在漏洞要在服務端禁止使用此加密算法登錄服務器
(2)打開sshd_config配置文件
vim /etc/ssh/sshd_config 打開時請注意打開的是sshd_config不是ssh_config
sshd_config爲服務端配置文件 ssh_config爲客戶端配置文件
在sshd_config裏添加:Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc

(3)重啓sshd問題解決

4、IP Forwarding Enabled

錯誤提示開啓了IP地址轉發,這個看需求了,如果就是需要,那就沒必要關注,如果不需要開啓轉發功能,那就關閉就可以了。
輸入echo 0 > /proc/sys/net/ipv4/ip_forward
echo 0 爲禁止IP轉發
echo1 爲開啓IP轉發

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章