Nginx


Nginx Authentication via AD

(Ubuntu Server 16.04)

# Для подключения LDAP Аунтификация на Nginx нам нужен будет nginx-auth-ldap модуль.

# из коробки он на текущий момент не идет ,по этому прийдеться собрать пакет nginx из “сорсов”

# Для этого нужно выполнить следующие команды:
# установка пакета и либы для сборки с сорсов

sudo apt-get install dpkg-dev libldap2-dev
# Добавляем “ соурс репу”

sudo add-apt-repository ppa:nginx/stable
#Правим “соурс лист”

sudo vim /etc/apt/source.list.d//nginx-ubuntu-stable-xenial.list
deb http://ppa.launchpad.net/nginx/stable/ubuntu xenial main
deb-src http://ppa.launchpad.net/nginx/stable/ubuntu xenial main
sudo apt-get update
# Переходим в дерикторию и вытягиваем пакет nginx (в моем случае это /opt/)

sudo apt-get source nginx
sudo apt-get build-dep nginx
cd /opt/nginx/nginx-1.10.1/debian
# Правим файл rules

sudo vim rules
# Находим строчку full_configure_flags := \ и добавляем
--add-module=$(MODULESDIR)/nginx-auth-ldap
При этом обязательно добавить в придедущей строке обратный слеш \

#Переходим в директорию с модулями и копируем с гита nginx-auth-ldap
cd /opt/nginx/nginx-1.10.1/debian/modules

 #Билдим пакет

cd /opt/nginx/
sudo dpkg-buildpackage -uc -us (or -b flag)
# и потом запускаем его
sudo dpkg —install nginx_1.10.1-3+xenial0_all.deb
# Правим конфиг /etc/nginx/fastcgi_params добавляем следующую строку
vim /etc/nginx/fastcgi_params
fastcgi_param REMOTE_USER $remote_user

# Проверяем наличие модуля nginx-auth-ldap
sudo nginx -V

# Правим основной конфиг

vim /etc/nginx/nginx.conf

ldap_server LDAP1 {
 # user search base.
# bind as
binddn "CN=OCS user,OU=Users,OU=KievOffice,DC=domain,DC=local";
# bind pw
binddn_passwd <Password>;
# group attribute name which contains member object
group_attribute member;
# search for full DN in member object
group_attribute_is_dn on;
# matching algorithm (any / all)
satisfy any;
# list of allowed groups
require group "CN=OCS admins,OU=Office,DC=domain,DC=local";
#require group "CN=New York Users,OU=My Security Groups,DC=company,DC=com";
# list of allowed users
# require 'valid_user' cannot be used together with 'user' as valid user is a superset
# require valid_user;
#require user "CN=Batman,OU=Users,OU=New York Office,OU=Offices,DC=company,DC=com";
#require user "CN=Robocop,OU=Users,OU=New York Office,OU=Offices,DC=company,DC=com";
}

(Это наглядный пример конфига, у каждего он по разному =) )

# В конфиг виртуального хоста добавляем это :
vim /etc/nginx/conf.d/default

server {
…..
auth_ldap "Restricted Access";
auth_ldap_servers LDAP1;
…...
}
# Проверяем и если все ок , перечитываем конфиг

sudo nginx -t
sudo service nginx reload

# Готово ! =)

Комментариев нет:

Отправить комментарий