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.2

Mexxi 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.

Artikli relatati