RouterOS OpenVPN і NPS: задайце user-auth-method, а не auth
У RouterOS auth выбірае дайджэст тунеля, а user-auth-method вырашае, як правяраецца запыт RADIUS. Узгадніце другі з палітыкай NPS.
RouterOS можа дасягнуць NPS праз лагін OpenVPN і ўсё роўна атрымаць адмову, і звычайная прычына — два параметры, назвы якіх абодва гучаць як аўтэнтыфікацыя. Адзін выбірае крыптаграфічны дайджэст для тунеля; другі вырашае, як уліковыя даныя карыстальніка падаюцца ў RADIUS. Змена дайджэста ніколі не ператворыць запыт PAP у MS-CHAPv2, колькі б разоў служба ні перазапускалася. Спіс ніжэй раздзяляе гэтыя два, а затым прасочвае адзін няўдалы лагін праз палітыку NPS, якая яго ацаніла.
Крок 1: прачытайце абодва параметры, перш чым змяняць любы
Выведзіце дзейную канфігурацыю сервера OpenVPN на маршрутызатары, які тэрмінуе тунель, а не з рэзервовай копіі ці скапіяванага паведамлення форуму. Два палі, якія вас цікавяць, звычайна знаходзяцца ў адным меню і чытаюцца так, нібы гэта альтэрнатывы. Гэта не так: адно датычыцца канала даных, другое — абмену ўліковых даных.
/interface ovpn-server server print
/interface ovpn-server server export
Поле auth пералічвае дайджэсты, такія як sha1 і sha256, і кіруе HMAC, які аўтэнтыфікуе пакеты тунеля. Поле user-auth-method выбірае pap або mschap2 і вырашае, як маршрутызатар падае ўліковыя даныя карыстальніка ў RADIUS. Змена дайджэста не можа змяніць другое паводзіны, і менавіта таму тая ж адмова перажывае кожную праўку першага.
Спыніцеся тут, калі ваша версія не прадстаўляе user-auth-method зусім. Старэйшыя зборкі RouterOS могуць не прапаноўваць яго на серверы OpenVPN, і выпраўленне належыць версіі, якую вы можаце падтрымліваць, а не камандзе, скапіяванай з больш новай.
Крок 2: знайдзіце палітыку, якая сапраўды адхіліла лагін
На баку NPS запыт на злучэнне ацэньваецца супраць сеткавых палітык, і метад аўтэнтыфікацыі, названы ў супаднай палітыцы, павінен быць тым, які кліент сапраўды прапанаваў. Суаднясіце адзін няўдалы лагін па часе і карыстальніку, а не чытайце зводную колькасць. Журнал бяспекі запісвае дазволеныя і адхіленыя запыты з кодам прычыны, і гэта кажа вам нашмат больш, чым агульны радок памылкі маршрутызатара.
Get-WinEvent -LogName Security -MaxEvents 200 |
Where-Object { $_.Id -in 6272,6273 } |
Format-List TimeCreated,Id,Message
Прачытайце тры рэчы ў падзеі: назву супаднай палітыкі, метад аўтэнтыфікацыі і код прычыны. Палітыка, якая патрабуе MS-CHAPv2, адхіляе запыт PAP нават пры правільным паролі, а палітыка, якая патрабуе даменны ўліковы запіс, адхіляе лакальны. Запіс кліента RADIUS таксама павінен супадаць з адрасам крыніцы маршрутызатара, інакш запыт адкідаецца яшчэ да звароту да любой палітыкі. Нічога з гэтага не з'яўляецца ў журнале OpenVPN.
Спыніцеся тут, калі запыт ніколі не дасягае NPS. Гэта праблема агульнага сакрэту, адраса кліента або UDP 1812, і змена метадаў аўтэнтыфікацыі яе не выправіць.
Крок 3: змяніце адзін метад, з абодвух бакоў
Калі зацверджаны дызайн — MS-CHAPv2, усталюйце яго на маршрутызатары і пацвердзіце, што супадная палітыка яго прымае. Змяніце адзін бок, паўтарыце тэст, затым змяніце другі; змена абодвух адначасова пакідае вас без магчымасці сказаць, які з іх меў значэнне.
/interface ovpn-server server set user-auth-method=mschap2
/interface ovpn-server server print
/log print where topics~"radius"
Не ўключайце кожны слабейшы метад на NPS, каб памылка знікла. Бэкэнд павінен мець матэрыял, які выбраны метад можа праверыць: MS-CHAPv2 патрабуе доступу да пароля або дамена, і палітыка не можа выдумаць гэты матэрыял. Пашырэнне палітыкі таксама пашырае тое, што зламыснік можа паспрабаваць супраць таго ж уліковага запісу. Запішыце метад, назву палітыкі і спасылку на змену разам, каб наступны чалавек атрымаў у спадчыну рашэнне, а не здагадку.
Пакіньце праверку сертыфіката тунеля дакладна такой, якой яна была. Метад уліковых даных не замяняе ідэнтычнасць сервера, а зніжэнне праверак TLS дзеля праходжання тэсту мяняе адну праблему на горшую.
Крок 4: праверце тры лагіны і адно дазвол
Праверце дазволенага карыстальніка, няправільны пароль і выключанага карыстальніка, кожнага ў свежай сесіі. Першы даказвае шлях, другі даказвае, што праверка ўліковых даных рэальная, а трэці даказвае, што палітыка па-ранейшаму выключае тых, каго павінна. Кэшаваная сесія можа схаваць усе тры, таму адключайцеся паміж спробамі.
/log print where topics~"ovpn"
/radius monitor 0
Поспех аўтэнтыфікацыі — не канец спісу. Праверце адрас, які атрымаў кліент, і рэсурсы, да якіх гэты адрас мае доступ, бо карыстальнік можа правільна аўтэнтыфікавацца і ўсё роўна трапіць у няправільны пул. Калі прызначаны адрас няправільны, праблема ў профілі або ў атрыбутах адказу RADIUS, а не ў метадзе. Пацвердзіце абодва, перш чым закрыць заяўку.
Спіс завершаны, калі налада маршрутызатара і палітыка NPS называюць адзін метад, адзін дазволены карыстальнік падключаецца ў свежай сесіі, адзін няправільны пароль адхілены, адзін выключаны карыстальнік застаецца выключаным, а прызначаны адрас адпавядае меркаванаму пулу. Усё меншае пакідае наступны лагін на волю выпадку.