Linux'тогу Transmission: чыгуу трафигин процесстин ээси боюнча чектөө
Пир порту — бүткүл окуя эмес. Firewall эрежесин кардардын эсебине байлаңыз, эки даректин үй-бүлөсүн тең камтыңыз жана туннель өчкөндө сынап көрүңүз.
Transmission'дын кирүү портун блоктоо VPN саясаты эмес. Торрент кардары пирлерге жана трекерлерге чыгуу байланыштарын ачат, аттарды чечет жана алыскы башкаруу үчүн угуучуну кармай алат, жана бул агымдардын ар бири сиз пландабаган интерфейстен чыгышы мүмкүн. Беш текшерүүнү ирети менен өтүп, чек катары кардардын жөндөөлөрүн эмес, firewall эрежесин алыңыз. Акыркы эки текшерүү адатта өткөрүп жиберилет жана туннель кулаганда кепилдик сакталабы, аны дал ошолор чечет.
Өткөрүүгө ээ процессти атаңыз
Иш такта колдонмосу жана системалык демон ар башка эсептерде иштейт, ал эми ээси боюнча эреже программанын атына эмес, эсепке жүрөт. Эреже жазбастан мурун алардын кайсынысы иштеп жатканын аныктаңыз. Өзүнчө кызмат эсеби саясатка так субъект берет, ал эми иш такта колдонуучусу өз инсандыгын браузерлер, редакторлор жана сессиядагы башка нерселер менен бөлүшөт. UID'ни тастыктаңыз, пакеттеги эсеп аты колдонулган ат деп божомолдобоңуз.
systemctl status transmission-daemon
ps -o user=,pid=,cmd= -C transmission-daemon
Эсеп али жок болсо, аны ушул максат үчүн түзүп, ага башка эч нерсе жүктөбөңүз. Эсепти жана UID'ни эреженин түшүндүрмөсүнө жазыңыз, анткени субъектисиз эреже — эч ким коопсуз оңдой албаган эреже.
Угуу талааларын маршруттан бөлүңүз
Transmission 4.x пирлердин угуу даректерин rpc-bind-address жөндөөсүнөн өзүнчө документтештирет, жана бул айырма маанилүү. RPC жөндөөсү алыскы башкаруу угуучусун гана башкарат, ошондуктан аны өзгөртүү пир трафиги үчүн маршрут тандабайт. Эки жөндөөнү бир деп окуу — тышкы көрүнүшү тыкан конфигурациянын дагы эле агып жатканынын эң көп кездешүүчү себеби. Ошол эле документ пирдин угуу дареги жараксыз болгондогу кошумча жолду сүрөттөйт, башкача айтканда жеткиликсиз дарек — документтелген кошумча учур, кепилденген баш тартуу эмес.
grep -E '"(peer-port|rpc-bind-address|bind-address-ipv4)"' /var/lib/transmission-daemon/.config/transmission-daemon/settings.json
Кардардын башкаруу каражаттарын өз максатында колдонуңуз, ал эми кепилдикти firewall'га коюңуз. Угуу жөндөөсү дагы эле пайдалуу болушу мүмкүн, бирок ал трекерлер менен байланыштын, жергиликтүү аныктоонун же ыйгарым укуктуу издөөнүн баары туннелден чыгарын далилдебейт. Экөө кайчы келсе, firewall чечет.
Ээси боюнча дал келүүнү туура чынжырга жазыңыз
Netfilter'дин ээси боюнча дал келүү жөнүндөгү колдонмосу жергиликтүү түзүлгөн пакеттердин сокет файлына ээ колдонуучуга же топко кантип таандык кылынарын түшүндүрөт. Бул таандык кылуу кайра багытталган трафикке таралбайт, ал эми кошумча топторду дал келтирүү так опцияны талап кылат. Чынында колдонуп жаткан кеңейтүүнүн колдонмосун окуңуз, тапкан биринчи мисалды эмес.
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
Ирет дал келүүдөн кем эмес маанилүү. Чынжырдын жогору жагындагы кенен уруксат төмөнкү так баш тартууну жокко чыгарат, ошондуктан эреже кошуп үмүт кылгандын ордуна бүткүл чынжырды карап чыгыңыз. Хост IPv6 иштетсе, эки даректин үй-бүлөсүн тең кошуңуз, анткени v4 гана саясаты эч ким көзөмөлдөбөгөн жолду ачык калтырат. Эрежелерди кардар менен туннелдин кайра иштетилишинде да орнотулган бойдон кармаңыз.
tun0 жоголгондо эмне болорун чечиңиз
Бузулуу саясаты — көнүгүүнүн өзөгү. Туннель жоголуп, ошол эле илмек эрежелерди алып салса, кардар аны башка нерсе токтотмойунча физикалык интерфейсти колдонууга эркин. Коопсуз дизайн эрежелерди сактап, алардын баш тартуусуна жол берет, чекти туннелдин ден соолугунан көз карандысыз кылган да ушул. Эрежелерди да жок кылган демонтаждоо илмеги бузулуу саясатынын так тескериси.
ip link show tun0
iptables -S OUTPUT
Аны атайын сынап көрүңүз: туннелди токтотуңуз, таштоого коопсуз өткөрүүнү баштаңыз жана бир нерсе чыгып жатканын байкаңыз. Анан туннелди кайтарып, болжолдонгон жолдун кайра иштешин тастыктаңыз.
Эреже көрбөгөн жолдорду камтыңыз
Аттарды чечүүнү өзүнчө чечүүчү процесс аткарышы мүмкүн, ал эми ат мейкиндиги же атайын шлюз, эгер алардын бөлүшүү жана жүктөө жолдору ошого арналган болсо, дагы бир чек бере алат. DNS'ке кайсы компонент ээ жана ал ошол эле чыгуу эрежесин аткарабы, аны чечиңиз. Анан RPC'ге караңыз: эгер rpc-whitelist колдонулса, бекитилген башкаруу тармагы келишимдин бөлүгү, ал эми кенен RFC1918 диапазону андай эмес.
ss -tunp | grep -i transmission
Интерфейс эсептегичтери байкоону тастыктай алат, бирок байттарды кайсы процесс жаратканын далилдей албайт. Таштоого уруксат берилген өткөрүү жасаңыз: адегенде иштеп жаткан жол менен, анан иштетилгенде туннелсиз, андан кийин үзүлүү, кайра туташуу жана жаңы түзүлгөн интерфейс аркылуу. Жаңы аракетти да, мурун ачык болгон байланышты да сынаңыз, анткени эреже эски сокетке колдонулбаган болушу мүмкүн. Күндү, эсепти жана жыйынтыкты сыноо менен бирге жазып алыңыз.
Бүткүл чынжырды тазалаган мисалды коюу бир тешикти бир нече тешикке алмаштырат, ошондуктан эрежелерди жок кылуунун ордуна кошуңуз. Беш текшерүүнүн баары өткөндө кепилдик айкын: кардардын трафиги туннелден чыгат же такыр чыкпайт, жана аны милдеттендирген эреже туннелдин өз бузулушун да башынан өткөрөт.