Dante SOCKS fuq loopback għal servizz HTTPS biss permezz ta' WireGuard
Rabt listener SOCKS dedikat ma' loopback u ippermetti destinazzjoni waħda TCP. Żomm is-sors tal-ħruġ ta' Dante, ir-rotta tal-kernel, id-DNS u l-politika tat-telf tal-mina separati.
Dan il-gwida jagħti lil applikazzjoni li tifhem il-proxy aċċess għal mogħdija WireGuard eżistenti mingħajr ma jippubblika port proxy fuq is-server VPN jew fuq l-internet. Id-daemon SOCKS jipprovdi l-interface tal-applikazzjoni, WireGuard jipprovdi l-mogħdija IP diġà approvata, u l-ebda waħda minnhom ma tawtentika lill-utent għalik. Kull pass hawn taħt jipproduċi xi ħaġa li tista' tispezzjona, u kull wieħed għandu rollback: waqqaf l-istanza, neħħi r-regola jew neħħi s-setting tal-proxy tal-applikazzjoni. Xejn hawn ma jbiddel ir-rotta default tal-host.
L-eżempju jassumi li Dante 1.4.x huwa installat bħala istanza dedikata u ġestita fuq workstation Linux ta' fiduċja, bil-kont tas-servizz u l-konfigurazzjoni tal-logging ipprovduti mill-pakkett jinżammu f'posthom. Il-workstation għandha 10.77.0.2 fuq l-interface WireGuard tagħha, tilħaq 10.60.0.20:443 permezz ta' dik il-mina, u l-isem proprju tas-servizz huwa app.corp.example.
Pass 1: rabt il-listener ma' loopback biss
Poġġi s-sezzjonijiet tan-netwerk, metodu u regoli fil-konfigurazzjoni attiva tal-istanza, billi tissostitwixxi l-indirizzi tal-eżempju. Is-settings kollha tas-server jiġu qabel il-blokki tar-regoli:
internal: 127.0.0.1 port = 1080
external: 10.77.0.2
external.protocol: ipv4
clientmethod: none
socksmethod: none
client pass {
from: 127.0.0.1/32 to: 127.0.0.1/32
}
socks pass {
from: 127.0.0.1/32 to: 10.60.0.20/32 port = 443
command: connect
protocol: tcp
}Dan huwa framment, mhux sostitut għas-settings tal-utent u tal-logging tal-pakkett. Agħżel port lokali mhux użat u kkonferma li din l-istanza dedikata m'għandhiex listeners oħra, regoli ta' pass aħjar u lanqas entrati tal-katina upstream li jbiddlu l-kuntratt. Jekk konfigurazzjoni preċedenti ħalliet socks pass mingħajr restrizzjoni tad-destinazzjoni, neħħiha qabel ma tittestja xejn.
Ir-rollback għal dan il-pass huwa li twaqqaf l-istanza; il-fajl tal-konfigurazzjoni jista' jibqa' fuq id-diska waqt li treġġgħu lura.
Pass 2: ikteb żewġ regoli, mhux waħda
Ir-referenza tal-konfigurazzjoni ta' Dante tagħti lill-żewġ tipi ta' regola xogħlijiet differenti. Ir-regola tal-klijent tammetti konnessjoni mal-listener loopback, u d-destinazzjoni tagħha hija l-indirizz tal-listener innifsu. Ir-regola SOCKS tippermetti l-konnessjoni sussegwenti mitluba lejn il-host u l-port approvati. Talbiet li ma jaqblux jiġu blokkati b'mod default, u għalhekk regola nieqsa tidher identika għal rotta miksura.
Innota x'ma tagħmilx dan il-konfigurazzjoni deliberatament: ma titlob l-ebda password SOCKS. Dan jaqbel ma' host lokali ta' fiduċja, u mhuwiex awtentikazzjoni tal-utent. Kwalunkwe proċess ieħor fuq dik il-magna jista' juża loopback ukoll. Żomm l-awtentikazzjoni proprja tal-applikazzjoni remota, u terġax tuża din il-forma mingħajr awtentikazzjoni għal utenti lokali mhux affidabbli jew listener li jħares lejn il-LAN.
Pass 3: ivverifika r-rotta mis-sors it-tajjeb
external jagħżel indirizz tas-sors tal-ħruġ; ma jinstallax rotta WireGuard. Tfittxija biss-qari għas-sors u d-destinazzjoni tal-eżempju:
ip -4 route get 10.60.0.20 from 10.77.0.2Mexxi dan fin-namespace tan-netwerk reali ta' Dante, mhux fi kwalunkwe shell li jkun miftuħ għandek. Ir-rotta, l-għażla tal-peer WireGuard, il-permess fuq in-naħa remota u l-mogħdija lura kollha jridu jaqblu ma' dak l-indirizz tas-sors. Tfittxija b'suċċess hija meħtieġa u mhix biżżejjed, għax ma tgħid xejn dwar jekk it-tarf imbiegħed jaċċettax it-talba.
Irreżisti t-tentazzjoni li żżid rotta default biex it-tfittxija tirnexxi. Il-port tal-proxy jeżisti biss fuq din il-workstation; li tbiddel ir-rotta default tal-host biex toħloqha taqleb id-disinn kollu.
Pass 4: ittestja bl-identità maħsuba
Wara li s-sid jivvalida l-konfigurazzjoni installata u jibda l-istanza permezz tal-maniġer tas-servizzi tiegħu, talba illustrattiva hija:
curl --proxy socks5h://127.0.0.1:1080 --noproxy '' https://app.corp.example/B' socks5h, Dante jagħmel ir-riżoluzzjoni tad-destinazzjoni, iżda Dante jaħdem fuq din il-workstation, għalhekk is-setting ma tibgħatx id-DNS lill-tarf imbiegħed tal-mina waħedha. Ir-resolver approvat li juża Dante jrid jirritorna l-indirizz permess għal dak l-isem. Il-lista vojta mingħajr proxy tipprevjeni eċċezzjoni eredità milli taqbeż SOCKS bil-moħbi.
Żomm il-validazzjoni tal-isem tal-host u taċ-ċertifikat HTTPS fit-test, imbagħad spezzjona l-listener attwali u kkonferma ż-żewġ nofsijiet tal-kuntratt: it-talba permessa tirnexxi u destinazzjoni eskluża tfalli. Ivverifika wkoll li l-kmandi tal-ibbundjar mhux appoġġjati jibqgħu miċħuda, għax dan il-framment jippermetti l-kmand SOCKS CONNECT fuq TCP u xejn li jixbah mina UDP ġenerali jew tal-apparat kollu.
Pass 5: iddeċiedi x'jiġri meta taqa' l-mina
Ittestja t-telf tal-mina u r-restart tal-istanza qabel ma ssejjaħ dan produzzjoni. Supervisor li jibda Dante wara WireGuard ma joħloqx routing fail-closed, u lanqas ma joħloq DNS fail-closed; it-tnejn iridu jiġu infurzati permezz tas-sid tan-netwerk. Osserva x'jagħmel l-applikazzjoni meta l-mina tkun neżlin: żball nadif huwa riżultat tajjeb, waqgħa siekta lejn resolver pubbliku mhijiex.
Ikkordina l-aġġornamenti jekk l-indirizz tal-mina marbut jinbidel, għax external hija mwaħħla miegħu. Meta l-arranġament ma jkunx għadu meħtieġ, irtira din l-istanza u s-setting tal-proxy tal-applikazzjoni flimkien, u ħalli l-mogħdija WireGuard lil min għandha.