Security: AAA (RADIUS, TACACS), Cisco ISE, Cisco DUO, Cisco TrustSec, Posture Assesment, Cisco Auth Failures

  • нормальная задача администратора – поднять radius сервер, прописать его на сетевом оборудовании, настроить интеграцию radius сервера с LDAP каталогом на windows server. В итоге ты логинишься на сетевое оборудование по доменной/AD учетной записи.
Различия Radius/Tacacs

Подробно в статьях Cisco (en/ru): 1 2 и ниже в статьях про RADIUS и TACACS.

  • RADIUS сочетает authentication и authorization, тогда как в TACACS+ это две отдельные функции
  • RADIUS полагается на транспорт в виде UDP, тогда как TACACS+ использует TCP
  • RADIUS шифрует только пароль в пакете запроса доступа от клиента серверу, остальная часть пакета не шифруется. TACACS+ полностью шифрует тело пакета, но оставляет стандартный заголовок TACACS+.
RADIUS combines authentication and authorization. The access-accept packets sent by the RADIUS server to the client contain authorization information. This makes it difficult to decouple authentication and authorization. TACACS+ uses the AAA architecture, which separates AAA. This allows separate authentication solutions that can still use TACACS+ for authorization and accounting. For example, with TACACS+, it is possible to use Kerberos authentication and TACACS+ authorization and accounting.
Diameter

Diameter используется в мобильных сетях, более нигде не встречал.

Radius

  • https://freeradius.org/ – крайне популярный и функциональный проект, можно реализовать многое, включая 2fa
  • Remote Authentication Dial-In User Service – чаще используется для AAA процесса сетевого доступа клиентов к сетевым сервисам (remote user authentication service).
  • Архитектура client-server, в общем случае client является сервером доступа (client as access server/authenticator; bras, wlc, firewall, switch, ap) для пользователей, которые пытаются куда то получить доступ.  Взаимодействие между клиентом и сервером обычно происходит не напрямую, а через промежуточный (relay) элемент (Wi-Fi controller, ASA, BRAS, server radius application).

  • Основные RFC RADIUS: 2865 (authn, authz), 2866 (accounting)
  • RADIUS поддерживает масштабирование с использованием RADIUS proxy – промежуточных (между клиентом и сервером) radius серверов
  • Поддерживает аутентификацию с использованием PPP, PAP, CHAP, EAP
  • Поддерживает protocol extension (vendor-specific attributes)
  • Порты RADIUS
    • radius-authn/authz: 1812, udp/tcp (old port 1645)
    • radius-acct: 1813, udp/tcp (old port 1646)
    • radius-dynauth (COA) (LINK 1, LINK 2): 3799, udp/tcp – COA – change of authorization. Изменение авторизации для существующей “сессии”.
  • Буква U в RADIUS характеризует два основных отличия от TACACS:
    • Udp – использует udp для транспорта исторически на основе RFC 2865. Есть новые версии RFC на RADIUS протокол поверх tcp/tls, но они находятся в experimental статусе :
    • Users – используется в основном пользователями для доступа их к сетевым ресурсам, хотя и по теории и моей личной практике может успешно использоваться для доступа на устройства

Подробнее о authentication, authorization, accounting (что и зачем) в общей статье.

Аутентификация RADIUS взаимодействия происходит на основе разделяемого секретного ключа между radius client (access server) и radius server. Только пароль пользователя в access request шифруется, остальная часть пакета передается в plain text.
Аутентификация/авторизация состоит из двух фаз:
  1. запрос клиента в виде access request, который включает идентификатор запрашивающего, парольные данные и другую информацию о пользователе, запрашивающем доступ (напр. IP адрес)
  2. ответ сервера
    1. Access-Accept – пользователь успешно аутентифицирован, в это сообщение так же вкладываются поля с атрибутами и авторизационные данные
    2. Access-Reject – пользователь не аутентифицирован, аутентификация не пройдена
    3. Access-Challenge – пользователь должен предоставить дополнительные данные, которые будут отправлены на сервер ответом на challenge в виде нового access request сообщения (первое сообщение radius client)
Взаимодействие для передачи accounting данных состоит из двух сообщений:
  1. Accounting request
  2. Accounting Response

 

RADIUS: CoA
Change of authorization (CoA) – фича, которая позволяет RADIUS серверу изменить активную клиентскую сессию. Напр.
    • вешаем redirect политику на сессию если кончились деньги/потрачен трафик
    • изменяем политику bandwidth по аналогу типо «турбо кнопки»
    • изменяем политику bandwidth с наступлением ночного периода (тарифа like “ночной разгон”)
    • переводим клиента в особый vlan, если узнали, что он начал не проходить posture или у него обнаружен вирус (threat centric network access control, TCNAC обнаружил уязвимость)
TCNAC – фича, которая позволяет Cisco ISE собирать threat & vulnerability данные с большого количества разных сканеров безопасности (third-party). Цель этой фичи – позволить Cisco ISE иметь видимость угроз и рисков для хостов, которым Cisco ISE предоставляет доступ. TCNAC фича позволяет
    • иметь видимость любого уязвимого хоста в сети
    • принимать меры в виде динамического сетевого карантина при неободимости
Cisco ISE может создавать авторизационные политики на основе атрибутов уязвимости CVSS полученного от third party/threat/vulnerability assessment software) Threat severity level, vulnerability assessment result могут использоваться для динамического контроля уровень доступа endpoint/user. Когда эвент об уязвимости на endpoint и его severity (CVSS) получен от Security Scanner, Cisco ISE после этого может отослать триггер CoA для данного endpoint.

TACACS

  • Terminal Access Controller Access-Control System Plus, чаще используется для авторизации на самих сетевых устройствах (terminal access controller)
  • TACACS изначально разработан Cisco – Cisco protocol release as open standard 1993
  • TACACS способен предоставлять AAA, причем все процессы независимы друг от друга, что в итоге позволяет использовать один протокол (напр. RADIUS) для аутентификации, другой протокол (напр. TACACS) для авторизации и аккаунтинга.
  • Авторизация и аккаунтинг более гранулярны в сравнении с RADIUS, что, например, позволяет реализовать разрешение на авторизацию определенных команд
  • Так же как и RADIUS
    • имеет protocol extensions для поддержки vendor specific attributes
    • Client-server архитектура (client as access server/authenticator)
    • Поддерживает несколько authentication protocols
  • Использует порт TCP 49 для всех сервисов ААА, что обеспечивает более надежное соединение и доставку данных
  • Буква T в TACACS характеризует два основных отличия от RADIUS:
    • TCP – использует TCP для транспорта
    • Technical – используется в основном для авторизации на устройствах (преимущество в покомандной авторизации)
  • Authn состоит из 3 сообщений
    • Start – запрос на аутентификацию от TACACS client
    • Reply – ответ сервера с запросом логина
    • Continue – ответ TACACS client с логином; потом reply/continue повторяются для запроса/передачи пароля
  • Authz & Accounting состоит из 2 сообщений
    • Request
    • Response

 

Cisco ISE

В слайд лучше скорректировать “and sends DACL”  = “and ISE sends DACL”. Тогда все сразу понятно.

Cisco ISE (Identity Services Engine) – централизованный AAA и policy сервер от Cisco. Cisco ISE интегрируется с огромным количеством продуктов – как Cisco, так и third-party. Позволяет видеть кто/что/где/когда и как получает доступ к сети и иметь консистентность доступа – разные  сетевые устройства bras/firewall/switch/router/wireless используют один AAA.
Плюсов/возможностей Cisco ISE очень много.
Кратко:
Подробнее:
  • Централизованный AAA контроль для wired/wireless/vpn
    • Поддержка RADIUS/TACACS/802.1x servers (сервера в него встроены)
    • Поддерживает интеграцию с внешними серверами AAA – напр. LDAP/AD
    • Поддерживает интеграцию с Cisco DUO для реализации MFA
    • Может быть задеплоен как в виде Physical Appliance, так и в виде VM (VMWare ESXi, KVM на RHEL7)
    • Поддерживает кластеризацию для масштабирования и отказоустойчивости (как для applicance, так и для VM)
    • WEB AUTH usually done via url redirect of the users browser
    • AUTH server for ASA identity firewall – аналог 802.1х – трафик пока не аутентифицируешься передаваться не будет
    • MAB – не слишком надежный (из-за легкой подмены mac адреса), но способ аутентификации; mab с profiling (девайс должен подпадать под профиль), реализуемый Cisco ISE – более безопасный способ, чем просто mab
    • Guest Web Portals (Guest Access) – напр. юзер подключается к сети (беспроводной или проводной) без аутентификации и браузер клиента перенаправляется через web url на портал web Cisco ISE для:
      • прохождения аутентификации, причем это могут быть временные credentials, которые экспайрятся сразу после аутентификации/после периода времени; такие креды могут быть получены по почте/смс/с распечатки
      • саморегистрации (может запрашивать информацию типа email, phone, name, company)
      • безаутеньтифицированного доступа (не предоставляют identity information) – может быть в аэропортах/кафе (но часто по законодательству уже требуется аутентификация), хоть они и не аутентифицируются, их действия и предоставленная ими информация аккаунтятся
  • Политики очень гибкие и создаются легко: на основе большого количества атрибутов – локейшн, время доступа, метод доступа и проч. (подробнее ниже)
  • Помогает для решения задач Compliance под стандарты регуляторов и проходить аудиты
  • Позволяет использовать и гибко настраивать Security Posture (Posture assessment) с гранулярностью вплоть до конкретного endpoint
  • Обеспечивает Visibility посредством логов/отчетности/идентификации хостов/создания профалинга пользователей, который позволяет реализовать видимость устройств/пользователей в текущий момент и исторически
  • В продукт встроены методы аутентификации Guest пользователей/подрядчиков (contractors) для получении доступа в сеть – сервис саморегистрации (self service), кастомизируемые гостевые порталы, которые можно развернуть за минуты
  • BYOD (Bring Your Own Device) и Enterprise Mobility решения могут использовать Cisco ISE – есть, например:
    • Сервис (self service) деплоя/управления/саморегистрации устройств
    • Internal device certification management
    • Интеграция с EMM (enterprise mobility management) решениями
  • Возможности программного задания Segmentation политик разграничения пользовательских endpoint и других сетевых устройств
  • Cisco TrustSec – Cisco ISE может использовать/реализовывать деплой TrustSec. Подробнее отдельно ниже.
  • pxGRID (platform exchange GRID) – для интеграции с другими продуктами Cisco и других вендоров. Подробнее отдельно. pxGRID позволяет увеличивать видимость и быстро реагировать на security incidents (detect, investigate, recover).
После выполнения аутентификации Cisco ISE может применять политики авторизации (очевидно) используя десятки атрибутов политик (policy rule). Эти policy rule консолидируются в policy rule таблицу для авторизации.
Оценка политик происходит по:
  • первому матчу (first match)
  • более частому (most common)
  • множественное совпадение (multiple match)
  • дефолтное совпадение (catch all rule) – если нет совпадений ни по одной из настроенных политик
Одни из самых популярных атрибутов, поддерживаемых ISE:
  • Метод доступа – MAB, 802.1x, wired, wireless, VPN
  • Членство в группе AD
  • Пользовательские атрибуты в AD, такие как имя компании, департамент, название должности, физический адрес
  • Подпадание результатов Profiler-а под тип устройства
  • Время/день
  • Местоположение пользователя
  • Posture assessment results – posture на основе атрибутов, собранных с endpoint, таких как версия операционной системы, установленные патчи, установленные приложения
  • MDM – интеграция с третьими сторонами, mdm регистрация/энроллмент
  • Информация из цифровых сертификатов – напр. сертификаты часто используются для того, чтобы определить, является ли подключающееся устройство устройством компании или персональным
  • Radius attributes/values – поддерживаются сотни атрибутов, которые могут использоваться для аутентификации и авторизации
Cisco ISE Profiling services
Cisco ISE Profiling services позволяет динамически обнаруживать и классифицировать endpoints, подключенные к сети. Cisco ISE использует MAC адреса как уникальный идентификатор и перехватывает различные атрибуты для каждой сетевой endpoint, которые в итоге сохраняет внутри базы. Классификационный процесс объединяет перехваченные атрибуты к пресету и/или пользовательским конфигурируемым настройкам. Эти атрибуты и настройки в последующем коррелируются к профилям – напр. к мобильным устройствам android/iphone, laptops, chromebooks, windows, iOSX, linux и даже возможен профалинг printers, cameras, ip phones, IOT devices. После классификации устройств они могут быть допущены в сеть и им будет предоставлен доступ на основе их профиля.
В Сisco ISE profiling policy огромное количество profiling политик присутствует, включая разные apple устройства и десятки устройств других вендоров.
    • Пример 1 скрины кейсов
      • endpoint, который подпадает под профиль VoIP телефона, будет помещен в voice vlan с настроенным MAB (Mac Authentication Bypass) как методом аутентификации
      • Пользователи попадают в отдельный vlan от телефонов после прохождения authn & authz (напр. 802.1x)
      • Принтер попадает в еще один vlan, отличный от всех и так же использует MAB

    • Пример 2
      • Corporate Laptop получает полный доступ на основе своего профиля
      • Персональный Телефон получает лимитированный доступ на основе своего профиля
Cisco DUO
  • Duo бесплатен up to 10 users
  • Duo работает с несколькими типами аппаратных токенов – HOTP, TOTP, YubiKey
HOTP <serial number>,<HOTP secret key>[,<HOTP counter>]
TOTP <serial number>,<TOTP secret key>[,<TOTP time step>]
YubiKey <serial number>,<private identity>,<secret key> # Компании Facebook и Google используют YubiKey для аутентификации сотрудников и пользователей.
  • Восстановление DUO при потере девайса достаточно простое – делается через отправку reactivation смс из административной web панели duo, в итоге возвращается 2FA к привязанным к УЗ ключам
  • Duo интегрируется с огромным количеством продуктов, включая,  например,
    • PAM (SSH Linux)
    • Cisco ASA/FirePower
    • Juniper/Fortigate/CheckPoint
    • RDP
    • github
    • evernote
    • macOS login, но я бы не рекомендовал устанавливать по ряду причин (безопасность, надежность, костыльность)
WHY NOT 1 - не каждый logon screen работает
Once installed, Duo authentication is required for new console logons, but not when unlocking the screensaver or when an already logged-on user wakes the system from sleep. 

WHY NOT 2 - потенциальные проблемы при апдейтах ОС
Upgrading from macOS 10.x to macOS 11.0 disables Duo's Mac Logon package. You can restore Duo after updating your operating system with the restore_after_upgrade.py script included in the Duo for macOS 1.1.0 zip file.

WHY NOT 3 - bash (напр. учетная запись с _ отбрасывается кривым grep, надо было отбрасывать только то, что начинается с _)
dscl . ls /Users | grep -v _
./configure_maclogon.sh /path/to/MacLogon-NotConfigured-1.1.0.pkg
    • wordpress – на практике очень неплохо – поддерживается 2FA с использованием push, что считается безопасным методом 2FA сейчас (в сравнении с SMS, phone calls). Кроме того, enterprise решение привлекает и хочется “покрутить” :).

Duo рекомендует отключать XML-RPC (работа с wordpress с мобильных клиентов).

Using XML-RPC bypasses two-factor authentication and makes your website less secure. We recommend only using the WordPress web interface for managing your WordPress website.

DUO security – приобретенная Cisco компания (как и многие другие – catalyst, aironet, opendns, etc). Реализует функции MFA/SSO. Используется многими компаниями любого размера. Duo обеспечивает защиту как cloud,  так и on-premise приложений –  легко интегрируется с различными enterprise приложениями (vpn подробнее ниже, vdi, rdp, ssh, web, api) и облаками (azure-ad) с использованием различных протоколов AAA (radius, ldap, saml, etc).

Помимо основных фукнций в виде MFA/SSO Duo cloud предоставляет сервисы по device/user visibility, проверки (политики) на основе application/device/user/group policy/etc. Есть возможность posture проверки по отдельной лицензии, которая будет происходить при попытке получения доступа к ресурсу. По сути облачный Cisco ISE lite version. На скрине пример доступа к разным Cisco app используя SSO (с использованием SAML).
Duo access gateway позволяет предоставлять MFA доступ к облачным приложениям. Обычно деплоится on premise.
В duo можно использовать существующие directory credentials (напр. Accounts из Ad) путем его интеграции с ad на основе SAML/LDAP. В итоге можно использовать «обычные» аккаунты для доступа к облачным приложениям (скрин): приложения (service provider) по SAML будут запрашивать у duo access gateway (SAML identity provider) identity данные, а duo будет получать их по SAML/LDAP из существующей базы (existing authentication sources). После базовой аутентификации, до доступа к SAML приложению, duo access gateway запросит 2fa.
Duo with cisco asa/firepower & duo mfa integration
На скрине открыта duo mobile application с запросом на подключение по vpn (2fa) пользователя из определенного локейшна (ip). По сути аналог пушей при аутентификации в icloud. На еще одно скрипне видим posture проверку (security lite checkup) duo.

Posture assesment

Posture assesment подразумевает проверку на conditions (ос, патчи, политики, состояние файрвола, обновления и события антивируса) устройства перед/во время авторизацией в сеть. Реализован с использованием Cisco ISE + AnyConnect/Temporal agent/Stealth anyconnect/DUO. Endpoint считается compliant если он проходит все posture conditions.

Agents for posture assesment:
  • AnyConnect с posture модулем – поддерживает все posture conditions ((в уроке “большую часть”, но тоже самое и для stealth anyconnect)), automatic remediation и passive reassessment (оценка состояния системы и реагирование на это состояние не только в момент авторизации).
  • Temporal agent – загружается временный агент, который осуществляет проверку системы. Достоинство – нет постоянного софта, простота для временных сотрудников (contractors/guest). Недостаток – поддерживается ограниченное количество posture conditions.
  • Stealth anyconnect – устанавливается клиент, который исполняется в background и не имеет gui. Поддерживает большую часть posture conditions.
Можно так же настроить posture remediation – когда после негативной оценки out of compliance (напр. на хосте отсутствует последнее обновление ОС) any connect client с posture модулем попытается эту проблему решить (напр. установить обновления). При этом any connect client с posture модулем позволяет исправить лишь часть проблем, другие нужно исправлять вручную.
Всегда нужно нацелеваться на полное разрешение (full remediation) всех проблем связанных с безопасностью после инцидента. На практике зачастую проще не вылечить систему полностью, а восстановить ее из образа.
Cisco trustsec

Cisco TrustSec – Cisco ISE может использовать/реализовывать деплой TrustSec  – назначать Security Group Tags (SGT) для контроля доступа (authentication/authorization) на основе SGT (SG-ACL).

SGT предоставляют собой значения, которые добавляются сетевым устройством (коммутатором/беспроводным AP/файрволом) в клиентские фреймы. Последующие устройства при обработке фреймов с SGT применяют к ним политики безопасности на основе SGT.

Например, фреймы с “finance” user tag могут взаимодействовать только с устройствами, которые имеют “finance” net tag – сетевая сегментация по аналогии с VLAN/VXLAN. IP адрес и VLAN tag может статически быть замаплен к SGT. Cisco ISE при этом может распространять IP-SGT/VLAN-SGT mapping таблицы на сетевые устройства для реализации политик.

Классификация SGT может происходить автоматически (802.1x, guest, mab, passive id easyconnect, etc mapping to groups on Cisco ISE) или статически. Во время процесса классификации SGT назначаются на IP адреса. SGT могут передаваться в VXLAN сетях. Cisco ISE trustsec dashboard – центральное место по мониторингу деплоя Cisco TrustSec.

Cisco auth failures

Ошибки, которые лечатся указанием алгоритма обмена ключей/типа шифрования.

$ ssh 192.168.1.254
Unable to negotiate with 192.168.1.254 port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1

$ ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 192.168.1.254
Unable to negotiate with 192.168.1.254 port 22: no matching cipher found. Their offer: aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc

$ ssh -c aes256-cbc -oKexAlgorithms=+diffie-hellman-group1-sha1 192.168.1.254

Ошибка login invalid не говорит о том, что login invalid. Вы можете вводить неправильный пароль, а будет писать login invalid.

Username:
Password:
% Login invalid

Ошибка Kerberos: No default realm defined for Kerberos! не блокирует подключение к устройству.

User Access Verification

Username: Kerberos: No default realm defined for Kerberos!

Username: redkin.p
Password:
DLS_WS-C3550-24PWR-SMI#

Leave a Reply