Esitatud on projekti Mitmproxy 11 väljaanne, mis arendab tööriistu HTTPS-i kaudu edastatava liikluse pealtkuulamiseks, omades võimalusi liikluse inspekteerimiseks, modifitseerimiseks ja taasesitamiseks. Mitmproxy peamine eesmärk on korraldada liikluse jälgimist ettevõtte süsteemides ja diagnoosida probleeme, näiteks rakenduste varjatud võrguaktiivsuse tuvastamine. Projekti allikakood on kirjutatud Pythonis ja seda levitatakse MIT litsentsi alusel.
HTTPS-liikluse analüüsiks paigaldatakse Mitmproxy ülemisse sõlme, mis pealtkuulab kliendi päringuid ja edastab need oma poolt suunatud päringuteks sihtpunktile. serveri. Koostöös kliendiseansi ajal päringu esitanud serveriga loob Mitmproxy tavalise HTTPS-ühenduse ning kliendi ja sihtserveri nimel luuakse valeühendus vale SSL-sertifikaadiga, mis genereeritakse kliendi jaoks kohapeal. Kliendilt saadud liiklus suunatakse sihtserverisse, ja vastused edastatakse tagasi kliendile.

Liikluse suunamiseks läbi mitmproxy toetatakse mitmeid meetodeid, näiteks mitmproxy aadressi määramine HTTP-proksi seadetes, töö SOCKS5-proksina, kasutamine tagamise proksina HTTP-serveri ees ning läbipaistva edastamise korraldamine pakettfiltrireeglite või suunamise ümbersuunamise abil. Selleks, et kliendiga ühenduse loomiseks kasutatav vale sertifikaat ei tekitaks brauseris turvaülesannete hoiatuste väljundit, soovitatakse kasutaja süsteemi installida mitmproxy juuresertifikaat, mida saab teha nii käsitsi kui ka avades brauseris spetsiaalse hosti mitm.it.

Mitmproxy toetab HTTP/2, HTTP/3, Websockets, pakettide järjekorra normaliseerimist voo sees, skriptide töötlejate ühendamist liikluse kohapeal modifitseerimiseks, päringute salvestamist edasiseks taasesitamiseks ning genereerimist TLS-sertifikaatide püütud seanssi jaoks, päises olevate muudetud aegade puhastamine kliendi poolel vahemälu keelamiseks, tagasipöördumise proksirežiim (Reverse proxy) liikluse suunamiseks serverisse, blokeerimisloendid teatud päringute filtreerimiseks, valikuline päringute suunamine (sealhulgas kohalike failide vastuseks saatmine), sisu ja päiste muutmine regulaaravaldiste põhjal. Liikluse analüüsimiseks on saadaval tcpdump'i sarnane käsurea utiliit mitmdump ja veebiliides mitmweb.


Uue versiooni peamine täiustus on protokolli HTTP/3 täielik tugi, kus kasutatakse QUIC (Quick UDP Internet Connections) transporti HTTP/2 jaoks (QUIC on UDP-protokolli peal, toetab mitme ühenduse multiplexerimist ja pakub krüpteerimise meetodeid, mis vastavad TLS/SSL-ile). Mitmproxy jaoks saab kasutada nii läbipaistvat liikluse püüdmise režiimi kui ka tagasipöördumise proksi režiimi. HTTP/3 püüdmise testimine on tehtud Firefoxis, Chrome'is ja erinevates cURL'i versioonides.
Uue versiooni muud olulised muudatused on seotud DNS toe parendamisega HTTPS ja ECH (Encrypted Client Hello) kontekstis. Uues versioonis on lisatud toetus DNS-kirjade pärimiseks, mis ei ole A/AAAA (näiteks ECH info avatud krüpteerimisvõtme kohta edastatakse HTTPSSVC DNS-kirjadesse). Lisatud on ECH võtmete puhastamise režiim HTTPS-kirjadest DNS-is. DNS-i toimimiseks on lähenetud Rust'i keeles kirjutatud ja Let’s Encrypt projekti poolt arendatud Hickory-teegile. Lisatud on tugi DNS-over-TCP-ile. Rakendatud on valik seadete töötlemise keelamiseks /etc/hosts.
Allikas: opennet.ru
