亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Golang的跨平臺蜜罐框架系統(tǒng)的設(shè)計與實現(xiàn)

        2022-02-03 07:12:08輝,李
        現(xiàn)代計算機 2022年21期
        關(guān)鍵詞:頁面數(shù)據(jù)庫系統(tǒng)

        張 輝,李 鵬

        (山西工程科技職業(yè)大學信息工程學院,晉中 030619)

        0 引言

        隨著當今互聯(lián)網(wǎng)的快速發(fā)展,網(wǎng)絡(luò)安全逐漸受到個人、政府、事業(yè)單位等重視,網(wǎng)絡(luò)安全已經(jīng)成為當今互聯(lián)網(wǎng)的重中之重。蜜罐系統(tǒng)是網(wǎng)絡(luò)安全領(lǐng)域的重要技術(shù)之一,主要通過誘使攻擊者進行攻擊,監(jiān)控和記錄攻擊者在蜜罐中所進行的一系列操作,掌握攻擊者的入侵意圖,以及所使用的攻擊方法等重要信息,從而有助于被攻擊者快速準確地采取最有效的防范措施[1]。

        本文設(shè)計的蜜罐框架系統(tǒng)是基于Golang 開發(fā)的一個系統(tǒng),后端主要采用Gin框架,數(shù)據(jù)庫采用了SQLite 數(shù)據(jù)庫[2-3]。它通過模擬各種真實服務(wù)與極其逼真的網(wǎng)頁去引誘攻擊者對其進行攻擊,蜜罐受攻擊的數(shù)據(jù)會存儲到數(shù)據(jù)庫中,包括攻擊IP、攻擊者使用的密碼字典等。根據(jù)所收集到的信息,就可以進一步分析得到攻擊者所使用的最新技術(shù)、對比真實應(yīng)用系統(tǒng)存在的問題,進行及時解決,使應(yīng)用系統(tǒng)更加安全。

        1 系統(tǒng)設(shè)計

        1.1 系統(tǒng)架構(gòu)設(shè)計

        整個系統(tǒng)采用前后端分離的架構(gòu)進行開發(fā)。前端基于Bootstrap 框架,后端主要應(yīng)用Gin 框架,數(shù)據(jù)庫采用SQLite數(shù)據(jù)庫[4]。系統(tǒng)的功能結(jié)構(gòu)包括三大模塊:虛假服務(wù)模塊、郵件告警模塊與前端展示模塊。蜜罐框架系統(tǒng)架構(gòu)圖如圖1所示。

        圖1 蜜罐框架系統(tǒng)架構(gòu)圖

        1.2 功能模塊設(shè)計

        1.2.1 虛假服務(wù)模塊

        虛假服務(wù)模塊是由模擬的真實服務(wù)來欺騙攻擊者的模塊。該模塊中可包含多個蜜罐來承受所有真實攻擊,在本次系統(tǒng)中共設(shè)計了三個蜜罐,分別為SSH蜜罐、Telnet蜜罐與Web蜜罐。

        (1)SSH蜜罐

        SSH 蜜罐,初步定位為中交互型蜜罐。在開啟SSH 蜜罐后,被管理端就會向互聯(lián)網(wǎng)暴露出提前設(shè)置好的端口,然后即可承受互聯(lián)網(wǎng)上的攻擊,如用戶名密碼的暴力破解、上傳Web?shell 等攻擊手法。SSH 蜜罐具體的業(yè)務(wù)流程是:開啟SSH 蜜罐后,攻擊者可通過暴力破解的方法登錄到遠程SSH 服務(wù)器,此時SSH 蜜罐會記錄攻擊者的IP、暴力破解的用戶名和密碼,并寫入到數(shù)據(jù)庫中。當攻擊者在遠程SSH 服務(wù)器中執(zhí)行任何命令,或嘗試上傳任何后門、病毒等惡意文件,SSH 遠程服務(wù)器會將攻擊者在服務(wù)器中所有的操作寫入日志文件中,方便用戶的溯源反制工作。

        (2)Telnet蜜罐

        Telnet蜜罐,初步定位為低交互型蜜罐。在開啟Telnet蜜罐后,被管理端也會向互聯(lián)網(wǎng)暴露指定端口信息,然后承受攻擊,該蜜罐僅支持承受暴力破解攻擊。Telnet蜜罐具體的業(yè)務(wù)流程是:開啟Telnet 蜜罐后,攻擊者嘗試連接Telnet,此時創(chuàng)建連接會話,并提示攻擊者輸入用戶名與密碼,由于設(shè)計原因,攻擊者不可能找到正確的用戶名密碼,且Telnet 蜜罐會將攻擊者的IP、嘗試登錄的用戶名和密碼寫入到數(shù)據(jù)庫中。

        (3)Web蜜罐

        Web 蜜罐,初步定位為低交互型蜜罐。在開啟Web 蜜罐后,攻擊者可通過蜜罐IP 加上指定端口訪問Web 蜜罐的登錄界面。為了更好地引誘攻擊者,用戶可將登錄界面定制為較逼真的業(yè)務(wù)登錄界面,該蜜罐同樣僅支持承受暴力破解攻擊。Web 蜜罐具體的業(yè)務(wù)流程是:開啟Web 蜜罐后,攻擊者會正常訪問到登錄界面,并且嘗試通過暴力破解的方式登錄系統(tǒng),此時Web 蜜罐會將攻擊者所有嘗試過的用戶名與密碼寫入數(shù)據(jù)庫中[5]。

        本模塊中設(shè)計兩個僅支持暴力破解攻擊的蜜罐,目的主要是收集攻擊者暴力破解所使用的密碼字典,通過分析密碼字典,確認用戶目前所使用的密碼是否安全,從而更好地提高系統(tǒng)密碼強度。

        1.2.2 郵件告警模塊

        郵件告警模塊有自動群發(fā)郵件告警和手動郵件告警兩大功能。該模塊要正常使用,必須要配置正確、可用的SMTP服務(wù)器以及收發(fā)件人信息。

        (1)自動群發(fā)郵件告警功能

        自動群發(fā)郵件告警,在配置正確的前提下,如果有新的攻擊告警,會按照固定的告警模板,將郵件通知發(fā)送到配置中收件人的郵箱。自動群發(fā)郵件告警功能的具體操作流程是:用戶進入系統(tǒng)后臺管理登錄頁面,輸入指定的賬號、密碼,隨即點擊登陸進入系統(tǒng)后臺管理頁面。進入管理頁面后,轉(zhuǎn)到設(shè)置菜單,點擊配置,輸入相應(yīng)的發(fā)件人郵箱、SMTP 服務(wù)器以及對應(yīng)的端口與收件人郵箱,隨即點擊保存完成配置,配置成功后會提示用戶配置成功。最后即可等待新的攻擊告警產(chǎn)生,系統(tǒng)將會自動發(fā)送郵件至指定郵箱。

        (2)手動郵件告警功能

        手動郵件告警,在配置正確的前提下,用戶可點擊郵件告警菜單,自定義告警內(nèi)容發(fā)至指定收件人郵箱。手動郵件告警功能的操作流程是:用戶進入系統(tǒng)后臺管理登錄頁面,通過賬戶信息認證,即可進入系統(tǒng)后臺管理頁面。進入管理頁面后,轉(zhuǎn)到設(shè)置菜單,點擊配置,輸入相應(yīng)的發(fā)件人郵箱、SMTP 服務(wù)器以及對應(yīng)的端口,隨即點擊保存完成配置,配置成功后會提示用戶配置成功。最后,用戶可轉(zhuǎn)到郵件告警菜單,輸入相應(yīng)的發(fā)件人郵箱、收件人郵箱、郵件主題等郵件相關(guān)信息,點擊發(fā)送,即可發(fā)送至指定收件人郵箱[6-7]。

        1.2.3 前端展示模塊

        前端展示模塊包括儀表盤、獵物列表、被管理端列表、手動郵件告警頁面與郵件告警配置頁面五大部分。

        (1)儀表盤列表

        儀表盤列表的具體流程是:用戶成功登錄到系統(tǒng)后臺管理頁面后,隨即展示的就是儀表盤展示頁面,用戶可直觀地看到目前系統(tǒng)所擁有的蜜罐、各個蜜罐的啟用狀態(tài)以及近期的攻擊告警數(shù)量。

        (2)獵物列表

        (3)被管理端列表

        被管理端列表的流程是:用戶成功登錄到系統(tǒng)后臺管理頁面后,點擊“被管理端集群”,進入被管理端列表,即可查看到目前所有被管理端的名稱、IP 以及各蜜罐的啟用狀態(tài)信息。同樣,點擊最右側(cè)的刪除按鈕,點擊確定,即可將對應(yīng)的蜜罐告警信息從數(shù)據(jù)庫中刪除,系統(tǒng)后臺管理頁面也不再展示該數(shù)據(jù)。

        (4)手動郵件告警頁面

        由于自動群發(fā)郵件告警功能是后臺自動執(zhí)行,此處郵件告警頁面僅顯示手動郵件告警功能。

        (5)郵件告警配置頁面

        用戶需要此頁面對自動群發(fā)郵件告警與手動郵件告警進行相關(guān)的配置,例如發(fā)件人郵箱、SMTP 服務(wù)器地址、SMTP 端口等信息。故郵件告警配置頁面的流程是:用戶選擇需要啟用的功能進行配置,填寫好相關(guān)配置信息后,點擊保存,此時系統(tǒng)會將配置信息寫入數(shù)據(jù)庫,方便系統(tǒng)讀取使用配置信息,然后用戶點擊已配置,此時該功能處于啟用狀態(tài),可以使用對應(yīng)的告警功能。

        2 系統(tǒng)實現(xiàn)

        系統(tǒng)采用Golang作為系統(tǒng)開發(fā)語言,Goland作為開發(fā)工具,主要使用Bootstrap 框架進行本系統(tǒng)的前端開發(fā),后端開發(fā)主要采用Golang 中的Gin框架,SQLite作為本系統(tǒng)的數(shù)據(jù)庫[8-9]。

        2.1 軟件組件設(shè)計

        根據(jù)上述需求并進行具體分析后,可將系統(tǒng)分為兩大部分:前端(即前端展示模塊)與后端,由上述兩個部分組成整個跨平臺蜜罐框架系統(tǒng)。

        原始AlexNet模型輸入為固定的224×224×3,GoogLeNet模型輸入為固定的299×299×3,該原始模型和本文提出的模型在相同的CompCars數(shù)據(jù)集中431類車型數(shù)據(jù)中訓練。然后分別在不同輸入的尺寸數(shù)據(jù)下測試各個訓練模型的效果,如圖7,圖8,圖9,圖10,圖11所示。

        (1)前端部分(前端展示模塊)

        前端部分由儀表盤、獵物列表、被管理端列表、手動郵件告警與郵件告警配置五個部分構(gòu)成。包括獵物列表中的查看攻擊信息和刪除獵物,編輯郵件內(nèi)容并發(fā)送等功能。

        (2)后端部分

        后端部分主要由虛假服務(wù)、上報攻擊數(shù)據(jù)以及管理端與被管理端三個部分構(gòu)成。包括將管理端與被管理端中獲取到的攻擊數(shù)據(jù)寫入數(shù)據(jù)庫。

        2.2 功能模塊實現(xiàn)

        2.2.1 虛假服務(wù)模塊

        虛假服務(wù)模塊包括了SSH 蜜罐、Telnet蜜罐與Web蜜罐。

        (1)SSH蜜罐

        SSH 蜜罐為蜜罐框架系統(tǒng)所擁有的蜜罐之一,是該系統(tǒng)中唯一一個中交互型蜜罐。SSH蜜罐的整體框架采用了Golang 官方提供的SSH服務(wù)器,然后進行二次開發(fā)得到SSH 蜜罐。該蜜罐在被嘗試連接時,會提示進行身份驗證,此處采用了Password 方式,即用戶名密碼的方式進行認證,若暴力破解成功,即認證成功,則本地SSH 將自動連接至遠程SSH 服務(wù)器。此處遠程SSH 服務(wù)器使用了Docker,在Docker 中拉取了SSH 服務(wù)器鏡像,此時攻擊者的所有操作都會在Docker 中的SSH 服務(wù)器中執(zhí)行,以免攻擊行為影響真實生產(chǎn)環(huán)鏡。同時,Docker 中的SSH 服務(wù)器將會實時記錄登入用戶的所有操作,需要溯源時可登錄Docker 中的SSH 服務(wù)器或登錄Docker 服務(wù)器將日志文件從Docker 拷貝到宿主機中進行查看。

        (2)Telnet蜜罐

        Telnet蜜罐為蜜罐框架系統(tǒng)所擁有的蜜罐之一,是該系統(tǒng)中的一個低交互型蜜罐。Telnet蜜罐使用了Go 語言內(nèi)置的net 包,用net.Listen()函數(shù)監(jiān)聽網(wǎng)絡(luò)中嘗試連接Telnet端口的主機,同時并發(fā)運行自定義方法Telnetlogin,Telnetlogin方法使用了net.Conn()函數(shù)以此獲取Telnet連接中的連接IP以及輸入的賬戶信息.

        (3)Web蜜罐

        Web 蜜罐為蜜罐框架系統(tǒng)所擁有的蜜罐之一,同樣是該系統(tǒng)中一個低交互型蜜罐。Web蜜罐設(shè)置了一個前端登錄頁面以獲取攻擊者輸入的賬戶信息。主要是采用Go 語言的一個微框架Gin,通過使用Gin 中的Context 的Param 方法來獲取攻擊者所提交的請求參數(shù),其中包括了嘗試登錄的用戶名與密碼,將獲取到的信息傳至管理端再寫入數(shù)據(jù)庫,或直接寫入數(shù)據(jù)庫并在管理頁面進行展示。

        2.2.2 郵件告警模塊

        郵件告警模塊包括自動群發(fā)郵件告警功能與手動郵件告警功能兩個部分,且該兩個部分均使用自定義方法SendMail,SendMail方法使用了Go 語言的gomail 庫中的多個函數(shù)。同時本模塊中告警郵件的創(chuàng)建與發(fā)送需要用到SMTP服務(wù)器,此處使用了QQ 郵箱充當郵件服務(wù)器,以此完成郵件的創(chuàng)建與發(fā)送。

        (1)自動群發(fā)郵件告警功能

        自動群發(fā)郵件告警功能是需先保證在管理頁面對E-mail群發(fā)進行配置且狀態(tài)為啟用狀態(tài),在該頁面進行的配置會全部寫入數(shù)據(jù)庫中的trap_setting 表。該功能是由自定義方法alert 實現(xiàn),該方法會先查詢trap_setting 表中E-mail 群發(fā)的相關(guān)配置并判斷該配置的狀態(tài)是否為啟用,若為啟用,則調(diào)用SendMail 發(fā)送郵件。alert 方法會在攻擊數(shù)據(jù)寫入數(shù)據(jù)庫時并發(fā)運行。

        (2)手動郵件告警功能

        手動郵件通知功能同樣要保證在管理頁面對E-mail 通知進行配置且狀態(tài)為啟用狀態(tài)。該功能是通過前端使用jQuery 中的Ajax 方法,將關(guān)鍵數(shù)據(jù)以POST 方式發(fā)送至后端POST 請求,從而調(diào)用自定義方法SendEmailToUsers,該方法通過使用Gin 中的Context 的Param 方法獲取數(shù)據(jù),與自動群發(fā)郵件功能一樣同樣會判斷Email 通知是否為啟用狀態(tài),若為啟用,則將獲取到的數(shù)據(jù)傳參至SendMail方法,發(fā)送郵件。

        2.2.3 前端展示模塊

        前端展示模塊包括儀表盤頁面、獵物列表、被管理端列表、手動郵件告警頁面與郵件告警配置頁面五大部分。

        (1)儀表盤頁面

        儀表盤頁面是用戶登入管理頁面后的第一個頁面。該頁面展示了管理端的API 與虛擬蜜罐開啟狀態(tài),目前SSH 蜜罐、Telnet 蜜罐與Web蜜罐的數(shù)量以折線圖形式展現(xiàn),最近24 小時三個蜜罐的數(shù)量統(tǒng)計。其中折線圖是通過使用ECharts 可視化庫[9]得以實現(xiàn),數(shù)據(jù)的統(tǒng)計是通過前端使用Ajax 方法以GET 方式發(fā)送至后端GET請求,從而調(diào)用GetTrapData()進行統(tǒng)計。

        (2)獵物列表

        獵物列表是在前端中較為重要的一個頁面。該頁面展示了虛擬蜜罐捕獲到的數(shù)據(jù),包括時間、蜜罐類型、攻擊IP、攻擊IP歸屬地等信息,并且點擊該頁面中的“點擊查看”,攻擊數(shù)據(jù)將會以彈窗形式展示在該頁面中。同時也可以對指定蜜罐進行刪除操作。

        (3)被管理端列表

        被管理端列表直觀地展示了被管理端的SSH 蜜罐、Telnet 蜜罐與Web 蜜罐是否為啟用狀態(tài),每60 秒獲取一次被管理端的狀態(tài),同時也提供了刪除指定被管理端的操作。若誤刪了被管理端,則等待60 秒左右刷新頁面,被管理端即可重新展示在該頁面。

        (4)手動郵件告警頁面

        手動郵件告警頁面與郵件告警模塊中的手動郵件告警功能相對應(yīng)。用戶需在該頁面中填寫郵件標題、發(fā)件人郵箱、收件人郵箱與郵件內(nèi)容,點擊“發(fā)送郵件”,彈出“success”提示字樣,即為發(fā)送成功。

        (5)郵件告警配置頁面

        郵件告警配置頁面是對自動群發(fā)郵件告警功能與手動郵件告警功能進行相關(guān)配置。兩個配置中都需要填寫正確可用的SMTP 服務(wù)認證,此處使用了QQ 郵箱作為SMTP 服務(wù)器。在此頁面中所有的配置都將寫入數(shù)據(jù)庫的trap_setting表中。其中E-mail 群發(fā)頁面可填寫多個收件人郵箱,當有新的攻擊數(shù)據(jù)生成時,會自動發(fā)送至指定收件人郵箱。

        3 系統(tǒng)測試

        3.1 實現(xiàn)與運行環(huán)境

        (1)實現(xiàn)環(huán)境

        整個系統(tǒng)代碼使用Go 語言1.17 版本,Go?land作為系統(tǒng)開發(fā)工具,SQLite作為數(shù)據(jù)庫。

        (2)運行環(huán)境

        瀏覽器:火狐瀏覽器;Docker 服務(wù)器:Centos7 操作系統(tǒng);管理端:RedHat7 操作系統(tǒng);被管理端:Centos7 操作系統(tǒng);數(shù)據(jù)庫系統(tǒng):SQLite數(shù)據(jù)庫。

        3.2 測試結(jié)果

        經(jīng)過多次測試,該系統(tǒng)的所有功能模塊均運行正常,且最初需求分析所涉及到的功能模塊全部開發(fā)完成。三個虛擬蜜罐告警較為準確,且上報結(jié)果及時。郵件告警的發(fā)送幾乎無延遲現(xiàn)象,可以及時地發(fā)送至收件人郵箱。前端展示頁面簡潔大方,在查看獵物列表時可以按照不同的蜜罐類型進行篩選,亦可根據(jù)項目名稱或來源IP 進行搜索,同時還支持分頁展示,大大提高了實用性與便捷性。

        猜你喜歡
        頁面數(shù)據(jù)庫系統(tǒng)
        大狗熊在睡覺
        Smartflower POP 一體式光伏系統(tǒng)
        刷新生活的頁面
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        數(shù)據(jù)庫
        財經(jīng)(2016年6期)2016-02-24 07:41:51
        亚洲一品道一区二区三区| 亚洲午夜精品久久久久久抢 | 少妇无码av无码去区钱| 国产在线拍91揄自揄视精品91| 亚洲av人片在线观看| 波多野42部无码喷潮在线| 亚洲av无码资源在线观看| 国产在线高清无码不卡| 久久精品亚洲国产av网站| 亚洲日韩激情无码一区| 国产精品乱码在线观看| 最新永久免费AV网站| 免费一区二区三区女优视频| 熟女少妇精品一区二区| 午夜AV地址发布| 人妻丝袜中文字幕久久| 国产精品狼人久久影院软件介绍| 久久精品国产亚洲av电影网 | 射进去av一区二区三区| 摸丰满大乳奶水www免费| 色欲av亚洲一区无码少妇| 亚洲欧洲日产国码无码| 亚洲天堂av在线免费观看| 永久免费人禽av在线观看 | 麻豆高清免费国产一区| 在线亚洲AV不卡一区二区| 你懂的视频网站亚洲视频| 少妇中文字幕乱码亚洲影视| 精品国产三级a在线观看| 少妇被日到高潮的视频| 国产精品黑丝高跟在线粉嫩| 亚洲日韩成人av无码网站| 久久精品国产亚洲黑森林| 国产精品美女主播一区二区| 亚洲日韩精品一区二区三区| 国产国产人精品视频69| 日韩人妖一区二区三区| 日产乱码一二三区别免费l| 丰满岳乱妇久久久| 青青草视频在线视频播放| 亚洲不卡高清av网站|