因公司業(yè)務(wù)需要有一個(gè)固定的IP作為統(tǒng)一的流量轉(zhuǎn)發(fā),但公司沒(méi)有固定IP,于是本人在公網(wǎng)上搭建了一個(gè)代理服務(wù)器,用作公司內(nèi)部服務(wù)器流量統(tǒng)一轉(zhuǎn)發(fā),但使用過(guò)程又遇到了問(wèn)題:若使無(wú)認(rèn)證代理,會(huì)被惡意利用,影響使用;若使用有認(rèn)證的代理,先公司用的部分工具又不支持認(rèn)證代理。為了解決該問(wèn)題,提出了“內(nèi)網(wǎng)代理(無(wú)認(rèn)證代理節(jié)點(diǎn))+公網(wǎng)代理(有認(rèn)證代理節(jié)點(diǎn))”二級(jí)代理模式解決方案。
(相關(guān)資料圖)
Burpsuite:作為內(nèi)網(wǎng)代理節(jié)點(diǎn),nps:作為公網(wǎng)代理節(jié)點(diǎn)。?
1、nps搭建?
購(gòu)買(mǎi)一臺(tái)云服務(wù)器,作為公網(wǎng)服務(wù)器,搭建nps。本次部署的環(huán)境:IP:11x.xxx.xxx.x58,ubuntu20.04。?
(1)nps簡(jiǎn)介?
nps是一款輕量級(jí)、高性能、功能強(qiáng)大的內(nèi)網(wǎng)穿透代理服務(wù)器。目前支持tcp、udp流量轉(zhuǎn)發(fā),可支持任何tcp、udp上層協(xié)議(訪問(wèn)內(nèi)網(wǎng)網(wǎng)站、本地支付接口調(diào)試、ssh訪問(wèn)、遠(yuǎn)程桌面,內(nèi)網(wǎng)dns解析等等……),此外還支持內(nèi)網(wǎng)http代理、內(nèi)網(wǎng)socks5代理、p2p等,并帶有功能強(qiáng)大的web管理端。?
項(xiàng)目地址:??https://github.com/ehang-io/nps???
(2)下載nps服務(wù)端?
#wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz?
下載完成?
(3)nps服務(wù)端安裝?
解壓到nps目錄:?
# mkdir nps && tar -xvf linux_amd64_server.tar.gz -C /root/nps?
nps服務(wù)端安裝?
#cd nps && ./nps install?
(4)nps服務(wù)端配置?
安裝后的nps配置文件在/etc/nps/conf目錄?
# vi /etc/nps/conf/nps.conf?
配置完成后,運(yùn)行nps服務(wù)端?
# nps start?
瀏覽器訪問(wèn):http://11x.xxx.xxx.x58:xx80?
(5)nps web管理配置?
新建客戶端(代理客戶端):客戶端->新增?
填寫(xiě)B(tài)asic 認(rèn)證用戶名、密碼等內(nèi)容,?
最后點(diǎn)擊“新增”?
配置socks5代理:socks代理->新增?
填寫(xiě)客戶端id和服務(wù)端口,客戶端為id為新建的代理客戶端id(即2)?
最后點(diǎn)擊“新增”?
(5)npc客戶端下載?
下載nps客戶端?
#wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_client.tar.gz?
解壓?
#mkdir npc && tar -xvf linux_amd64_client.tar.gz -C /root/npc?
(6)運(yùn)行npc客戶端?
查看客戶端唯一驗(yàn)證密鑰?
運(yùn)行npc?
#cd npc && ./npc -server=11x.xxx.xxx.x58:xx24 -vkey=mmsarsnnuftecg59 -type=tcp?
(7)測(cè)試?
(5)安全組/防火墻配置?
在云管理平臺(tái)上配置安全組/防火墻,放開(kāi):橋接端口(如:8024)、代理端口(如:8088)等等。具體根據(jù)需求而定,但web管理端口不建議放開(kāi)。?
2、Burpsuite配置?
(1)Burpsuite本地代理?
跟平時(shí)設(shè)置 Burpsuite 代理是一樣的:打開(kāi)ptions->Proxy Listeners,設(shè)置為:127.0.0.1:8080?
(2)設(shè)置上級(jí)代理?
打開(kāi)Burpsuite->User options->Connections->SOCKS Proxy -> Add?
配置如下:?
(3)測(cè)試?
1、gost簡(jiǎn)介?
gost是一款由go語(yǔ)言實(shí)現(xiàn)的輕量安全隧道,全稱Go simple tunnel。功能較為豐富,支持組建代理鏈路。?
項(xiàng)目地址:??https://github.com/ginuerzh/gost???
2、一級(jí)代理節(jié)點(diǎn)(公網(wǎng)代理節(jié)點(diǎn))?
下載gost:?
#wget https://github.com/ginuerzh/gost/releases/download/v2.11.5/gost-linux-amd64-2.11.5.gz?
解壓:?
gzip -dk gost-linux-amd64-2.11.5.gz?
重命名和賦權(quán)?
mv gost-linux-amd64-2.11.5 gost && chmod +x gost?
運(yùn)行:?
#./gost -L=admin:123456@:6088?
3、二級(jí)代理節(jié)點(diǎn)(內(nèi)網(wǎng)代理節(jié)點(diǎn))?
同樣的方式在二級(jí)節(jié)點(diǎn)服務(wù)器上部署gost。?
運(yùn)行:?
#./gost -L=:6088 -F=socks://admin:123456@11x.xxx.xxx.x58:xx88 ?
4、測(cè)試?