Многи тимови имају веб пријаву која ради и VPN који одбија сваку лозинку из исте табеле. Веб апликација пореди хеш који је сама израчунала, док тунел тражи од клијента да докаже поседовање тајне на начин који сервер мора моћи да провери. То су различити захтеви на сачувани материјал. Управо у јазу између њих већина оваквих пројеката застане.

Прво метода, па шема

Запишите који доказ изабрана метода захтева пре него што погледате било коју шему. Методи изазов-одговор потребан је материјал из којег сервер може да израчуна очекивани одговор, што у пракси значи лозинку или компатибилан изведени облик. Методи која носи лозинку унутар заштићеног тунела потребна је сама лозинка код проверавача. Читајте документацију методе због захтева проверавача, а не због конфигурације клијента, јер су захтеви клијента обично лакши део.

Слани хеш који произведе модеран веб оквир не даје ни једно ни друго. Проверава једно конкретно поређење и не може се вратити у тајну из које је настао.

Изазов-одговор не може да користи слани хеш

MSCHAPv2 је размена изазов-одговор, па сервер никада не прими лозинку и не може да упореди сачувани низ. Мора да изведе очекивани одговор из материјала који већ има, и зато су компатибилни сачувани облици тако уски. Вредност bcrypt или Argon2 са сољу по кориснику је једносмерна на начин који размену потпуно искључује. Табела испод полази од облика чувања, а не од назива методе, јер облик чувања одлучује о одговору.

What the store holdsWhat that material can verifyWhat has to change
A bcrypt or Argon2 value with a per-user saltnothing challenge-response can use, and not the password eitherre-enrol the users, or place a verifying service in front
An unsalted NT-hashMSCHAPv2, and inner PAP through a TLS tunnelnothing, as long as that store is the verifier
A client certificate with a revocation listEAP-TLS onlymove enrolment and revocation to the PKI owner

Документација SQL додатка за strongSwan дефинише сопствену шему за конфигурацију и акредитиве, а пројекат тај додатак још означава експерименталним. Ништа у њој се не прилагођава табели корисника неке апликације нити погађа која је шема хеширања произвела сачувану вредност. Стварне опције су зато миграција на складиште које мрежни пролаз може да користи или услуга аутентификације испред постојећег складишта која може да обави размену. Све остало је конектор са скривеном претпоставком у себи.

RADIUS премешта посао, не захтев

Делегирање EAP-а RADIUS серверу мења место провере и обично побољшава ревизорски траг. Не враћа лозинку из једносмерног хеша, па услуга аутентификације и даље треба материјал компатибилан са методом коју завршава. Тимови то открију након што изграде RADIUS пут и на другој страни наиђу на исти зид.

Тамо где RADIUS сервер може да чита директоријум са компатибилним акредитивима, дизајн ради, а VPN пролаз остаје једноставан. Тамо где не може, искрен је одговор промена уписа, а не још један конектор. Додела и опозив припадају ономе ко поседује идентитет, па је копирана табела без подржаног процеса синхронизације други животни циклус акредитива, а не јединствена пријава. Она се први пут разилази када неко ресетује лозинку само на једном месту, а разилажење је тихо док се налог који постоји у оба система не почне понашати различито у сваком.

Ограничите налог који чита директоријум на то читање и држите га одвојеним од налога који пролаз користи за сопствену конфигурацију. Заједнички административни налог претвара дизајн само за читање у много шири радијус штете.

Где налог треба да живи

Када је питање материјала решено, остају две архитектуре. Пролаз може да има мало складиште акредитива које само он чита, или може да делегира услузи аутентификације која стоји испред корпоративног директоријума.

Прва је лакша за размишљање и гора за корисника, који на крају има другу лозинку за одржавање. Друга чува један идентитет и додаје зависност од услуге која сада мора да буде доступна пре него што се било ко повеже. Ниједна није погрешна, али избор треба записати уз конфигурацију пролаза, јер ће следећи инжењер иначе претпоставити да је изабрана друга. Шта год изабрали, две наредбе испод показују тренутно стање пре него што га промените.

mysql -N -e "SELECT id, username FROM vpn_users WHERE active = 1 LIMIT 5" vpn
swanctl --list-conns

Аутентификација налога такође не решава ауторизацију. Чланство у групи, стање уређаја и мрежна дозвола и даље траже изричито мапирање након што је корисник доказао тражени идентитет. Веза која се беспрекорно аутентификује и ништа не ауторизује резултат је политике, а не грешка у методи.

Повезани чланци