пятница, 31 декабря 2010 г.

Привязка статического IP адреса VPN пользователям и настройка политик на Cisco ASA.

Исходные данные: На ASA настроена аутентификация пользователей через LDAP. Для LDAP аутентификации  используется Microsoft Windows сервер. Настройка производится с использованием ASDM. Клиенты соединяются по IPSec.
Необходимо выполнить 2 задачи:  
1.  Привязка статического IP к имени пользователя в AD.  
2. Настройка политик в соответствии с LDAP атрибутами пользователя.
    1.    Привязка статического IP к имени пользователя в AD.

    Постановка задачи: Привязать статический IP удаленным пользователям.

    Решение: 
    • на сервере аутентификации назначить пользователю статический IP адрес. 
    •  проассоциировать соответствующий LDAP атрибут с внутренними атрибутами ASA.

    Подробнее:
    1.1. В AD пользователю необходимо назначить статический IP адрес, используя вкладку Dial-in.
    1.2. Для сопоставления LDAP атрибутов, передаваемых в процессе аутентификации MS Windows сервером, и внутренних атрибутов ASA, необходимо настроить “LDAP Attribute Map” (“Configuration”->”Remote Access VPN” -> “AAA/Local Users” -> “LDAP Attribute Map”). Добавляем LDAP Attribute Map (или модифицируем существующую). В созданной LDAP Attribute Map (или существующей) создаем ассоциацию windows-атрибута msRADIUSFramedIPAddress с  cisco’вским IETF-Radius-Framed-IP-Address.

    2.    Настройка политик в соответствии с LDAP атрибутами пользователя.

    Постановка задачи: Разрешить удаленное подключение только пользователям, имеющим отмеченный переключатель Allow во вкладке Dial-in в AD.

    Решение: 
    • на сервере аутентификации пометить пользователя как имеющего право на удаленный доступ (установить соответствующий LDAP атрибут).
    • создать Connection Profile на ASA, назначить ему политику, запрещающую всем коннект.
    • создать на ASA политику разрешающую коннект. 
    • проассоциировать ранее установленный LDAP атрибут, возвращаемый сервером аутентификации с соответствующей разрешительной политикой.
    Подробнее:
    2.1. В AD пользователю, имеющему право на удаленное подключение, необходимо отметить переключатель Allow, используя вкладку Dial-in.

    2.2. К пользователю можно применить политики, определяющие различные атрибуты.
    Приоритеты атрибутов политик показаны на схеме:


    Существуют следующие типы атрибутов:
    1.    Dynamic Access Policy (DAP) Attributes– атрибуты динамических политик доступа, хранятся на флешке в файле dap.xml. Для редактирования из CLI недоступны, следует во всех случаях использовать ASDM.
    2.    User Attributes – атрибуты, предоставляемые сервером LDAP. Если на сервере атрибут не установлен, он не возвращается. Например, если на вкладке Dial-in атрибут Remote Access Permission (msNPAllowDialin) выставлен в положение Control Access through Remote  Access Policy, он считается не установленным и  не передается на ASA при аутентификации.
    3.    Group Policy Attributes – атрибуты, полученные из групповой политики, ассоциированной с пользователем.
    4.    Group Policy Attributes Associated with Connection Profile – атрибуты групповой политики, ассоциированные с Connection Profile
    5.    System Default Group Policy – системный атрибуты, определяются в политике по умолчанию DfltGrpPolicy. Применяются всегда в последнюю очередь, обладают самым низким приоритетом.

    ASA  складывает атрибуты всех политик с учетом приоритетов политик.  Т.е. атрибуты, определенные в DAP являются более приоритетными, чем User Attributes и  т.д.

    В политике  DfltGrpPolicy (“Configuration”->”Remote Access VPN” -> “Network (Client) Access” -> “Group Policies”) атрибут Simultaneous Logins выставлен в 0, запрещая таким образом удаленный коннект.

    Создаем Connection Profile (“Configuration”->”Remote Access VPN” -> “Network (Client) Access” -> “IP Connection Profiles”)  и устанавливаем в качестве дефолтной системную  политику DfltGrpPolicy.

    2.3. Создаем свою политику, разрешающую VPN соединения AllowVPN (“Configuration”->”Remote Access VPN” -> “Network (Client) Access” -> “Group Policies”). Определяем ее параметры, не забываем выставить атрибут Simultaneous Logins отличный от 0.

    2.4. Создаем/редактируем “LDAP Attribute Map” (“Configuration”->”Remote Access VPN” -> “AAA/Local Users” -> “LDAP Attribute Map”), добавляя в нее ассоциацию  атрибута msNPAllowDialin на IETF-Radius-Class (определяет имя Group Policy) . Добавляем также ассоциацию значений TRUE=AllowVPN.


    пятница, 10 декабря 2010 г.

    VLSM шпаргалка.

    Принципы управления адресным пространством описаны в руководстве Cisco здесь.

    Разбиение сети на подсети иногда является нетривиальной задачей. Использование калькулятора не только не всегда возможно, но и мешает понять суть вещей. Когда-то мною был найден в интернете документ, облегчающий этот процесс. Cам документ и ссылка на него были утеряны. Однако, методику я тут изложу, потому что идея простая, наглядная и красивая :)

    Смотрим на рисунок(вертикальными линиями обозначены все возможные варианты границ сетей. Поскольку официально минимальная сеть /30, т.е. содержит 4 адреса, то и линии через каждые 4):


    И используем правило:

    Можно содавать любые подсети, если вертикальные линии внутри интересующего промежутка ниже линий, ограничивающих этот промежуток. Адрес подсети будет равен цифре под самой левой линией, ограничивающей промежуток, маску подсчитать уже не сложно.

    Например, нам необходимо создать подсеть на 5 хостов. Ближайшая к пятерке степень двойки равна 3 (число 8). Теперь откладываем по оси Х 8 от интересующей нас цифры подсети. Например, нам приглянулась подсеть 56:

    Видим, что все вертикальные линии в промежутке 56-64 ниже, чем граничные, значит подсеть Х.Х.Х.56/29 допустима.
    Теперь посмотрим то же самое для подсети Х.Х.Х.76/29:
    Посередине интересующего нас отрезка есть вертикальная линия выше граничных линий, значит сеть Х.Х.Х.76/29  существовать не может.