Адыход ад PPTP/MS-CHAPv2: інструкцыя для састарэлага VPN
Даўжэйшы пароль не паляпшае PPTP з MS-CHAPv2. Выконвайце крокі інвентарызацыі, міграцыі, праверкі і ачысткі ўліковых даных па парадку.
Паролі з дваццаці знакаў, якія мяняюцца штомесяц і захоўваюцца ў сховішчы, не робяць сервер PPTP з MS-CHAPv2 сучасным VPN. Пароль — гэта ўваход у абмен, слабасць якога знаходзіцца ў самім абмене. Гэтая інструкцыя для таго, хто атрымаў такі сервер у спадчыну і павінен перавесці карыстальнікаў з яго, не адрэзаўшы пляцоўку, якая ад яго залежыць. Выконвайце крокі па парадку, бо кожны пакідае запіс, які спатрэбіцца, калі хтосьці спытае, чаму доступ раптам змяніўся.
Запішыце стэк, перш чым нешта чапаць
Тры ўзроўні зліваюцца ў слове PPTP, і кожны збойвае па-свойму. Тунель — гэта сам PPTP, гэта значыць GRE плюс TCP 1723. Аўтэнтыфікацыя — гэта той метад PPP, які прапануе сервер, тут MS-CHAPv2. Абарона канала — MPPE, ключы якога выводзяцца з таго абмену аўтэнтыфікацыі. Назваўшы ўсе тры, вы не дасцё наступнаму выпраўленню патрапіць не на той узровень.
Чытайце жывую канфігурацыю, а не давярайце старонцы вікі, і запішыце файл, слухача і апошнія сеансы, якія прайшлі аўтэнтыфікацыю.
grep -RniE 'mschap|mppe|require-mppe' /etc/ppp/options.pptpd /etc/pptpd.conf
ss -lntp 'sport = :1723'
journalctl -u pptpd -n 40 --no-pager
На ролі выдаленага доступу Windows той жа інвентар атрымліваецца двума камандамі, і другая важная, бо роля можа абвяшчаць некалькі метадаў адначасова, а кліенты ў полі дамаўляюцца толькі на самым слабым.
Get-VpnAuthProtocol
netstat -ano | findstr :1723
Вызначыце, што тунель фактычна перадае сёння
Пералічыце спажыўцоў, перш чым выбіраць замену: вандроўныя ноўтбукі, маршрутызатар філіяла, плацежны тэрмінал, набор палявых планшэтаў. Спажыўца, якому трэба дасягнуць толькі аднаго ўнутранага хоста, лёгка перанесці. Спажывец, убудаваны ў абсталяванне, якое вы не можаце перапрашыць, можа запатрабаваць прамежкавага шлюза замест абнаўлення кліента, і гэтае рашэнне павінна быць у плане, а не ў сярэдзіне пераключэння.
Затым спытайце, што атрымае нападнік, які можа назіраць за абменам уваходу або ўплываць на яго. З MS-CHAPv2 адказ уключае матэрыял, які дазваляе афлайн-аднаўленне пароля карыстальніка, і менавіта таму даўжыня і ратацыя не выпраўляюць канструкцыю: адноўлены сакрэт дзейнічае ў кожнай сістэме, дзе карыстальнік яго паўтарыў.
MPPE ўспадкоўвае тую ж слабасць, бо яе ключы паходзяць з таго абмену, і яна не дае папакетнай цэласнасці і паводзін пры паўторы, якія мае сучасны шыфр AEAD. Сеанс, які чыста прайшоў аўтэнтыфікацыю, даказаў сумяшчальнасць з наладжанымі праверкамі і нічога больш.
Ні кароткі абедзенны перапынак, ні малая колькасць карыстальнікаў не ператварае крыптаграфічную ўласцівасць у палітычную.
Правядзіце міграцыю ў адным акне абслугоўвання
Падніміце замену, дакажыце яе на адной пілотнай групе, затым спыніце стары слухач, а не пакіньце яго ціхім рэзервовым варыянтам. Рэзерв, да якога ўсё яшчэ можна дацягнуцца, — не міграцыя, і ён трымае слабы абмен даступным менавіта для тых карыстальнікаў, якія ніколі не патурбуюцца перайсці.
sudo systemctl disable --now pptpd
sudo ss -lntp | grep -E ':(1723|1194|51820)\b'
sudo nft list ruleset | grep -i gre
Закрыйце шлях праз фаервол у тым жа акне. У GRE няма порта, які трэба памятаць, таму правіла, якое дазваляе пратакол 47 па нумары, лёгка прапусціць, і яно пакідае сэрвіс даступным нават пасля знікнення дэмана. Запішыце выдаленае правіла, яго ранейшае месца і прычыну, каб пазнейшы агляд змен не аднавіў яго выпадкова.
Апрацоўвайце ўліковыя даныя асобна ад канфігурацыі. Выдаленне профілю кліента — не адкліканне, і ўліковы запіс, які ўсё яшчэ аўтэнтыфікуецца дзесьці іншым, не выведзены з эксплуатацыі.
Праверце, што замена выконвае працу PPTP
Кантрольны спіс — гэта не «ці падключаецца». Гэта ці ўтрымліваюцца пры замене аўтэнтыфікацыя, прызначэнне адрасоў, развязанне DNS, выбар маршруту, паводзіны пры перападключэнні і праверка партнёра. Праверце кожны пункт на пілотнай прыладзе, у гэтым парадку, і запішыце назіраны вынік побач з чаканнем.
ip -4 addr show tun0
ip route get 198.51.100.23
resolvectl query intranet.example.net
Адрас на інтэрфейсе даказвае, што перамовы завяршыліся. Ён не даказвае, што далёкі бок дазволіў менавіта той маршрут, які вы чакаеце, а запыт вышэй адказвае толькі за гэты хост, не за перададзеную LAN. Адказ рэзалвера даказвае дасяжнасць рэзалвера, а не тое, што палітыка split-DNS накіроўвае да яго правільныя імёны.
Перападключэнне праверце апошнім, бо менавіта там большасць замен рэгрэсуе: перавядзіце ноўтбук у сон, змяніце сеткі і пераканайцеся, што тунель аднаўляецца, не пакідаючы састарэлых маршрутаў.
Адкат, адкліканне і запіс, які вы пакідаеце
Адкат аднаўляе сэрвіс; ён не аднаўляе бяспеку, і гэтую розніцу трэба прамаўляць уголас да адкрыцця акна. Калі новы шлях збойвае, вярніце карыстальнікаў праз другі сучасны канчатковы пункт ці часовы шлюз, а не праз паўторнае ўключэнне PPTP для ўсіх. Захаванне аднаго аварыйнага шляху на старым пратаколе пашырае схільнасць, якую вы толькі што задокументавалі.
Пасля пераключэння адклічце ўліковыя запісы, якія аўтэнтыфікаваліся праз PPTP, дайце скончыцца іх захаваным профілям і пераканайцеся, што правіла GRE знікла з кожнай канцавой прылады, уключаючы копію для аварыйнага аднаўлення, якую ніхто не памятае.
Пакіньце кароткі запіс: пратаколы, якія вы знайшлі, дату спынення кожнага слухача, версіі кліентаў, якія падтрымлівае замена, і ўладальніка, які можа зноў адкрыць рашэнне. Гігіена пароляў пасля гэтага ўсё яшчэ важная, але як гігіена на пратаколе, які яе заслугоўвае, а не як аргумент трымаць стары жывым.