Диплом: Автоматизация учета и обработки заявок пользователей на ТО и ремонт оргтехники (HELP DESK) в производственном филиале «Иркутскгазгеофизика» ООО «Газпром георесурс»

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
65
Рисунок 22. Создание учетной записи сервера
На сервере NIX.IGGF.LOCAL, для ввода в домен необходимо установить
клиент Kerberos, Samba и Winbind.
Kerberos, это протокол сетевой аутентификации, основанный на
принципе доверия третьей стороне. Это значит, что в процессе аутентификации
фигурирует третья сторона, которой по умолчанию доверяют участники
взаимодействия, такая сторона называется Центр распространения ключей (Key
Distribution Center (KDC)). Прежде чем обратиться к серверу, клиент посылает
сообщение KDC, а KDC в свою очередь направляет каждому участнику сеанса
копии сеансового ключа, действующие в течение небольшого промежутка
времени. Назначение этих ключей – проведение аутентификации клиента и
сервера. Участник сетевого взаимодействия, который обращается к KDC за
ключами, называется «принципал». KDC располагается на контроллере домена.
Samba — это пакет программ, которые позволяют обращаться к сетевым
дискам и принтерам на различных операционных системах по протоколу SMB/
CIFS. Samba-сервер может выступать в роли контроллера домена и сервиса
66
Active Directory, и способен обслуживать все поддерживаемые Microsoft версии
Windows-клиентов.
Winbind это служба, работающая на клиентах Samba и действующая как
прокси для связи между PAM (Pluggable Authentication Modules) и NSS (Name-
Service Switch), работающая на компьютере Linux, с одной стороны, и Active
Directory, работающей на контроллере домена, с другой. В частности, Winbind
использует Kerberos для проверки подлинности с помощью Active Directory и
LDAP для получения информации о пользователях и группах. Winbind также
предоставляет дополнительные услуги, такие, как возможность обнаруживать
контролер домена, используя алгоритм, подобный DCLOCATOR в Active
Directory, и возможность сбрасывать пароли Active Directory, связываясь с
контроллером домена при помощи RPC (Remote Procedure Call) [10].
PAM (Pluggable Authentication Modules) модульный метод, для
опознавания пользователей и их доступа к службам. Путь проверки
использования системой PAM состоит в проверке каталога /etc/pam.d/.
NSS (Name-Service Switch) – диспетчер службы имен. Отвечает за то, как
и где системный вызов nsdispatch будет производить поиск разнообразной
информации в системных базах вроде названий хостов, имен пользователей и
паролей. В качестве системных баз используются локальные файлы вроде
/etc/hosts, /etc/passwd, DNS, NIS и пр. Конфигурирование производится в файле
/etc/nsswitch.conf.
Для установки вышеперечисленных пакетов необходимо выполнить в
командной строке:
apt install krb5-user samba winbind
Установить дополнительные библиотеки командой:
apt install libpam-winbind libnss-winbind libpam-krb5
Внести необходимые настройки в файл /etc/resolv.conf, как показано в
листинге 3:
67
nameserver 192.168.0.240
nameserver 192.168.0.241
domain iggf.local
search iggf.local
Листинг 3. Настройки файла resolv.conf
Перезапустить службу командой:
/etc/init.d/networking restart
Настроить синхронизацию времени с контроллером домена. Для этого:
4.1. Установить службу синхронизации времени командой:
apt install ntp
4.2. Настроить синхронизацию командами:
net time set dc
ntpdate 192.168.0.240
4.3. Отредактировать файл /etc/ntp.conf, добавив в него следующую
строку:
server 192.168.0.240
4.4. Перезапустить службу синхронизации времени командой:
/etc/init.d/ntp restart
Настроить авторизацию в домене через протокол Kerberos. Для этого
необходимо изменить файл /etc/krb5.conf, как указано в листинге 4:
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = IGGF.LOCAL
# The following krb5.conf variables are only for MIT Kerberos.
kdc_timesync = 1
ccache_type = 4
forwardable = true
68
proxiable = true
v4_instance_resolve = false
v4_name_convert = {
host = {
rcmd = host
ftp = ftp
}
plain = {
something = something-else
}
}
fcc-mit-ticketflags = true
[realms]
IGGF.LOCAL = {
kdc = dc.iggf.local
admin_server = dc.iggf.local
default_domain = IGGF.LOCAL
}
[domain_realm]
.iggf.local = IGGF.LOCAL
iggf.local = IGGF.LOCAL
[login]
krb4_convert = false
krb4_get_tickets = false
Листинг 4. Настройка файла /etc/krb5.conf
В файл /etc/samba/smb.conf, в секцию [global] внести изменения, как
указано в листинге 5:
[global]
workgroup = IGGF
realm = IGGF.LOCAL
security = ADS
69
encrypt passwords = true
dns proxy = no
socket options = TCP_NODELAY
domain master = no
local master = no
preferred master = no
os level = 0
domain logons = no
idmap config * : range = 10000-20000
idmap config * : backend = tdb
winbind enum groups = yes
winbind enum users = yes
winbind use default domain = yes
template shell = /bin/bash
winbind refresh tickets = yes
load printers = no
show add printer wizard = no
printcap name = /dev/null
disable spoolss = yes
Листинг 5. Настройка файла /etc/samba/smb.conf
Ввести сервер в доен командой:
net ads join -U golub -D IGGF
Перезапустить службы командами:
/etc/init.d/winbind stop
smbd restart
/etc/init.d/winbind start
Отредактировать файл /etc/security/limits.conf, внеся в конец файла
следующие строки:
#<domain> <type> <item> <value>
* - nofile 16384
root - nofile 16384
Листинг 6. Настройки файла /etc/security/limits.conf
70
Добавить Winbind в качестве источника пользователей и групп. Для
этого в файле /etc/nsswitch.conf необходимо изменить строки passwd и
group, и привести строку files к следующему виду виду:
passwd: compat winbind
group: compat winbind
shadow: compat
gshadow: files
hosts: files mdns4_minimal [NOTFOUND=return] mdns4
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
Листинг 7. Настройка файла /etc/nsswitch.conf
Для того, чтобы пользователи домена могли входить на данный
сервер, необходимо привести файл /etc/pam.d/common-session, к виду:
session [default=1] pam_permit.so
session requisite pam_deny.so
session required pam_permit.so
session optional pam_krb5.so minimum_uid=1000
session required pam_unix.so
session optional pam_winbind.so
session optional pam_systemd.so
session optional pam_mkhomedir.so skel=/etc/skel/ umask=0077
Листинг 8. Настройка файла /etc/pam.d/common-session
На этом подготовка доменной инфраструктуры окончена.
71
Интеграция автоматизированной информационной системы с
действующей на предприятии доменной инфраструктурой
Подключение пользователей производственного филиала из
активного каталога Active Directory
На данном этапе интеграции АИС с доменной инфраструктурой
необходимо настроить OTRS Help Desk таким образом, чтобы все пользователи
из Active Directory могли выступать в качестве пользователей системы
(клиентов), у которых будет возможность создавать заявки на обслуживание. А
пользователи из группы HelpDeskAdmins, могли авторизоваться в качестве
специалистов поддержки (агентов).
Наличие электронного адреса в учетных записях Active Directory является
обязательным условием для интеграции АИС с доменной инфраструктурой [17].
Для начала необходимо авторизоваться в АИС под локальным
пользователем root@localhost, открыть вкладку «Администрирование» и
перейти в настройки управления агентами. Создать нового агента, логин указать
helpdesk@iggf.local, в соответствии с тем логином, который был указан для
учетной записи администратора Help Desk в Active Directory. В поле “Пароль”
необходимо указать пароль, который был указан для учетной записи
администратора Help Desk в Active Directory. В поле “Email” указать адрес
электронной почты администратора Help Desk, как показано на рисунке 23.
Посредством данной учетной записи по протоколу LDAP система будет брать
данные из Active Directory, в том числе списки клиентов и агентов.
Протокол LDAP определяет методы, посредством которых
осуществляется доступ к данным Active Directory. Он также определяет и
описывает, как данные представлены в службе каталогов (Модель данных или
Информационная модель). Также, он определяет, каким образом данные
загружаются (импортируются) и выгружаются (экспортируются) из службы
каталогов. LDAP не определяет, как происходит хранение и манипулирование
данными. С точки зрения стандарта хранилище данных и методы доступа к нему
- это "чёрный ящик", за который, как правило, отвечают модули back-end
72
(механизмы манипуляции данными) какой-либо конкретной реализации LDAP
(обычно в них используется некоторая форма транзакционной базы данных).
Рисунок 23. Изменение учетной записи администратора АИС
Далее необходимо отредактировать на сервере NIX.IGGF.LOCAL файл
конфигурации OTRS /opt/otrs/kernel/Config.pm (полный листинг файла приведён
в приложении 1) следующим образом:
Настроить аутентификацию c использованием протокола LDAP для
агентов:
# insert your own config settings "here" #
$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = '192.168.0.240';
$Self->{'AuthModule::LDAP::BaseDN'} = 'dc=iggf,dc=local';
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthModule::LDAP::GroupDN'} = 'cn=Help
Deskadmins,cn=Users,dc=iggf,dc=local';
$Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
$Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'helpdesk@iggf.local';
$Self->{'AuthModule::LDAP::SearchUserPw'} = 'Gfhflbuvf00';
73
$Self->{'AuthModule::LDAP::AlwaysFilter'} = '';
$Self->{'AuthModule::LDAP::Params'} = {
port => 389,
timeout => 120,
async => 0,
version => 3,
sscope => 'sub'
};
$Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
$Self->{'AuthSyncModule::LDAP::Host'} = '192.168.0.240';
$Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=iggf, dc=local';
$Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'helpdesk@iggf.local';
$Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'Gfhflbuvf00';
$Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
UserFirstname => 'givenName',
UserLastname => 'sn',
UserEmail => 'mail',
};
$Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [
'users', 'basic_admin',
];
Листинг 9. Настройка LDAP аутентификации агентов
Настроить авторизацию пользователей:
$Self->{'Customer::AuthModule'} =
'Kernel::System::CustomerAuth::HTTPBasicAuth';
$Self->{CustomerPanelLoginURL1} = 'http://nix.iggf.local/otrs/customer.pl';
$Self->{CustomerPanelLogoutURL1} = 'http://nix.iggf.local/otrs/customer.pl';
Листинг 10. Настройки авторизации пользователей
Настроить загрузку пользователей из LDAP:
$Self->{CustomerUser} = {
Module => 'Kernel::System::CustomerUser::LDAP',
74
Params => {
Host => '192.168.0.240',
BaseDN => 'dc=iggf,dc=local',
SSCOPE => 'sub',
UserDN =>'Help Desk@iggf.local',
UserPw => 'Gfhflbuvf00',
AlwaysFilter =>
'(&(samAccountType=805306368)(!(userAccountControl:1.2.840.113556.1.4.80
3:=2)))',
SourceCharset => 'utf-8',
DestCharset => 'utf-8',
},
CustomerKey => 'sAMAccountName',
CustomerID => 'mail',
CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserSearchPrefix => '',
CustomerUserSearchSuffix => '*',
CustomerUserSearchListLimit => 10000,
CustomerUserPostMasterSearchFields => ['mail'],
CustomerUserNameFields => ['givenname', 'sn'],
Map => [
# note: Login, Email and CustomerID needed!
#[ 'UserSalutation', 'Title', 'title', 1, 0, 'var' ],
[ 'UserFirstname', 'Firstname', 'givenname', 1, 1, 'var' ],
[ 'UserLastname', 'Lastname', 'sn', 1, 1, 'var' ],
[ 'UserLogin', 'Login', 'sAMAccountName', 1, 1, 'var' ],
[ 'UserEmail', 'Email', 'mail', 1, 1, 'var' ],
[ 'UserCustomerID', 'CustomerID', 'mail', 0, 1, 'var' ],
[ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var' ],
#[ 'UserAddress', 'Address', 'postaladdress', 1, 0, 'var' ],
#[ 'UserComment', 'Comment', 'description', 1, 0, 'var' ],
],
};
Листинг 11. Настройка загрузки пользователей из LDAP

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)