Идите на 2ФА (двофакторска аутентификација за АСА ССЛ ВПН)

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

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

Моја компанија није била изузетак и ми, као и многи други, користимо ову технологију. И, као и многи други, ми користимо Цисцо АСА 55кк као мрежни пролаз за даљински приступ.

Како се број удаљених корисника повећава, постоји потреба да се поједностави процедура издавања акредитива. Али у исто време, ово се мора учинити без угрожавања безбедности.

За себе смо пронашли решење у коришћењу двофакторске аутентификације за повезивање преко Цисцо ССЛ ВПН-а, коришћењем једнократних лозинки. А ова публикација ће вам рећи како да организујете такво решење са минималним временом и нула трошкова за потребан софтвер (под условом да већ имате Цисцо АСА у својој инфраструктури).

Тржиште обилује решењима у кутијама за генерисање једнократних лозинки, док нуди много опција за њихово добијање, било да се ради о слању лозинке путем СМС-а или коришћењу токена, како хардверских тако и софтверских (на пример, на мобилном телефону). Али жеља да уштедим новац и жеља да уштедим новац за свог послодавца, у тренутној кризи, приморала ме је да пронађем бесплатан начин за имплементацију сервиса за генерисање једнократних лозинки. Што, иако бесплатно, није много инфериорно у односу на комерцијална решења (овде треба да направимо резерву, уз напомену да овај производ има и комерцијалну верзију, али смо се договорили да ће наши трошкови, у новцу, бити нула).

Дакле, биће нам потребно:

- Линукс слика са уграђеним скупом алата - мултиОТП, ФрееРАДИУС и нгинк, за приступ серверу преко веба (хттп://довнлоад.мултиотп.нет/ - Користио сам готову слику за ВМваре)
— Сервер Ацтиве Дирецтори
— Сам Цисцо АСА (ради практичности, користим АСДМ)
— Било који софтверски токен који подржава ТОТП механизам (ја, на пример, користим Гоогле Аутхентицатор, али ће исти ФрееОТП)

Нећу улазити у детаље о томе како се слика одвија. Као резултат тога, добићете Дебиан Линук са већ инсталираним мултиОТП и ФрееРАДИУС-ом, конфигурисаним за заједнички рад и веб интерфејсом за ОТП администрацију.

Корак 1. Покрећемо систем и конфигуришемо га за вашу мрежу
Подразумевано, систем долази са роот роот акредитивима. Мислим да су сви претпоставили да би било добро променити роот корисничку лозинку након прве пријаве. Такође морате да промените подешавања мреже (подразумевано је „192.168.1.44“ са мрежним пролазом „192.168.1.1“). Након тога можете поново покренути систем.

Хајде да креирамо корисника у Ацтиве Дирецтори ОТП, са лозинком МиСуперПассворд.

Корак 2. Подесите везу и увезите кориснике Ацтиве Дирецтори
Да бисмо то урадили, потребан нам је приступ конзоли и директно датотеци мултиотп.пхп, помоћу које ћемо конфигурисати поставке везе са активним директоријумом.

Идите у именик /уср/лоцал/бин/мултиотп/ и извршите следеће команде редом:

./multiotp.php -config default-request-prefix-pin=0

Одређује да ли је потребан додатни (трајни) пин када се унесе једнократни пин (0 или 1)

./multiotp.php -config default-request-ldap-pwd=0

Одређује да ли је потребна лозинка домена када се унесе једнократни пин (0 или 1)

./multiotp.php -config ldap-server-type=1

Тип ЛДАП сервера је назначен (0 = обичан ЛДАП сервер, у нашем случају 1 = Ацтиве Дирецтори)

./multiotp.php -config ldap-cn-identifier="sAMAccountName"

Одређује формат у којем ће се приказати корисничко име (ова вредност ће приказати само име, без домена)

./multiotp.php -config ldap-group-cn-identifier="sAMAccountName"

Иста ствар, само за групу

./multiotp.php -config ldap-group-attribute="memberOf"

Одређује метод за одређивање да ли корисник припада групи

./multiotp.php -config ldap-ssl=1

Да ли треба да користим безбедну везу са ЛДАП сервером (наравно - да!)

./multiotp.php -config ldap-port=636

Порт за повезивање са ЛДАП сервером

./multiotp.php -config ldap-domain-controllers=adSRV.domain.local

Адреса вашег Ацтиве Дирецтори сервера

./multiotp.php -config ldap-base-dn="CN=Users,DC=domain,DC=local"

Назначавамо где да почнемо да тражимо кориснике у домену

./multiotp.php -config ldap-bind-dn="[email protected]"

Наведите корисника који има права претраживања у Ацтиве Дирецтори-у

./multiotp.php -config ldap-server-password="MySuperPassword"

Наведите корисничку лозинку за повезивање са Ацтиве Дирецтори-ом

./multiotp.php -config ldap-network-timeout=10

Подешавање временског ограничења за повезивање на Ацтиве Дирецтори

./multiotp.php -config ldap-time-limit=30

Поставили смо временско ограничење за операцију увоза корисника

./multiotp.php -config ldap-activated=1

Активирање конфигурације везе за Ацтиве Дирецтори

./multiotp.php -debug -display-log -ldap-users-sync

Увозимо кориснике из Ацтиве Дирецтори-а

Корак 3. Генеришите КР код за токен
Овде је све крајње једноставно. Отворите веб интерфејс ОТП сервера у претраживачу, пријавите се (не заборавите да промените подразумевану лозинку за администратора!) и кликните на дугме „Одштампај“:

Идите на 2ФА (двофакторска аутентификација за АСА ССЛ ВПН)
Резултат ове акције биће страница која садржи два КР кода. Храбро игноришемо први од њих (упркос атрактивном натпису Гоогле Аутхентицатор / Аутхентицатор / 2 Степс Аутхентицатор), а опет смело скенирамо други код у софтверски токен на телефону:

Идите на 2ФА (двофакторска аутентификација за АСА ССЛ ВПН)
(да, намерно сам покварио КР код да га учиним нечитљивим).

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

Да бисте били сигурни, можете га проверити у истом интерфејсу:

Идите на 2ФА (двофакторска аутентификација за АСА ССЛ ВПН)
Уношењем корисничког имена и једнократне лозинке из апликације на телефону. Да ли сте добили позитиван одговор? Па идемо даље.

Корак 4. Додатна конфигурација и тестирање рада ФрееРАДИУС-а
Као што сам већ поменуо, мултиОТП је већ конфигурисан да ради са ФрееРАДИУС-ом, остаје само да покренете тестове и додате информације о нашем ВПН пролазу у ФрееРАДИУС конфигурациони фајл.

Враћамо се на конзолу сервера, у директоријум /уср/лоцал/бин/мултиотп/, унесите:

./multiotp.php -config debug=1
./multiotp.php -config display-log=1

Укључујући детаљније евидентирање.

У конфигурационој датотеци ФрееРАДИУС клијената (/етц/фреерадиус/цлинетс.цонф) коментарисати све редове који се односе на лоцалхост и додајте два уноса:

client localhost {
        ipaddr = 127.0.0.1
        secret          = testing321
        require_message_authenticator = no
}

- за тест

client 192.168.1.254/32 {
        shortname =     CiscoASA
        secret =        ConnectToRADIUSSecret
}

— за наш ВПН мрежни пролаз.

Поново покрените ФрееРАДИУС и покушајте да се пријавите:

radtest username 100110 localhost 1812 testing321

где корисничко име = корисничко име, 100110 = лозинка коју нам је дала апликација на телефону, лоцалхост = адреса РАДИУС сервера, 1812 — РАДИУС порт сервера, тестингКСНУМКС — Лозинка клијента РАДИУС сервера (коју смо навели у конфигурацији).

Резултат ове команде ће бити приказан отприлике на следећи начин:

Sending Access-Request of id 44 to 127.0.0.1 port 1812
        User-Name = "username"
        User-Password = "100110"
        NAS-IP-Address = 127.0.1.1
        NAS-Port = 1812
        Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=44, length=20

Сада морамо да се уверимо да је корисник успешно аутентификован. Да бисмо то урадили, погледаћемо сам дневник мултиотп-а:

tail /var/log/multiotp/multiotp.log

А ако је последњи унос:

2016-09-01 08:58:17     notice  username  User    OK: User username successfully logged in from 127.0.0.1
2016-09-01 08:58:17     debug           Debug   Debug: 0 OK: Token accepted from 127.0.0.1

Онда је све прошло добро и можемо да завршимо

Корак 5: Конфигуришите Цисцо АСА
Хајде да се договоримо да већ имамо конфигурисану групу и политике за приступ преко СЛЛ ВПН-а, конфигурисане у вези са активним директоријумом, и морамо да додамо двофакторску аутентификацију за овај профил.

1. Додајте нову групу ААА сервера:

Идите на 2ФА (двофакторска аутентификација за АСА ССЛ ВПН)
2. Додајте наш мултиОТП сервер у групу:

Идите на 2ФА (двофакторска аутентификација за АСА ССЛ ВПН)
3. Ми уређујемо профил везе, постављање групе сервера Ацтиве Дирецтори као главног сервера за аутентификацију:

Идите на 2ФА (двофакторска аутентификација за АСА ССЛ ВПН)
4. На картици Напредно -> Потврда идентитета Такође бирамо групу сервера Ацтиве Дирецтори:

Идите на 2ФА (двофакторска аутентификација за АСА ССЛ ВПН)
5. На картици Напредно -> Секундарно аутентификацију, изаберите креирану групу сервера у којој је регистрован мултиОТП сервер. Имајте на уму да је корисничко име сесије наслеђено од примарне групе ААА сервера:

Идите на 2ФА (двофакторска аутентификација за АСА ССЛ ВПН)
Примените подешавања и

Корак 6, звани последњи
Хајде да проверимо да ли двофакторска аутентификација ради за СЛЛ ВПН:

Идите на 2ФА (двофакторска аутентификација за АСА ССЛ ВПН)
Воила! Када се повезујете преко Цисцо АниЦоннецт ВПН клијента, од вас ће се тражити и друга, једнократна лозинка.

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

Извор: ввв.хабр.цом

Додај коментар