У дадзеным артыкуле не разглядаецца поўная настройка DPI і ўсё разам звязанае, а навуковая каштоўнасць тэксту мінімальная. Але ў ёй апісваецца найпросты спосаб абыходу DPI, які не ўлічылі многія кампаніі.
Папярэджанне №1: дадзены артыкул нясе даследчых характар, не падахвочвае нікога штосьці прадпрымаць і выкарыстоўваць. Ідэя заснавана на асабістым досведзе, а любыя супадзенні выпадковыя.
Папярэджанне №2: у артыкуле не раскрываюцца таямніцы Атлантыды, пошуку Святога Грааля і іншыя загадкі сусвету, увесь матэрыял знаходзіцца ў вольным доступе і магчыма не раз быў апісаны на Хабры. (я не знайшоў, за спасылку буду ўдзячны)
Для тых, хто прачытаў папярэджанні пачнем.
Што такое DPI?
DPI або Deep Packet Inspection - тэхналогія назапашвання статыстычных дадзеных, праверкі і фільтрацыі сеткавых пакетаў аналізуючы не толькі загалоўкі пакетаў, але і поўнае змесціва трафіку на ўзроўнях мадэлі OSI з другога і вышэй, што дазваляе выяўляць і блакаваць вірусы, фільтраваць інфармацыю, якая не задавальняе зададзеным крытэры .
DPI, падлучаны ў правайдэрскую сетку раўналежна (не ў разрэз) альбо праз пасіўны аптычны сплітар, альбо з выкарыстаннем люстравання выходнага ад карыстачоў трафіку. Такое падлучэнне не запавольвае хуткасць працы сеткі правайдэра ў выпадку недастатковай прадукцыйнасці DPI, з-за чаго прымяняецца ў буйных правайдэраў. DPI з такім тыпам падлучэння тэхнічна можа толькі выяўляць спробу запыту забароненага кантэнту, але не спыняць яе. Каб абыйсці гэтае абмежаванне і заблакаваць доступ на забаронены сайт, DPI адпраўляе карыстачу, які запытвае заблакаваны URL, адмыслова сфармаваны HTTP-пакет з перанакіраваннем на старонку-заглушку правайдэра, нібы такі адказ даслаў сам запытаны рэсурс (падрабляецца IP-адрас адпраўніка і TCP sequence). З-за таго, што DPI фізічна размешчаны бліжэй да карыстача, чым запытаны сайт, падроблены адказ даходзіць да прылады карыстальніка хутчэй, чым сапраўдны адказ ад сайта.
Актыўны DPI
Актыўны DPI - DPI, падлучаны ў сетку правайдэра звыклай выявай, як і любая іншая сеткавая прылада. Правайдэр наладжвае маршрутызацыю так, каб DPI атрымліваў трафік ад карыстачоў да заблакаваных IP-адрасоў або даменам, а DPI ужо прымае рашэнне аб пропуску ці блакаванні трафіку. Актыўны DPI можа правяраць як выходны, так і ўваходны трафік, аднак, калі правайдэр ужывае DPI толькі для блакавання сайтаў з рэестра, часцей за ўсё яго наладжваюць на праверку толькі выходнага трафіку.
Ад тыпу падлучэння залежыць не толькі эфектыўнасць блакавання трафіку, але і нагрузка на DPI, таму існуе магчымасць не правяраць увесь трафік, а толькі вызначаны:
"Звычайны" DPI
Пад звычайным DPI разумеецца такі DPI, які фільтруе вызначаны тып трафіку толькі на самых распаўсюджаных партах для гэтага тыпу. Напрыклад, "звычайны" DPI выяўляе і блакуе забаронены HTTP-трафік толькі на порце 80, HTTPS-трафік на порце 443. Дадзены тып DPI не будзе адсочваць забаронены кантэнт, калі вы адправіце запыт з заблакаваным URL на незаблакаваны IP або нестандартны порт.
"Поўны" DPI
У адрозненне ад "звычайнага" DPI, дадзены тып DPI класіфікуе трафік па-за залежнасцю ад IP-адрасы і порта. Такім чынам, заблакаваныя сайты не будуць адкрывацца, нават калі вы выкарыстоўваеце проксі-сервер на зусім іншым порце і незаблакаваным IP-адрасе.
Выкарыстанне DPI
Каб не змяншаць хуткасць перадачы дадзеных патрабуецца выкарыстоўваць "Звычайны" пасіўны DPI, які дазваляе эфектыўна? блакаваць любыя? рэсурсы, па змаўчанні канфігурацыя выглядае так:
HTTP фільтраваць толькі на 80 порце
HTTPS толькі на 443 порце
BitTorrent толькі на 6881-6889 партах
Але праблемы пачынаюцца, калі рэсурс будзе выкарыстоўваць іншы порт, каб не губляць карыстальнікаў, тады давядзецца правяраць кожны пакет, для прыкладу можна прывесці:
HTTP працуе на 80 і 8080 порце
HTTPS на 443 і 8443 порце
BitTorrent на любым іншым дыяпазоне
З-за гэтага прыйдзецца альбо перайсці на "Актыўны" DPI, альбо выкарыстоўваць блакіраванне з дапамогай дадатковага DNS-сервера.
Блакаванне з дапамогай DNS
Адным са спосабаў заблакаваць доступ да рэсурсу з'яўляецца перахоп DNS-запыту з дапамогай лакальнага DNS-сервера і вяртанне карыстачу IP-адрасы "заглушкі", а не патрабаванага рэсурсу. Але гэта не дае гарантаваны вынік, бо існуе магчымасць прадухіліць падмену адраса:
Варыянт 1: Рэдагаванне файла hosts (для дэсктопа)
Файл hosts з'яўляецца неад'емнай часткай любой аперацыйнай сістэмы, што дазваляе заўседы выкарыстоўваць яго. Для доступу да рэсурсу карыстальніку трэба:
Даведацца IP-адрас патрэбнага рэсурсу
Адкрыць на рэдагаванне файл hosts (патрабуюцца правы адміністратара), размешчаны ў:
Linux: /etc/hosts
Windows: %WinDir%System32driversetchosts
Дадаць радок у фармаце: <імя рэсурсу>
захаваць змены
Перавага дадзенага метаду - яго складанасць і патрабаванні наяўнасць правоў адміністратара.
Варыянт 2: DoH (DNS over HTTPS) ці DoT (DNS over TLS)
Дадзеныя метады дазваляюць абараніць ад падмены DNS-запыт з дапамогай шыфравання, але рэалізацыя падтрымліваецца не ўсімі праграмамі. Разгледзім прастату налады DoH для Mozilla Firefox версіі 66 з боку карыстача:
Хоць дадзены спосаб больш складаны, ён не патрабуе наяўнасці мае рацыю адміністратара ў карыстача, а таксама існуе мноства іншых спосабаў абароны DNS-запыту, не апісаных у дадзеным артыкуле.
Варыянт 3 (для мабільны прылад):
Выкарыстанне прыкладання ад Cloudflare для Android и IOS.
Тэставанне
Для праверкі адсутнасці доступу да рэсурсаў быў часова выкуплены дамен, заблакаваны на тэрыторыі РФ:
Спадзяюся, дадзены артыкул будзе карысны і падштурхне не толькі адміністратараў больш падрабязна разбірацца ў тэме, але і дасць разуменне, што рэсурсы заўсёды будуць на баку карыстальніка, а пошук новых рашэнняў павінен быць для іх неад'емнай часткай.
Дадатак па-за артыкуламТэст на Cloudflare немагчыма прайсці ў сетцы аператара Tele2, а правільна наладжаны DPI блакуе доступ да тэставай пляцоўкі.
PS Пакуль гэта першы правайдэр, які правільна блакуе рэсурсы.