IT News: Digital Camera, OS, Laptop, Smartphone, Smart TV, Sound...

The Author's Project by Valeri N.Kravchuk
Сайт проверен Dr.Web
Меню сайта
  • Главная страница
  • Информация о сайте
  • Дневник
  • Каталог файлов
  • Обратная связь
  • Каталог сайтов
  • FAQ
  • Доска объявлений
  • Форум
  • Фотоальбом
  • Категории раздела
    Измерительная техника, инструменты [278]
    Drones, boats, cars... [99]
    Накопители данных [186]
    Гаджеты для спорта и здоровья... [166]
    Автомобильные гаджеты... [159]
    Сети, сетевые технологии, оборудование... [211]
    Гаджеты, аксессуары... [604]
    News IT, Это интересно, ликбез... [1048]
    Linux и не только [4195]
    Windows 10... [271]
    Планшеты [738]
    Нетбуки, Ноутбуки, Ультрабуки [618]
    Смартфоны, фаблеты.. [4986]
    GPS-навигаторы, трекеры... [49]
    Видеорегистраторы [195]
    mini computers и не только... [365]
    Своими руками [322]
    CB, LPD, PMR- связь... [110]
    Smart TV, UltraHD, приставки, проекторы... [404]
    Радар-детекторы [22]
    DECT, IP-телефоны [18]
    Мультиварки, блендеры и не только... [122]
    Smart Watch [225]
    Блоки питания, Power Banks, зарядки... [340]
    Sound: наушники, плееры, усилители... [568]
    Безопасность IT [478]
    Электронные книги [75]
    Роботы-пылесосы [26]
    electric cars [28]
    Фотокамеры, объективы, искусство фотографии.. [433]
    Время

    Интересные ссылки

    COMPIZOMANIA

    Наш опрос
    Оцените мой сайт
    Всего ответов: 1243
    Статистика
    Анализ веб сайтов

    Яндекс.Метрика

    Рейтинг@Mail.ru Яндекс цитирования

    Russian America Top. Рейтинг ресурсов Русской Америки.

    eXTReMe Tracker

    Правильный CSS!


    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Locations of visitors to this page
    Форма входа
    Главная » 2014 » Март » 31 » TACACS+ на Linux с аутентификацие через Active Directory
    11:06
    TACACS+ на Linux с аутентификацие через Active Directory

    TACACS+ на Linux с аутентификацие через Active Directory

    В сети присутствует множество различных гайдов на эту тему, но поднять сервис на Linux и связать его с Active Directory в течении 30-60 минут не удалось. Предлагаю свой путь решения задачи, с подробными комментариями.

    Приступим к установке сервиса. В качестве ОСи используется CentOS.

    Устанавливаем необходимые служебные пакеты

    # yum install gcc
    # yum install perl-LDAP
    # yum install bind-utils
    


    Все операции производим под «root»
    (соответственно домашняя директория /root)

    Установка Tac Plus

    # yum install wget
    # wget http://www.pro-bono-publico.de/projects/src/DEVEL.tar.bz2
    # tar xvfj ./DEVEL.tar.bz2
    # cd ./PROJECTS
    # ./configure
    # make
    # make install
    


    Добавляем директории для файлов аккаунтинга

    # mkdir /var/log/tac_plus
    # mkdir /var/log/tac_plus/access
    # mkdir /var/log/tac_plus/acct
    # chmod 760 -R /var/log/tac_plus/
    


    Добавляем Tac Plus в автозагрузку

    # cp /root/PROJECTS/tac_plus/extra/etc_init.d_tac_plus /etc/init.d/tac_plus
    # chmod 755 /etc/init.d/tac_plus
    # chkconfig --add tac_plus
    # chkconfig --level 2345 tac_plus on
    


    Проверка включения в автозагрузку

    # chkconfig --list | grep tac_plus
    


    Правим конфигурационный файл

    # cp /root/PROJECTS/tac_plus/extra/tac_plus.cfg-ads /usr/local/etc/tac_plus.cfg
    # chmod 660 /usr/local/etc/tac_plus.cfg
    


    !!! После каждого изменения конфига сервис должен быть перезапущен (service tac_plus restart)
    Пример рабочего конфигурационного файла (нужно заменить содержимое tac_plus.cfg, предварительно внеся коррективы в прокомментированные поля)
     

    #!/usr/local/sbin/tac_plus
    id = spawnd {
     listen = { port = 49 } #порт, используемый сервисом TACACS
     spawn = {
     instances min = 1
     instances max = 10
     }
     background = yes
    }
    
    id = tac_plus {
     # лог файлы
     access log = ">/var/log/tac_plus/access/%Y%m%d.log"
     accounting log = ">/var/log/tac_plus/acct/%Y%m%d.log"
     
     # блок настройки подключения к Active Directory
     mavis module = external {
     setenv LDAP_SERVER_TYPE = "microsoft"
     setenv LDAP_HOSTS = "ldaps://domain.name:636" # имя домена должно разрешаться DNS-сервером (проверить с помощью nslookup). Вместо имени можно использовать IP адрес
     setenv LDAP_SCOPE = sub
     setenv LDAP_BASE = "dc=domain,dc=name" # где искать пользователей
     setenv LDAP_FILTER = "(&(objectclass=user)(sAMAccountName=%s))"
     setenv LDAP_USER = "aduser@domain.name" # служебный юзер для интеграции с AD
     setenv LDAP_PASSWD = "passw0rd" # пароль юзера
     #setenv AD_GROUP_PREFIX = tacacs
     #setenv REQUIRE_TACACS_GROUP_PREFIX = 1
     #setenv USE_TLS = 0
     setenv FLAG_USE_MEMBEROF = 1
     exec = /usr/local/lib/mavis/mavis_tacplus_ldap.pl
     }
    
     login backend = mavis
     user backend = mavis
     #pap backend = mavis
    
     host = world {
     address = ::/0
     welcome banner = ""
     #Crypt password generate by "openssl passwd -1 clear_text_password"
     enable 15 = crypt $1$eqIkg6p0$jzhK5.
     key = "TACACSPASSWORD" #пароль для связки с TACACS-клиентом
     }
     # группу администрирования наделяем правами суперадмина
     group = ADMIN {
     message = "[Admin privileges]"
     default service = permit
     service = shell {
     default command = permit
     default attribute = permit
     set priv-lvl = 15
     }
     }
     # группе голосовых админов даем полный набор привелегий и запрещаем конкретные команды
     group = VOIP {
     message = "[VoIP-admin privileges]"
     default service = permit
     service = shell {
     default command = permit
     default attribute = permit
     set priv-lvl = 15
     cmd = interface {
     permit "Lo*"
     permit "Se*"
     deny .*
     }
     cmd = aaa { deny .* }
     cmd = username { deny .* }
     cmd = line { deny .* }
     cmd = delete { deny .* }
     #cmd = reload { deny .* }
     cmd = boot { deny .* }
     cmd = enable { deny .* }
     cmd = archive { deny .* }
     cmd = router { deny .* }
     cmd = ip {
     permit "address *"
     deny .*
     }
     cmd = tacacs-server { deny .* }
     cmd = radius-server { deny .* }
     cmd = privilege { deny .* }
     cmd = erase { deny .* }
     cmd = write {
     permit "memory"
     deny .*
     }
     cmd = format { deny .* }
     }
     }
    }


    Проверяем правильность конфига (если все ОК, то ничего не выведет)

    # /usr/local/sbin/tac_plus -P /usr/local/etc/tac_plus.cfg
    


    Создаем группы в AD
    В Active Directory необходимо создать 2 группы (исходя из нашего конфига): tacacsadmin и tacacsvoip.
    Tac Plus отрезает префикс «tacacs» при соотношении группы, указанной в AD, группе в конфиге и переводит оставшиеся символы в верхний регистр.
    Таким образом tacacsadmin соответвствует ADMIN, а tacacsvoip соответствует VOIP (изменить данное поведение можно поигравшись атрибутами: AD_GROUP_PREFIX и REQUIRE_TACACS_GROUP_PREFIX в конфиге).
    Группы указаны в конфиге большими буквами не случайно!
    Добавляем пользователей в созданные группы.

    Запуск и остановка сервиса TACACS

    # service tac_plus start
    # service tac_plus stop
    # service tac_plus restart
    


    Конфигурация сервиса AAA на оборудовании Cisco

    tacacs server TACSRV1
     !IP-адрес tacacs-сервера
     address ipv4 172.16.2.2
     !ключ должен совпадать с тем, что указан в конфиге на сервере
     key TACACSPASSWORD
     timeout 2
    !
    aaa new-model
    aaa group server tacacs+ TACSERVICE
     server name TACSRV1
    aaa authentication login default group TACSERVICE local
    aaa authentication login CONSOLE local
    aaa authentication enable default group TACSERVICE enable
    aaa authorization config-commands
    aaa authorization exec default group TACSERVICE local
    aaa authorization exec CONSOLE local
    aaa authorization commands 15 default group TACSERVICE local
    aaa accounting commands 15 default start-stop group TACSERVICE
    !
    line con 0
     login authentication CONSOLE
    line vty 0 15
    


    Методика дебага
    1. Проверка работы модулей LDAP (должно вернуть пустую строку без ошибок). Ошибки в случае не установленного пакета perl-LDAP.

    # env LDAP_HOSTS="172.16.1.1" LDAP_SERVER_TYPE="microsoft" /usr/local/lib/mavis/mavis_tacplus_ldap.pl
    2. Проверка связки TACACS - LDAP. Должно вернуть в поле RESULT - ACK. В случае ошибки проверить блок конфига, ответственный за интеграцию с AD.
    <source lang="bash">
    # /usr/local/bin/mavistest /usr/local/etc/tac_plus.cfg tac_plus TACPLUS <login> <password>
    


    3. Проверка, что сервис запущен и слушает порт tcp 49

    # netstat -nlp | grep tac_plus
    


    4. Для того, чтобы увидеть обращения к сервису

    # tcpdump -nn port 49
    


    5. Дебаг запросов обрабатываемых сервисом

    # /usr/local/sbin/tac_plus -d 4088 -fp /var/run/tac_plus.pid /usr/local/etc/tac_plus.cfg
    


    Благодарю за внимание!

    Источники информации и вспомогательные ссылки:
    http://packetroute.wordpress.com/2012/12/12/tacacs-ad-centos-free/
    http://www.pro-bono-publico.de/projects/howto-tac_plus-ads.html
    http://habrahabr.ru/post/194750/

    http://habrahabr.ru/post/217669/

    Категория: Linux и не только | Просмотров: 502 | Добавил: laptop | Рейтинг: 0.0/0
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк - единственный из зверей, который может пойти в бой на более сильного противника.
    Если же он проиграл бой, то до последнего вздоха смотрит в глаза противника. После этого умирает...

    Праздники сегодня

    Погода
    Погода в Нью-Йорке Погода в Бреcте
    Поиск
    Календарь
    Архив записей
    Друзья сайта
  • Официальный блог
  • JEEP - the best! Mercedes - the best! Автомобильный портал города Бреста: технические характеристики с фото, авторынок, автоспорт...
    Наша кнопка
    IT новости с моего лаптопа...

    Внимание!
    Администратор сайта laptop.ucoz.ru не несет ответственности за содержание рекламных объявлений. Все используемые на сайте зарегистрированные товарные знаки принадлежат своим законным владельцам! Используемая со сторонних источников информация публикуется с обязательными ссылками на эти источники.
    Copyright Valeri N.Kravchuk © 2007-2019