Нехта просіць сэрвіс, да якога могуць дабрацца толькі карыстальнікі VPN, і відавочная рэалізацыя — дазволіць спіс адрасоў выхаду. Спіс робіць нешта рэальнае: ён абмяжоўвае, хто можа падключыцца. Ён не даказвае, што выкарыстоўваўся тунель, бо адрас належыць таму, хто кіруе выхадам, і гэты аператар можа перадаць трафік каго заўгодна. Розніца паміж гэтымі сцвярджэннямі — уся праблема дызайну.

Сервер бачыць адзін адрас на кожнае злучэнне

Злучэнне прыходзіць з адрасам крыніцы і портам прызначэння, і гэта ўсё, што паведамляе сеткавы ўзровень. Калі кліент выкарыстоўвае тунель, пакеты, што даходзяць да вашага слухача, ідуць з выхаду або з пераўтварэння перад ім. Уласны адрас кліента, звычайна прыватны, ніколі не з’яўляецца. Таму правіла міжсеткавага экрана, напісанае для дыяпазону лакальнай сеткі кліента, не робіць нічога.

Усё пасля гэтага адраса крыніцы — даныя праграмы, і праграма можа давяраць ім толькі настолькі, наколькі яна іх аўтэнтыфікуе.

Праверце, як выглядае ваш выхад

Паглядзіце на шлях з абодвух бакоў, перш чым пісаць правіла. Погляд кліента на свой выхад і погляд сервера на злучэнне — гэта два факты, якія маюць значэнне.

curl -sS https://api.ipify.org; echo
ss -tn state established '( sport = :443 )' | head

Першая каманда паведамляе публічны адрас, пад якім выглядае кліент, і гэта значэнне павінен змяшчаць любы белы спіс. Другая паказвае ўсталяваныя злучэнні на серверы з адрасамі іх суразмоўцаў, і менавіта з гэтым правіла будзе супастаўляцца. Калі дзве рэчы не супадаюць з вашай разумовай мадэллю, выпраўце мадэль, перш чым рэдагаваць палітыку. Міжсеткавы экран хмарнай базы даных, белы спіс праграмы і балансіроўшчык нагрузкі могуць бачыць розны ўзровень пераўтварэння.

Можна пералічыць толькі адзін з двух набораў выхадаў

Адзін выпадак можна праверыць у момант запыту, а другі — не, і гэта дае зусім розныя гарантыі.

curl -sS https://check.torproject.org/torbulkexitlist | wc -l

Апублікаваны спіс выхадаў Tor можна атрымаць і параўнаць, з улікам узросту спіса і ўласнай палітыкі кожнага выхаду, таму правіла адмовы для вядомых выхадаў можна выконваць і правяраць. Эквівалентнага рэестра для камерцыйных VPN няма. Адрасы змяняюцца, многія пастаўшчыкі нічога не публікуюць, і тунель можа працаваць на арэндаваным хмарным адрасе, які ніколі не належаў VPN. Спіс, які вы складаеце, — здымак назіраных адрасоў, а пашырэнне яго да дыяпазонаў хостынгу дадае непаўязаныя нагрузкі, не дадаючы доказаў.

Выкарыстоўвайце адрасы як уваход для палітыкі, а не як доказ

Вырашыце, для чаго гэтае правіла. Сеткавае абмежаванне павінна заставацца вузкім, запісваць назіраны адрас з датай і прычынай і даваць законным карыстальнікам шлях аднаўлення, калі іх выхад змяняецца. Кантроль доступу патрабуе аўтэнтыфікаванага ўліковага запісу або подпісанага токена, бо толькі яны прывязваюць запыт да асобы. Ацэнка рызыкі можа выкарыстоўваць адрас як адзіны ненадзейны сігнал, прымаючы яго ілжывыя спрацоўванні і сляпыя зоны. Напісаць правіла як прадуктовае рашэнне — сумленна; напісаць яго як праверку існавання тунеля — не.

Люстраны запыт — аднавіць сапраўдны адрас карыстальніка за VPN — правальваецца з той жа прычыны: адно злучэнне нясе адзін адрас, і змена паміж сеансамі ўзгоднена з некалькімі тлумачэннямі. Стаўцеся да папярэдняга значэння як да гісторыі, а не як да ісціны.

Падобныя артыкулы