趙 靜,湯榮秀
(天津工業(yè)職業(yè)學(xué)院,天津 300400)
網(wǎng)絡(luò)攻防,也稱網(wǎng)絡(luò)對抗,是網(wǎng)絡(luò)攻擊與網(wǎng)絡(luò)防護(hù)的合稱。
網(wǎng)絡(luò)攻擊是指針對計算機(jī)信息系統(tǒng)、基礎(chǔ)設(shè)施、計算機(jī)網(wǎng)絡(luò)或個人計算機(jī)設(shè)備的,任何類型的進(jìn)攻動作。對于計算機(jī)和計算機(jī)網(wǎng)絡(luò)來說,破壞、揭露、修改、使軟件或服務(wù)失去功能、在沒有得到授權(quán)的情況下偷取或訪問任何計算機(jī)的數(shù)據(jù),都被視為對計算機(jī)和計算機(jī)網(wǎng)絡(luò)的攻擊。
網(wǎng)絡(luò)防護(hù)是一種網(wǎng)絡(luò)安全技術(shù),是致力于解決如何有效進(jìn)行介入控制以及如何保證數(shù)據(jù)傳輸安全性的技術(shù)手段,主要包括物理安全分析技術(shù)、網(wǎng)絡(luò)結(jié)構(gòu)安全分析技術(shù)、系統(tǒng)安全分析技術(shù)、管理安全分析技術(shù)及其他安全服務(wù)和安全機(jī)制策略[1]。
從攻擊形態(tài)上看,網(wǎng)絡(luò)攻擊主要分為兩大類:被動攻擊和主動攻擊。被動攻擊一般發(fā)生在攻擊者處于無線網(wǎng)絡(luò)范圍內(nèi)并可以監(jiān)視無線通信內(nèi)容時,最常見的被動攻擊是數(shù)據(jù)包嗅探。由于被動攻擊者只是監(jiān)聽網(wǎng)絡(luò)數(shù)據(jù),而不是傳輸數(shù)據(jù),因此被動攻擊通常檢測不到。被動攻擊是指一切竊密的攻擊,典型的攻擊方式是網(wǎng)絡(luò)竊聽和流量分析,通過截取數(shù)據(jù)包或流量分析,從中竊取重要的敏感信息,例如網(wǎng)絡(luò)竊聽。
主動攻擊是指攻擊者部署非法無線接入點,誘騙人們錯誤連接上去。由于主動攻擊可以攔截、監(jiān)視和改變通信內(nèi)容,常常用于執(zhí)行中間人攻擊等活動。主動攻擊涉及修改數(shù)據(jù)流或創(chuàng)建錯誤的數(shù)據(jù)流,包括假冒、重放、修改信息和拒絕服務(wù)等,例如拒絕服務(wù)攻擊。
1.2.1 準(zhǔn)備階段
確定攻擊目的、準(zhǔn)備攻擊工具、收集目標(biāo)信息以及收集和目標(biāo)相關(guān)的信息。比如:網(wǎng)絡(luò)信息(域名、網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、IP)、系統(tǒng)信息(操作系統(tǒng)版本、開放的網(wǎng)絡(luò)服務(wù))、用戶信息(用戶標(biāo)識、郵件賬號、聯(lián)系方式等)。
1.2.2 實施階段
隱藏自己的位置、利用收集到的信息獲得賬號密碼登錄主機(jī),利用漏洞或者其他方法獲得主機(jī)的控制權(quán)并竊取網(wǎng)絡(luò)資源和特權(quán)。
1.2.3 善后階段
消除攻擊的痕跡、植入后門,退出安裝后門(木馬等)系統(tǒng)日志清除、應(yīng)用程序日志清除。
1.3.1 訪問控制
對用戶訪問網(wǎng)絡(luò)資源的權(quán)限進(jìn)行嚴(yán)格的認(rèn)證和控制。例如:用戶身份認(rèn)證;對口令加密、更新和鑒別;設(shè)置用戶訪問目錄和文件的權(quán)限;控制網(wǎng)絡(luò)設(shè)備配置的權(quán)限等。
1.3.2 數(shù)據(jù)加密防護(hù)
加密是防護(hù)數(shù)據(jù)安全的重要手段,其作用是保障信息被截獲后不能讀懂其含義。
1.3.3 網(wǎng)絡(luò)隔離防護(hù)
網(wǎng)絡(luò)隔離有兩種方式,一種是采用隔離卡來實現(xiàn),一種是采用網(wǎng)絡(luò)安全隔離網(wǎng)閘實現(xiàn)。
1.3.4 其他措施
其他措施包括信息過濾、容錯、數(shù)據(jù)鏡像、數(shù)據(jù)備份和審計等。
CTFd(Capture The Flag Director)是一個開源平臺,用于主持和管理CTF(Capture the Flag)競賽。
CTF競賽是網(wǎng)絡(luò)安全挑戰(zhàn),旨在測試參與者在各種類型的計算機(jī)系統(tǒng)和應(yīng)用程序中發(fā)現(xiàn)、利用和修補(bǔ)漏洞的能力。CTF活動在網(wǎng)絡(luò)安全和信息技術(shù)界很常見,參與者從專業(yè)人士到愛好者不等。CTFd被各類組織廣泛使用,包括大學(xué)、公司和網(wǎng)絡(luò)安全社區(qū)。通過CTF比賽,為團(tuán)隊提供一個參與挑戰(zhàn)和解決問題的平臺,讓參與者展示黑客技能并學(xué)習(xí)新技能。作為一個開源平臺,CTFd是免費使用的,可以很容易地進(jìn)行定制,滿足每次比賽的具體需求。
2.1.1 設(shè)計靈活,易于安裝
CTFd設(shè)計靈活,允許組織者定制挑戰(zhàn)和比賽以滿足特定的需求。該軟件易于安裝,可在多種平臺上使用,包括 Windows、Linux 和 MacOS。憑借其直觀的用戶界面,CTFd 使參與者可以輕松導(dǎo)航和參與挑戰(zhàn)。
2.1.2 實時跟蹤進(jìn)度,數(shù)據(jù)直觀展現(xiàn)
CTFd的另一個重要特性是能夠跟蹤和分析參與者的進(jìn)度。這可以通過各種指標(biāo)來實現(xiàn),例如完成時間、嘗試次數(shù)和成功率。此信息可用于識別表現(xiàn)最好的人、調(diào)整挑戰(zhàn)難度并向參與者提供反饋。
2.1.3 擁有強(qiáng)大評分系統(tǒng),安全功能廣泛專業(yè)
CTFd包括一個強(qiáng)大的評分系統(tǒng),可以根據(jù)活動的特定需求進(jìn)行定制。成功完成挑戰(zhàn)可獲得積分,快速完成挑戰(zhàn)或嘗試次數(shù)很少可獲得獎勵。該系統(tǒng)有助于營造競爭環(huán)境,鼓勵參與者發(fā)揮最佳表現(xiàn)。
總的來說,CTFd是一個強(qiáng)大而靈活的平臺,用于組織和開展CTF活動。其可定制的挑戰(zhàn)、強(qiáng)大的評分系統(tǒng)和全面的安全功能適合在很多環(huán)境中使用。憑借其活躍的社區(qū)和易于使用的界面,CTFd是任何組織或參與CTF活動的人的絕佳選擇。
2.1.4 管理便捷,資源豐富
通過CTFd-Whale,安全團(tuán)隊可以輕松地創(chuàng)建和管理比賽所需的各種資源和服務(wù),從而節(jié)省時間和人力成本。此外,CTFd-Whale支持多個Agent同時工作,可以在不同的地理位置和環(huán)境中運行。這使得安全團(tuán)隊可以更好地滿足比賽的需求,并快速部署和管理資源。
CTFd-Whale支持多種資源和服務(wù),如Web應(yīng)用程序、Docker容器、虛擬機(jī)和云實例等。這些資源和服務(wù)可以輕松地添加到CTFd-Whale中,并通過任務(wù)進(jìn)行自動化部署和管理。此外,CTFd-Whale還提供了一些常見的服務(wù)配置,如Web服務(wù)器、數(shù)據(jù)庫服務(wù)器和負(fù)載均衡器等,可以幫助安全團(tuán)隊快速部署和配置服務(wù)。
CTFd-Whale還支持多種自定義功能,如腳本任務(wù)和回調(diào)任務(wù)等。通過這些功能,安全團(tuán)隊可以根據(jù)比賽的需求編寫自定義腳本,實現(xiàn)更加復(fù)雜的任務(wù)。而且,CTFd-Whale支持自定義回調(diào)函數(shù),可以在任務(wù)完成后自動調(diào)用,從而實現(xiàn)自定義的操作,如發(fā)送通知或執(zhí)行其他操作。
總之,CTFd-Whale是一個功能強(qiáng)大的自動化部署工具,可以幫助安全團(tuán)隊快速部署和管理比賽所需的各種資源和服務(wù)。
2.2.1 下載并安裝CTFd
可以從產(chǎn)品的官方網(wǎng)站或GitHub上下載最新版本的CTFd。下載后,按照安裝說明,在系統(tǒng)上設(shè)置該框架。
2.2.2 創(chuàng)建一個CTF
在安裝CTFd后,通過登錄管理面板選擇“新CTF”選項來創(chuàng)建一個新的CTF。系統(tǒng)會提示輸入CTF的基本信息,如:名稱、描述、開始和結(jié)束時間。
2.2.3 創(chuàng)建挑戰(zhàn)
一旦創(chuàng)建了一個CTF,就可以開始創(chuàng)建挑戰(zhàn)。挑戰(zhàn)是參與者必須解決的問題或難題,以獲得積分??梢詣?chuàng)建各種挑戰(zhàn),如:密碼學(xué)、逆向工程、網(wǎng)絡(luò)開發(fā)、法醫(yī)學(xué)等。
2.2.4 管理團(tuán)隊和參與者
在CTFd中,參與者可以創(chuàng)建團(tuán)隊來合作和解決挑戰(zhàn)。管理員可以管理團(tuán)隊和參與者,創(chuàng)建新團(tuán)隊,并邀請參與者加入CTF。
2.2.5 運行CTF
一旦設(shè)置了CTF并創(chuàng)建了挑戰(zhàn),可以在指定的開始時間啟動CTF。參與者可以通過網(wǎng)絡(luò)界面訪問CTF并開始解決挑戰(zhàn)。
2.2.6 評估結(jié)果
在CTF期間,可以監(jiān)控參與者的進(jìn)度和分?jǐn)?shù)。CTF結(jié)束后,可以評估結(jié)果并宣布獲勝者。
3.1.1 準(zhǔn)備Docker
安裝系統(tǒng)工具并設(shè)置yum源,具體命令如下:
yum install-y yum-utils device-mapper-persistent-data lvm2
yum-config-manager--add-repo
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
之后,安裝Docker,并啟動Docker:
yum install docker-ce
systemctl start docker
3.1.2 準(zhǔn)備docker-compose
安裝docker-compose并將docker-compose-Linux-x86_64上傳到/usr/local/bin/目錄下 并更名為docker-compose,設(shè)置docker-compose執(zhí)行權(quán)限:
chmod +x/usr/local/bin/docker-compose
3.1.3 準(zhǔn)備Nginx
安裝Nginx,并啟動Nginx[1]:
yum install nginx
nginx-c/etc/nginx/nginx.conf
3.2.1 Docker集群設(shè)置
初始化docker swarm init,將初始化的集群加入節(jié)點中:
docker node update--label-add='name=linux-1' $(docker node ls-q)
將ctfd-whale插件放到CTFd的插件下面,在目錄ctfd下。
3.2.2 啟動Docker版本的frps及frps配置
在ctfd的目錄下進(jìn)入該目錄。
cd frp-docker-for-ctfd-whale/
進(jìn)入目錄,啟動Docker,初次下載界面可能不一樣,是因為會去拉下載內(nèi)容,但不影響。
3.2.3 啟動容器
在ctfd/CTFd目錄下執(zhí)行,具體如下:
docker-compose build
docker-compose up-d
此時,docker ps命令可看到ctfd-frpc-1容器未上線,接著用docker network inspect ctfd_frp查看,發(fā)現(xiàn)只有ctfd-ctfd-1容器在ctfd_frp網(wǎng)絡(luò)里,現(xiàn)在要把ctfd_frpc_1和frp-docker-for-ctfd-whale-frps-1容器加入網(wǎng)絡(luò)。
docker network connect--ip 172.1.0.3 ctfd_frp ctfd_frpc_1
docker network connect--ip 172.1.0.4 ctfd_frp frp-docker-for-ctfd-whale-frps-1
之后需要重啟容器,具體命令如下:
docker restart ctfd_frpc_1 frp-docker-for-ctfd-whale-frps-1
重啟后接著用Docker network inspect ctfd_frp再次查看,此時3個容器都在ctfd_frp網(wǎng)絡(luò)內(nèi),再用docker ps查看容器狀況,各個容器都正常運行。
啟動完畢,打開 http://ip:8000 安裝 CTFd。
進(jìn)入系統(tǒng)后臺設(shè)置,打開插件設(shè)置頁面[2]。
3.2.4 啟動題目鏡像
添加第一題,添加題目注意事項:
(1)Docker Image。寫鏡像名稱。
(2)Frp Redietct Type。寫鏡像里面的指定端口號。
初次加載會很慢,因為需要去倉庫拉代碼,可以通過docker images 看到歷史題目。第一次加載時,查看容器狀態(tài),如果啟動了,在系統(tǒng)里銷毀靶機(jī),等容器結(jié)束之后再重新啟動,如此再訪問,大部分環(huán)境都是可以的,搭建完成。
隨著全球信息化程度的不斷加深,網(wǎng)絡(luò)已經(jīng)融入有關(guān)國家安全的各個領(lǐng)域。無論是傳統(tǒng)交通生產(chǎn)領(lǐng)域的平穩(wěn)運行,還是高端金融軍工層面的持續(xù)穩(wěn)定,都離不開以網(wǎng)絡(luò)安全為基礎(chǔ)的支撐。
在數(shù)字時代,網(wǎng)絡(luò)攻擊已成為一種越來越常見的現(xiàn)象,日趨復(fù)雜和頻繁的同時也可能對個人、企業(yè)甚至政府造成重大損害,針對關(guān)鍵基礎(chǔ)設(shè)施的網(wǎng)絡(luò)攻擊也越來越多。網(wǎng)絡(luò)攻擊是黑客故意利用計算機(jī)系統(tǒng)、網(wǎng)絡(luò)或應(yīng)用程序的弱點,以獲得未經(jīng)授權(quán)的訪問或造成損害。這些攻擊的范圍從簡單的數(shù)據(jù)泄露到全面的網(wǎng)絡(luò)入侵,他們所造成的損害可能是嚴(yán)重的。
面對這些問題,開發(fā)者開發(fā)有效的網(wǎng)絡(luò)攻擊和防御平臺保護(hù)網(wǎng)絡(luò)和數(shù)據(jù)也變得越來越重要。作為信息安全專業(yè)的學(xué)習(xí)者和從業(yè)者,要嚴(yán)格遵守網(wǎng)絡(luò)安全法的規(guī)定,具備良好的法律法規(guī)意識、行業(yè)道德規(guī)范以及職業(yè)素養(yǎng),樹立正確的人生觀、價值觀、世界觀以及崇高的思想品德和高尚的愛國主義情懷[3]。
本文是基于CTFd-whale的配置,對其重要部分做了詳細(xì)敘述。CTFd的主要功能之一是能夠創(chuàng)建自定義挑戰(zhàn)。這些問題的范圍可以從需要基本密碼學(xué)技能的簡單問題到需要高級編程知識的更復(fù)雜的挑戰(zhàn),用于學(xué)生專業(yè)實踐練習(xí)以及提升學(xué)生專業(yè)技能。