RADIUS-улік супраць паспяховага ўваходу: што даказвае кожнае
Access-Accept кажа, што сеанс можа пачацца. Запісы Start, Interim-Update і Stop кажуць, што было далей; ідэнтыфікатар сеансу звязвае іх.
У кожнай размове пра білінг VPN змешваюцца два пытанні: ці было дазволена гэтаму карыстальніку падключыцца, і што ён фактычна зрабіў. На першае адказвае аўтэнтыфікацыя. На другое патрэбныя запісы ўліку, якія пачынаюцца, абнаўляюцца і заканчваюцца. Удалы ўваход даказвае першае і нічога не кажа пра другое, таму працоўная налада аўтэнтыфікацыі RADIUS можа ўсё яшчэ выдаць пустую справаздачу аб выкарыстанні.
Два розныя пытанні
Аўтэнтыфікацыя вырашае, ці можа пачацца злучэнне, і вяртае вердыкт разам з атрыбутамі, такімі як пул адрасоў ці група. Улік жа запісвае паслугу, якая адбылася, як паслядоўнасць падзей, прывязаных да аднаго сеансу.
Яны ідуць па адным пратаколе і звычайна да аднаго сервера, і менавіта таму людзі мяркуюць, што адно азначае другое.
Нішто ў запыце доступу не нясе працягласць сеансу, і нішто ў запісе Stop не вырашае нанова, ці павінен быў карыстальнік быць дапушчаны. Калі разглядаць іх як асобныя дагаворы, праца інтэграцыі становіцца бачнай: аднаму шляху патрэбнае рашэнне, другому — жыццёвы цыкл з пачаткам, сярэдзінай і канцом.
Што даюць тры тыпы запісаў
Запіс Start адкрывае сеанс, Interim-Update паведамляе пра актыўнасць, пакуль ён адкрыты, а Stop зачыняе яго. Усе тры нясуць ідэнтыфікатар сеансу, каб атрымальнік мог звязаць іх з адной падзеяй паслугі.
Гэты ідэнтыфікатар — адзіная надзейная сувязь паміж імі, бо адзін і той жа лагін можа мець некалькі сеансаў паслядоўна або паралельна. Будуйце захоўванне вакол яго, а не вакол імя ўліковага запісу.
Пацвярджэнне запісу — асобная справа ад яго добрага захоўвання. Спецыфікацыя ўліку забараняе пацвярджэнне, калі запіс не ўдалося запісаць, таму адказ сапраўды паведамляе, што атрымальнік узяў адказнасць. Ён не паведамляе, што наступная задача справаздачнасці, дашборд або экспарт для білінгу скарысталі яго правільна.
Чаму лагін — гэта не сеанс
Адзін чалавек падключаецца раніцай з ноўтбука, а пасля абеду з тэлефона, і абодва сеансы нясуць адно імя ўліковага запісу. Запіс Start, які прыйшоў без адпаведнага Stop, нельга зачыніць, знайшоўшы імя і выбраўшы самы стары адкрыты радок.
Менавіта так справаздачы аб выкарыстанні набываюць немагчымыя працягласці.
Трымайце ідэнтычнасць сервера сеткавага доступу побач з ідэнтыфікатарам сеансу, бо два серверы могуць прызначыць адно і тое значэнне ў розных кантэкстах, і аб'яднанне толькі па ідэнтыфікатары можа злучыць няроднасныя сеансы. Калі сеанс завяршаецца някарэктна, палітыка ўзгаднення павінна вырашыць, як яго зачыніць, і гэтае рашэнне належыць праекту, а не ручной праўцы базы даных, якая робіцца раз на месяц.
Дзе PAM падыходзіць, а дзе не
Плагін аўтэнтыфікацыі OpenVPN выклікае этапы аўтэнтыфікацыі і кіравання ўліковымі запісамі PAM. Этап уліковага запісу правярае правамоцнасць; яго назва не азначае ўлік выкарыстання, і плагін не кіруе кручкамі адкрыцця і закрыцця сеансу PAM.
Некаторыя модулі PAM RADIUS могуць адпраўляць запісы ўліку праз гэтыя кручкі сеансу, і гэта працуе толькі тады, калі праграма сапраўды выклікае іх.
Таму даданне такога модуля ў стек аўтэнтыфікацыі не стварае падзей адключэння. Калі патрэбны поўны жыццёвы цыкл, выбірайце інтэграцыю, якая ім валодае: плагін або падтрымліваную зборку, што выдае Start, Interim-Update і Stop, калі злучэнне змяняе стан. Праверце йго статус суправаджэння і апісаныя паводзіны, калі атрымальнік недаступны, бо плагін, які моўчкі губляе запісы, выглядае гэтак жа, як той, што іх ніколі не адпраўляў. Спецыфікацыя ўліку вызначае семантыку запісаў, якой інтэграцыя павінна адпавядаць.
Прыёмачны прагон, які даказвае дагавор
Праверце звычайнае падключэнне і адключэнне, затым паўторнае падключэнне пад тым жа ўліковым запісам, затым кліента, які знікае без адключэння.
Прасочвайце адзін ідэнтыфікатар сеансу ад стварэння праз пацвярджэнне да захавання і праверце кірунак, адзінкі і інтэрфейс лічыльнікаў. Пазначэнне колькасці байтаў без подпісу немагчыма прааўдытаваць пазней.
Нарэшце, пераканайцеся, што сеанс, які сервер быў вымушаны закрыць па тайм-аўтыму, прадстаўлены так, як разумее справаздача. Дагавор, які ахоплівае толькі карэктныя адключэнні, — гэта дагавор, які падводзіць у дні, калі ён патрэбны найбольш.