Transmission Linuxis: sunni väljuv liiklus protsessi omaniku järgi
Võrdlusalune port ei ole kogu lugu. Siduge tulemüüri reegel kliendi kontoga, katke mõlemad aadressiperekonnad ja testige tunneliga maas.
Transmissioni sissetuleva pordi blokeerimine ei ole VPN-poliitika. Torrenti klient avab väljuvaid ühendusi võrdsete ja jälgijatega, lahendab nimesid ja võib hoida kaugjuhtimise kuulajat, ja igaüks neist võib väljuda liidesest, mida te ei kavatsenud. Käige viis kontrolli järjest läbi ja pidage piiriks tulemüüri reeglit, mitte kliendi seadeid. Kaks viimast kontrolli jäetakse tavaliselt vahele ja just need otsustavad, kas garantii peab tunnelilangemisel.
Nimetage protsess, millele ülekanne kuulub
Töölauarakendus ja süsteemi deemon töötavad erinevates kontodes ning omanikupõhine reegel järgib kontot, mitte programmi nime. Selgitage välja, kumb töötab, enne kui reegli kirjutate. Eraldi teenusekonto annab poliitikale täpse subjekti, samas kui töölauakasutaja jagab oma identiteeti brauserite, redaktorite ja kõige muu sessioonis olevaga. Kinnitage UID, selle asemel et eeldada, et paketi konto nimi on kasutatav.
systemctl status transmission-daemon
ps -o user=,pid=,cmd= -C transmission-daemon
Kui kontot veel ei ole, looge see selleks otstarbeks ja ärge andke sellele midagi muud käivitada. Kirjutage konto ja UID reegli kommentaari, sest subjektita reegel on reegel, mida keegi ei saa turvaliselt muuta.
Eraldage kuulamisväljad marsruudist
Transmission 4.x dokumenteerib võrdsete kuulamisadressid eraldi rpc-bind-address seadest, ja see erinevus on oluline. RPC säte juhib ainult kaugjuhtimise kuulajat, seega selle muutmine ei vali võrdsete liiklusele marsruuti. Nende kahe sätte lugemine ühena on kõige tavalisem põhjus, miks hoolikalta näiv konfiguratsioon ikka lekitab. Sama dokumentatsioon kirjeldab varuvõimalust, kui võrdse kuulamisadress on kehtetu, st kättesaamatu aadress on dokumenteeritud varujuhtum, mitte tagatud keeldumine.
grep -E '"(peer-port|rpc-bind-address|bind-address-ipv4)"' /var/lib/transmission-daemon/.config/transmission-daemon/settings.json
Kasutage kliendi juhtnuppe selleks, milleks need on, ja pange garantii tulemüüri. Kuulmissäte võib ikka kasulik olla, kuid see ei tõesta, et jälgijatega kontakt, kohalik avastamine või delegeeritud otsing kõik tunnelist väljuvad. Kui need kaks on vastuolus, otsustab tulemüür.
Kirjutage omaniku vastavus õigesse ahelasse
Netfilteri omaniku vastavuse käsiraamat selgitab, kuidas kohalikult loodud paketid omistatakse socket-faili omavale kasutajale või rühmale. See omistamine ei laiene edastatavale liiklusele ja lisarühmade vastavus nõuab selgesõnalist valikut. Lugege selle laienduse käsiraamatut, mida te tegelikult kasutate, mitte esimest leitud näidet.
iptables -A OUTPUT -m owner --uid-owner transmission -o tun0 -j ACCEPT
iptables -A OUTPUT -m owner --uid-owner transmission -j REJECT
ip6tables -A OUTPUT -m owner --uid-owner transmission -o tun0 -j ACCEPT
ip6tables -A OUTPUT -m owner --uid-owner transmission -j REJECT
Järjekord on sama oluline kui vastavus. Lai luba ahela alguses tühistab täpse keelu hiljem, seega vaadake kogu ahel üle, selle asemel et reegel lisada ja loota. Kaasake mõlemad aadressiperekonnad, kui host käitab IPv6-t, sest ainult v4 poliitika jätab avatuks tee, mida keegi ei jälgi. Hoidke reeglid paigaldatud nii kliendi kui ka tunneli taaskäivituste ajal.
Otsustage, mis juhtub, kui tun0 kaob
Rikke poliitika on harjutuse tuum. Kui tunnel kaob ja sama konks eemaldab reeglid, on kliendil vaba voli kasutada füüsilist liidest, kuni miski muu selle peatab. Turvaline disain hoiab reeglid alles ja laseb neil keelduda, ja just see teeb piiri sõltumatuks tunneli tervisest. Konks, mis ühtlasi reeglid kustutab, on rikkepoliitika täpne vastand.
ip link show tun0
iptables -S OUTPUT
Testige seda meelega: peatage tunnel, käivitage ülekanne, mille võib ohutult hüljata, ja vaadake, kas midagi väljub. Seejärel tooge tunnel tagasi ja kinnitage, et kavandatud tee töötab jälle.
Katke teed, mida reegel ei näe
Nimede lahendamist võib teha eraldi lahendaja protsess, ning nimeruum või eraldatud lüüs võivad anda teise piiri, kui nende jagamis- ja käivitusteed on selleks projekteeritud. Otsustage, milline komponent omab DNS-i ja kas see järgib sama väljumisreeglit. Seejärel vaadake RPC-d: kui rpc-whitelist on kasutusel, on heakskiidetud haldusvõrk lepingu osa, lai RFC1918 vahemik aga mitte.
ss -tunp | grep -i transmission
Liidese loendurid võivad vaatlust toetada, kuid ei suuda tõestada, milline protsess baiidid tekitas. Tehke ülekanne, mille tohite hüljata: kõigepealt töötaval teel, seejärel tunnelita käivitamisel, siis katkestuse, uuestiühendamise ja vastloodud liidese kaudu. Testige nii uut katset kui ka juba avatud ühendust, sest reegel ei pruugi olla vanemale socketile rakendunud. Märkige üles kuupäev, konto ja tulemus koos testiga.
Kogu ahela tühjendava näite kleepimine vahetab ühe augu mitme vastu, seega lisage reegleid, mitte ärge kustutage neid. Kui kõik viis kontrolli läbivad, on garantii selge: kliendi liiklus väljub tunnelist või üldse mitte, ja reegel, mis seda sunnib, peab vastu tunneli enda rikkele.