Настройка SSO в Nginx, интеграция с Zabbix в Centos 8 / Rocky Linux

Thank you for reading this post, don't forget to subscribe!

 

Оригинал статьи:

Настрой­ка SSO в Nginx, инте­гра­ция с Zabbix в Centos 8 / Rocky Linux

 

Тех­но­ло­гия еди­но­го вхо­да (Single sign-on SSO) — метод аутен­ти­фи­ка­ции, кото­рый поз­во­ля­ет поль­зо­ва­те­лю пере­хо­дить из одной систе­мы в дру­гую, не свя­зан­ную с пер­вой систе­мой, без повтор­ной аутентификации.

Исход­ные данные:

  • на сер­ве­ре уже уста­нов­лен Zabbix + Nginx
  • в Zabbix настро­е­на LDAP-авто­ри­за­ция, поль­зо­ва­те­ли из AD

Уста­нав­ли­ва­ем необ­хо­ди­мые паке­ты для сбор­ки Nginx из исходников

Сборка динамического модуля Spnego

Про­ве­ря­ем вер­сию Nginx

Ска­чи­ва­ем исход­ни­ки Nginx (нашей уста­нов­лен­ной вер­сии) и рас­па­ко­вы­ва­ем их

Пере­хо­дим в каталог

Кло­ни­ру­ем репо­зи­то­рий моду­ля SPNEGO

Смот­рим, с каки­ми опци­я­ми собран уста­нов­лен­ный NGINX

Нам нуж­но все, что идет после «configure arguments:»

Зада­ем кон­фи­гу­ра­цию для сбор­ки Nginx из исход­ни­ков, в кон­це допи­сы­ва­ем «—add-dynamic-module=spnego-http-auth-nginx-module» что бы собрать дина­ми­че­ский модуль

Соби­ра­ем

В ката­ло­ге «objs» появит­ся файл «ngx_http_auth_spnego_module.so»

Подключение модуля Spnego в Nginx

Копи­ру­ем модуль в соот­вет­ству­ю­щий ката­лог и зада­ем права

Добав­ля­ем модуль ngx_http_auth_spnego_module.so в кон­фиг Nginx

Про­ве­ря­ем

Пере­за­пус­ка­ем Nginx

Интеграция с Windows AD

Уста­нав­ли­ва­ем Kerberos клиент

Редак­ти­ру­ем конфиг

Добав­ля­ем в локаль­ный DNS наш zabbix-server «mon.test.ru»
Про­пи­сы­ва­ем FQDN в /etc/hosts

Создание учетной записи и keytab в AD

В AD созда­ем стан­дарт­ную учет­ку, в дан­ном при­ме­ре zabbix_srv

Запус­ка­ем powershell, Созда­ем SPN запись

Созда­ем keytab-файл

Копи­ру­ем keytab-файл на наш zabbix-сер­вер в ката­лог /etc/nginx/

Про­ве­ря­ем на zabbix-сервере

Настройка HTTP аутентификации в zabbix

Пере­хо­дим в раз­дел: Адми­ни­стри­ро­ва­ние — Аутен­ти­фи­ка­ция — Настрой­ки HTTP

Акти­ви­ру­ем HTTP аутентификацию

Настройка SSO в Nginx

Редак­ти­ру­ем кон­фиг Nginx для Zabbix

Про­ве­ря­ем кон­фиг Nginx

Пере­за­пус­ка­ем Nginx

Теперь необ­хо­ди­мо наш сер­вер доба­вить в «дове­рен­ные», что бы зара­бо­та­ло SSO

Для про­вер­ки мож­но запу­стить Google Chrome с параметрами: