Uwierzytelnianie dwuskładnikowe dla SSLVPN (cisco)?

13

Właśnie zapytano mnie dzisiaj o wdrożenie uwierzytelniania dwuskładnikowego dla użytkowników SSLVPN w naszej firmie (łączenie za pośrednictwem Cisco AnyConnect nie obsługujemy / nie używamy WebVPN). Obecnie używamy LDAP do uwierzytelnienia.

Zidentyfikowałem firmę, która integruje się bezpośrednio z anyConnect i klientem mobilności, aby zapewnić uwierzytelnianie dwuskładnikowe oparte na tokenach, ale zastanawiałem się, jakie są bardziej powszechne sposoby implementacji dwuskładnikowego w tego rodzaju ustawieniach? Pierwszą rzeczą, jaka przyszła mi do głowy, był Google Authenticator lub RSA, ale znalezienie informacji o tego rodzaju konfiguracjach w połączeniu z AnyConnect było zaskakująco trudne do znalezienia (w zasadzie nic nie znalazłem)

glin
źródło
Nasza firma stosuje zabezpieczenia Duo. Zrozumiałem, że pierwszych dziesięciu użytkowników jest bezpłatnych, możesz spróbować sprawdzić, czy odpowiada Twoim potrzebom. PD: Nie mam żadnych powiązań z ochroną Duo. Jest to po prostu podane jako przykład.
Z powodzeniem korzystaliśmy z YubiKey. Bardzo, bardzo ekonomiczny i łatwy w konfiguracji. Prawdopodobnie współpracuje z Cisco ASA SSL VPN, PaloAlto i innymi. (Nie jestem w żaden sposób związany z tą firmą, jestem tylko użytkownikiem)
Jakob
Fajnie, dziękuję za rekomendację - skończyliśmy jako DUO - Będę tylko dolarem użytkownika ... jest niesamowity, usługa jest prosta, moją jedyną przeszkodą jest ponowna rejestracja, gdy otrzymają nowy telefon lub urządzenie jest trochę irytujące administracyjnie (jeszcze nie samoobsługa). bardzo je polecam (i nie są z nimi powiązane).
AL
FWIW, zawsze byłem nieśmiały, żeby auth (co jest krytyczne) zależało od tylu elementów (active directory + kawałek 2-czynnikowy). Chcę kawałek 2-czynnikowy W URZĄDZENIU, więc jest to katalog aktywny + urządzenie .... ale trudno to znaleźć.
Jonesome przywraca Monikę

Odpowiedzi:

13

Dwie ścieżki, o których mogę myśleć, są następujące:

  1. Chcesz korzystać z wbudowanego wtórnego uwierzytelnienia Cisco ASA

  2. Jesteś otwarty na korzystanie z serwera radius.

Koncepcja nr 2:

  1. Wybierz wystawcę uwierzytelnienia. Na przykład Google, LDAP, AD itp.

  2. Skonfiguruj serwer Radius (FreeRADIUS, Windows NPM, Cisco ACS itp.), Który obsługuje moduł uwierzytelniający.

  3. Skonfiguruj uwierzytelnianie w systemie Cisco ASA, aby korzystać z tego serwera Radius (adres IP, porty, tajny klucz itp.), A następnie gotowe. Dostosuj limity czasu zgodnie z potrzebami.

Informacje o Google Authenticator :
Możesz skonfigurować FreeRadius do korzystania z Google Authenticator, a następnie skonfigurować serwer aaa Cisco ASA do korzystania z serwera FreeRadius. Gotowy :)

O Duo Security :
Użyłem Duo Security i działa świetnie. To łącze konfiguracyjne pokazuje, jak skonfigurować uwierzytelnianie 2-czynnikowe bez instalowania aplikacji Duo Security. Jeśli jednak zainstalujesz aplikację (działa jak serwer RADIUS), instalacja stanie się jeszcze łatwiejsza. Poniżej znajduje się przykładowa konfiguracja, która powinna pomóc.

PRZESTROGI do tego ustawienia:
Zwiększ swoje limity czasu! Miałem z tym problemy. Nie instaluj aplikacji Duo na istniejącym serwerze RADIUS (konflikt portów nasłuchujących).

  • Po zainstalowaniu aplikacji na serwerze musisz zmodyfikować authproxy.cfgplik, aby używać Active Directory jako głównego uwierzytelniacza u góryauthproxy.cfg

  • Ustaw klienta na ad_clienti serwera naradius_server_auto

    [main]  
    client=ad_client  
    server=radius_server_auto  
    
  • Utwórz sekcję o nazwie ad_client.

    [ad_client]
    host=10.x.x.11
    host_2=10.x.x.12
    service_account_username=ldap.duo
    service_account_password=superSecretPassword
    search_dn=DC=corp,DC=businessName,DC=com
    
  • grupa bezpieczeństwa jest opcjonalna. ta grupa umożliwia użytkownikom uwierzytelnianie.

    security_group_dn=CN=Administrators,CN=Builtin,DC=example,DC=com
    
  • Szczegółowe informacje o konfiguracji zabezpieczeń DUO

    [radius_server_auto]
    ikey=xxxxxxxxxxxxx
    skey=xxxxxxxxxxxxx
    api_host=api-xxxxx.duosecurity.com
    
  • Opcje są bezpieczne.

  • Safe=allow auth jeśli Duo jest nieosiągalny.
  • Secure=do not allow auth jeśli Duo jest nieosiągalny tryb awaryjny = bezpieczny

  • Adres IP Cisco ASA, który chcesz nacisnąć, i klucz

    radius_ip_1=10.x.x.1
    radius_secret_1=superSecretPassword
    
  • Windows Server z zainstalowaną aplikacją DuoSecurity

    net stop DuoAuthProxy
    net start DuoAuthProxy
    
  • Konfiguracja Cisco ASA 8.4

  • Dodaj nowy serwer aaa do odpowiednich zasad VPN

    aaa-server DUO protocol radius
    !
    aaa-server DUO (inside) host 10.x.x.101
     accounting-port 1813
     authentication-port 1812
     key superSecretPassword
     retry-interval 10
     timeout 300
    !
    
Joseph Drane
źródło
Wielkie dzięki za obszerne napisanie! Mam tu dużo pracy. Ciekawe, jak te systemy współpracują ze sobą, aby zapewnić uwierzytelnianie dwuskładnikowe.
AL
2

Definicja dwóch czynników uwierzytelniania jest o wiele sposobów. Oto metody:

  1. To, co wiesz, jak nazwa użytkownika i hasło do konta logowania
  2. To, co masz, jak brelok RSA, który generuje liczby lub plik certyfikatu
  3. Kim jesteś, jak skan siatkówki i skaner linii papilarnych

Uwierzytelnianie dwuskładnikowe nie ma dwóch różnych kont logowania, jak w dwóch różnych zestawach nazw użytkowników i haseł z dwóch różnych źródeł, ponieważ oba są „tym, co wiesz”. Przykładem uwierzytelniania dwuskładnikowego jest włożenie karty inteligentnej do laptopa (co masz), a następnie przeciągnięcie skanera linii papilarnych (czym jesteś).

Wygląda na to, że masz serwer Microsoft, jeśli rozumiem, jak korzystasz z LDAP. Dlaczego nie włączyć usługi Microsoft Certificate Authority na najbliższym systemie Microsoft Windows Server, który jest dołączony do systemu operacyjnego, i włączyć rejestrację certyfikatu użytkownika ? ASA, z certyfikatem głównym urzędu certyfikacji, może sprawdzać poprawność kont, które określa jako XAUTH, a następnie uwierzytelniać certyfikaty użytkowników, których mogą używać systemy Windows, Linux i MacOS.

Scott Perry
źródło
0

Prawidłowe, jednak pod warunkiem, że masz bezpieczny proces rejestracji, w taki sposób, że telefon komórkowy staje się fizycznym pilotem. Duo oferuje także elastyczność UX kodu push lub sms aplikacji. Wewnętrzny urząd certyfikacji w ASA też jest świetny, ale nie jest opcją, jeśli działasz w parach HA lub w wielu kontekstach. Zgodnie z sugestią użyj MS / Dogtag CA lub Duo.

IMO, uzyskujesz największy zasięg, konfigurując grupę VPN jako taką:

Czynnik 1 - Użyj certyfikatów (MS / Dogtag / ASA onboard for CA) - może użyć użytkownika ldap / AD do wygenerowania certyfikatu. (Najlepiej zrobić to lokalnie, przy dostarczaniu / instalowaniu certyfikatu należy przestrzegać najlepszych praktyk OpSec).

Czynnik 2 - proxy FreeRADIUS lub Duo z bezpieczną rejestracją dla tokena / pilota OTP lub urządzenia mobilnego.

W ten sposób, jeśli użytkownik jest celem, atakujący musi uzyskać:.) Kopię certyfikatu, który powinien istnieć tylko w magazynie kluczy laptopa / punktu końcowego b.) Użytkownik AD / nazwa użytkownika / hasło c.) Brelok (rsa / yubikey) lub urządzenie mobilne (DuoSec)

Ogranicza to również odpowiedzialność za zgubione / skradzione urządzenia. Uważam, że duet oferuje również sposób zarządzania użytkownikami za pośrednictwem AD, co ułatwia zarządzanie całą konfiguracją. Twój sprzęt musi umożliwiać dostosowanie limitu czasu / ponownej próby w celu obsługi interakcji użytkownika poza pasmem podczas uwierzytelniania. (Odblokowanie telefonu / wyciągnięcie breloka z kieszeni itp. - poczekaj co najmniej 30 sekund)

0ptimized
źródło