Калі адзін хост дзеліць паміж публічным сайтам і VPN, вы атрымліваеце ў спадчыну два пытанні, а не адно: што дзе слухае і хто каго аўтэнтыфікуе. Адкажыце на абодва, перш чым кранаць файл канфігурацыі, бо прадвызначаныя значэнні няправільныя такім чынам, які выяўляецца толькі пад нагрузкай. Старонка, якая загружаецца праз HTTPS, даказвае, што вэб-слухач адказвае, і нічога не кажа пра слухач партнёра. Далей ідзе парадак рашэнняў, які не дазваляе ім з'есці адно аднаго.

Вырашыце, што слухае на якім адрасе і транспарце

Напішыце табліцу з трыма слупкамі — адрас, транспарт і порт — і адзін радок на кожную службу, уключаючы адміністрацыйны інтэрфейс. TCP 443 для сайта і UDP 443 для VPN не канфлікт, нават калі лічбы супадаюць, бо транспарт розны. Дзве службы на адным адрасе, транспарце і порце патрабуюць дамоўленасці, якую дакументуе рэалізацыя, а не той, якую вы прыдумаеце падчас збою. Гэтая табліца таксама з'яўляецца артэфактам, які робіць наступную змену даступнай для разгляду.

Асобныя адрасы або другі порт робяць прыналежнасць бачнай у перахопе пакетаў, і гэта каштоўней за элегантнасць. Некаторыя рэалізацыі VPN падтрымліваюць сумеснае выкарыстанне порта з вэб-серверам, але механізм канкрэтны: дэман правярае першыя байты і перасылае трафік, які не з'яўляецца яго ўласным пратаколам. Звычайны зваротны проксі HTTP гэтага не робіць, і перапісванне загалоўкаў не дапаможа яму зразумець рукапацісканне зашыфраванага тунеля. Прачытайце нататкі пра разгортванне пратакола, напрыклад дакументацыю слухача OpenVPN, і прытрымлівайцеся дамоўленасці, якую яна апісвае.

Вырашыце, якая ідэнтычнасць належыць якой службе

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

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

Вырашыце, дзе жыве адміністраванне

Адміністрацыйны інтэрфейс VPN належыць да шляху кіравання, ніколі да публічнага слухача, нават калі хост ужо абслугоўвае інтэрнэт. Вэб-сервер на 443 не азначае, што кансоль партнёраў павінна быць дасягальная адкуль заўгодна, і кансоль звычайна з'яўляецца больш каштоўнай мэтай. Прывяжыце яе да адраса вяртання або кіравання, абмяжуйце па крыніцы і трымайце шлях аднаўлення, які не залежыць ад таго, што тунель падняты. Шлях аднаўлення важны, бо тыповая памылка — зачыніць сябе звонку, выпраўляючы блакіроўку.

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

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

Вырашыце, што рабіць, калі двое спрачаюцца

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

Ізаляцыяй можа быць кантэйнер, ліміт cgroup, асобная чарга або другі хост, і правільны выбар залежыць ад таго, які рэсурс спрачаецца. Змена порта тут нічога не выпраўляе, а большы інстанс не выправіць нічога, калі лімітам з'яўляецца адна перапоўненая чарга. Вырашайце вымярэннем: назвіце рэсурс, загрузіце яго, затым выберыце найменшую ізаляцыю, якая здымае спрэчку.

Праверце звонку, затым яшчэ раз пасля перазапуску

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

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

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