36968
Захист мережевого сервісу (засобами ОС Windows 2003 Server, OC Linux)
Лабораторная работа
Информатика, кибернетика и программирование
Типове ім'я принципіалу виглядає так root dmin@GRINDER.COM що означає ім'я primry nme root характеристику instnce який належить сектору GRINDER.conf [libdefults] defult_relm = GRINDER.COM kdc і dmin сервер для GRINDER.
Украинкский
2013-09-23
259.5 KB
2 чел.
Захист мережевого сервісу
(засобами ОС Windows 2003 Server, OC Linux)
Мета: навчитися встановлювати і налаштовувати мережеву систему аутентифікації користувачів Kerberos на прикладі Linux Ubuntu.
Теоретичні відомості
Розглянемо принцип роботи системи. Протокол описаний у RFC 1510 (tools.ietf.org/html/rfc1510) і RFC 4120 (tools.ietf.org/html/rfc4120). Нині клієнтські компоненти для роботи з Kerberos є у більшості сучасних операційних систем. Для підтвердження достовірності використовується довірена третя сторона, яка володіє секретними ключами усіх суб'єктів і що бере участь в попарній перевірці достовірності.
Коли клієнт намагається отримати доступ до ресурсу, він посилає запит, що містить відомості про себе і про запрошувану послугу. Увесь процес відбувається в три етапи, у відповідь контролер Kerberos (Key Distribution Center, KDC) видає квиток, що засвідчує користувача TGT (ticketgranting ticket). Кожен квиток має обмежений термін життя, що знижує інтерес до його перехоплення. Тому однією з вимог до системи Kerberos є синхронізація часу між усіма учасниками. При подальшому зверненні до інших сервісів вводити пароль вже не треба.
Кожен учасник системи Kerberos як служба, так і користувач іменуються принципіал (principial). Кожен принципіал має ім'я і пароль. Типове ім'я принципіалу виглядає так root/admin@GRINDER.COM, що означає ім'я (primary name) root, характеристику (instance), який належить сектору GRINDER.COM. Такий підхід дозволяє розрізняти декілька служб, що працюють на одному комп'ютері, і серед однотипних служб вибирати потрібну. Уся схема роботи від користувача прихована. При зверненні до ресурсу він, як і раніше, вводить тільки свій логін і пароль.
Для зручності комп'ютери можуть бути об'єднані в сектори (realms), до речі в деякій літературі realms перекладають як домен. Усі принципіали зберігаються у базі даних сервера Kerberos. У мережі може бути використано декілька KDC, один з яких є основним (master). На master KDC встановлюється адміністративний сервер kadmind керівник політиками. Усе, звичайно, не так просто, і на порядок або два складніше, але цього вистачає для розуміння, того що ми нааштовуватимемо далі.
Хід роботи
1. Встановлюємо NTP
Перш ніж встановити Kerberos, необхідно налаштувати службу синхронізації часу (NTP Network Time Protocol), без якої не можлива нормальна робота Kerberos.
$ sudo apt-get install ntp
Всі налаштування виконуються в одному файлі.
$ sudo mcedit /etc/ntp.conf
driftfile /var/lib/ntp/ntp.drift
statsdir /var/log/ntpstats/
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
# сервери, з якими будемо синхронізовувати час
server ntp.ubuntulinux.org
server pool.ntp.org
server time.nist.gov
# використовуємо локальний час у випадку невдачі
server 127.127.1.0
fudge 127.127.1.0 stratum 13
restrict default kod notrap nomodify nopeer noquery
# локальні користувачі можуть здійснювати запит часу
restrict 127.0.0.1 nomodify
# вмикаємо broadcast
broadcast 192.168.1.255
# прослуховування часу в мережі
disable auth
broadcastclien
Перезапускаємо сервер.
$ sudo /etc/init.d/ntp restart
* Stopping NTP server ntpd [ OK ]
* Starting NTP server ntpd [ OK ]
Тепер синхронізуємо час.
$ ntpq -p -c as && echo && ntptrace
2. Установка Kerberos
У репозитаріях пакетів дистрибутивів Linux вже є все необхідне. Хоча за бажанням можна встановити систему з початкових текстів. Дистрибутив Heimdal знайдете на FTP сервері Стокгольмського університету ftp://ftp.pdc.kth.se/pub/heimdal/src. Там же можна знайти готові пакети для деяких дистрибутивів. Версія від MIT знаходиться за адресою http://web.mit.edu/kerberos/.
Команда "sudo apt-cache search kerberos" в Ubuntu видасть великий список пакетів, в якому можна знайти вирішення від MIT і Hemdail. (http://www.tux.in.ua/wp-content/uploads/2008/01/319.png)
Основні їх налаштування практично ідентичні. Також ці системи розуміють квитки, видані одне одним, хоча є і проблеми сумісності (про них тут не згадуватимемо). Для прикладу виберемо версію від МІТ.
$ sudo apt-get install krb5-admin-server krb5-kdc krb5-config krb5-user krb5-clients
Основні налаштування Kerberos проводяться у файлі /etc/krb5.conf. Набивати його повністю не треба, можна використати готовий шаблон.
$ sudo cp /usr/share/kerberos-configs/krb5.conf.template /etc/krb5.conf
Тепер відкриваємо файл і починаємо підганяти під свої умови.
$ sudo mcedit /etc/krb5.conf
[libdefaults]
default_realm = GRINDER.COM
# kdc і admin сервер для GRINDER.COM
[realms]
GRINDER.COM = {
kdc = server.grinder.com
admin_server = server.grinder.com
}
# повідомляємо kdc, які вузли входять в область GRINDER.COM
# якщо область і домен співпадають, цю секцію можно опустити
[domain_realm]
grinder.com = GRINDER.COM
.grinder.com = GRINDER.COM
# відключаємо сумісність із 4 версією Kerberos
[login]
krb4_convert = false
krb4_get_tickets = false
Цей файл використовується як сервером, так і додатками, тому його можна практично без змін поширити а решту систем, що входять в один realms (якщо їх багато, можна використовувати службу DNS). Усі налаштування KDC здійснюються в /etc/krb5kdc/kdc.conf. Більшу частину параметрів можна залишити без змін, виправивши лише realms:
$ sudo mcedit /etc/krb5kdc/kdc.conf
[kdcdefaults]
kdc_ports = 750,88
[realms]
GRINDER.COM = {
database_name = /var/lib/krb5kdc/principal
admin_keytab = FILE:/etc/krb5kdc/kadm5.keytab
acl_file = /etc/krb5kdc/kadm5.acl
key_stash_file = /etc/krb5kdc/stash
kdc_ports = 750,88
max_life = 10h 0m 0s
max_renewable_life = 7d 0h 0m 0s
master_key_type = des3-hmac-sha1
supported_enctypes = des3-hmac-sha1:normal des-cbc-crc:normal des:normal des:v4 des:norealm des:onlyrealm des:afs3
default_principal_flags = +preauth
}
Перезапускаємо KDC і сервер адміністрування.
$ sudo /etc/init.d/krb5-kdc restart
$ sudo /etc/init.d/krb5-admin-server restart
Стаорюємо принци піали і ключі
Спочатку слідж створити нову базу даних і наповнити її принципіалами. Тут можливі кілька варіантів, один з яких виклик kadmin з ключем l. Можна використовувати спеціальні утиліти.
$ sudo kdb5_util create -s
Loading random data
Initializing database /var/lib/krb5kdc/principal for realm GRINDER.COM,
master key name K/M@GRINDER.COM
You will be prompted for the database Master Password.
It is important that you NOT FORGET this password.
Enter KDC database master key:
Re-enter KDC database master key to verify:
Нову базу створено. Утиліта просить ввести пароль. Не забудьте його. Створимо принципіал, який буде потрібен для адміністративних цілей:
$ sudo kadmin.local -q «addprinc admin/admin»
Authenticating as principal root/admin@GRINDER.COM with password.
Enter password for principal «admin/admin@GRINDER.COM»:
Re-enter password for principal «admin/admin@GRINDER.COM»:
Principal «admin/admin@GRINDER.COM» created.
Authenticating as principal root/admin@GRINDER.COM with password.
Enter password for principal «admin/admin@GRINDER.COM»:
Re-enter password for principal «admin/admin@GRINDER.COM»:
Principal «admin/admin@GRINDER.COM» created.
Для додавання принципіалів для KDC, admin сервера, свого компютера, користувачів скористаємось інтерактивним режимом роботи:
$ sudo kadmin.local -p admin/admin
Authenticating as principal admin/admin with password.
# зареєструвались, використавши принципіал адміністратора
# створюємо принципіал компютера. Оскільки компютер не буде вводити пароль, використовуємо випадковий пароль
kadmin.local: addprinc -randkey host/grinder.com
Principal «host/grinder.com@GRINDER.COM» created.
# тепер користувач
kadmin.local: addprinc grinder
Enter password for principal «grinder@GRINDER.COM»:
Re-enter password for principal «grinder@GRINDER.COM»:
Principal «grinder@GRINDER.COM» created.
# додамо принципіал компютера в файл keytab, у якому зберігаються власні принципіали
kadmin.local: ktadd host/grinder.com
Entry for principal host/grinder.com with kvno 3, encryption type Triple DES cbc mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5.keytab.
Entry for principal host/grinder.com with kvno 3, encryption type DES cbc mode with CRC-32 added to keytab WRFILE:/etc/krb5.keytab.
І так далі. Щоб мати можливість заходити віддалено на сервер з використанням Kerberos необхідно створити файл .k5login (з крапкою), у який вписати імя принципіал.
$ echo grinder@GRINDER.COM > ~/k5login
auth sufficient /lib/security/pam_krb5.so use_first_pass
В самому кінці файлу /etc/pam.d/login є рядки, що описують методи аутентифікації.
# Standard Un*x account and session
@include common-account
@include common-session
@include common-password
Перед цими рядками додаємо іще один:
@include common-krb5
Якщо реєстрація в системі здійснюється у графічному менеджері (GDM в Ubuntu, KDM в KUbuntu, в файлах gdm і/або kdm), діємо аналогічно. До речі, в репозитаріїї є пакет kredentials, після встановлення якого в панелі задач з»явиться аплет, за допомогою якого можна керувати особистими квитками. Встановити його можна командою
$ sudo apt-get install kredentials
Після чого ярлик для запуску перейде в меню К.
Нам вдалося створити систему, яка буде надійно аутентифікувати користувачів. Реєстрація користувачів та сервісів управляється з одного місця. Користувач, який успішно зареєструвався в системі, може без проблем потрапити на будь-який дозволений мережевий ресурс.
PAGE 1
А также другие работы, которые могут Вас заинтересовать | |||
17807. | СВІТОВА ВАЛЮТНА СИСТЕМА | 381.5 KB | |
ТЕМА 6. СВІТОВА ВАЛЮТНА СИСТЕМА Структура сучасної валютної системи. Національна міжнароднарегіональна та світова валютна система. Основні елементи національної валютної системи. Основні елементи світової валютної системи. Поняття валюти та її види. Конвертовані | |||
17808. | МІЖНАРОДНІ РОЗРАХУНКИ І ПЛАТІЖНИЙ БАЛАНС | 232 KB | |
TЕМА 7. Міжнародні розрахунки і платіжний баланс Поняття міжнародних розрахунків. Форми міжнародних розрахунків та їх порівняльна характеристика. Платіжний баланс його структура і методологія складання. Платіжний баланс України стан структура динаміка. Міжна | |||
17809. | МІЖНАРОДНА ЕКОНОМІЧНА ІНТЕГРАЦІЯ | 666 KB | |
Тема 8. міжнародна економічна інтеграція Поняття та основні риси міжнародної економічної інтеграції та глобалізації. Передумови й умови її становлення як якісно нового рівня МЕВ. Форми міжнародної інтеграції. Сучасні особливості процесів міжнародної економічної інте | |||
17810. | ГЛОБАЛІЗАЦІЯ ТА ЕКОНОМІЧНИЙ РОЗВИТОК | 239 KB | |
Тема 9. ГЛОБАЛІЗАЦІЯ ТА ЕКОНОМІЧНИЙ РОЗВИТОК Сутність глобалізації. Причини та основні ознаки глобалізації. Суперечливість глобалізаційного процесу. Фінансова глобалізація. Світові фінансові кризи. Глобальні проблеми та шляхи їх вирішення. Демографічний вибух та по... | |||
17811. | СУТЬ ТА ФУНКЦІЇ ГРОШЕЙ | 82.5 KB | |
ЛЕКЦІЇ ПО ДИСЦИПЛІНІ ГРОШІ ТА КРЕДИТ ТЕМА 1. СУТЬ ТА ФУНКЦІЇ ГРОШЕЙ ПЛАН 1.1. Раціоналістична та еволюційна концепції походження грошей. 1.2. Визначення поняття суті грошей. 1.3. Форми грошей причини та механізм їх еволюції. 1.4. Вартість грошей. 1.5. Функції гро | |||
17812. | КІЛЬКІСНА ТЕОРІЯ ГРОШЕЙ І СУЧАСНИЙ МОНЕТАРИЗМ | 122 KB | |
ЛЕКЦІЇ ПО ДИСЦИПЛІНІ ГРОШІ ТА КРЕДИТ ТЕМА 2. КІЛЬКІСНА ТЕОРІЯ ГРОШЕЙ І СУЧАСНИЙ МОНЕТАРИЗМ ПЛАН 2.1. Класична кількісна теорія грошей її основні постулати. 2.2. Неокласичний варіант розвитку класичної теорії грошей. 2.3. Вклад Дж. Кейнса у розвиток кількісної теорі... | |||
17813. | ГРОШОВИЙ ОБІГ І ГРОШОВІ ПОТОКИ | 602.5 KB | |
ЛЕКЦІЇ ПО ДИСЦИПЛІНІ ГРОШІ ТА КРЕДИТ ТЕМА 3. ГРОШОВИЙ ОБІГ І ГРОШОВІ ПОТОКИ ПЛАН 3.1. Поняття грошового обігу як процесу руху грошей. 3.2. Поняття грошового потоку. 3.3. Структура грошового обігу. 3.4. Маса грошей що обслуговує грошовий обіг. 3.5. Швидкість обігу грошей.... | |||
17814. | ГРОШОВИЙ РИНОК | 520.5 KB | |
ЛЕКЦІЇ ПО ДИСЦИПЛІНІ ГРОШІ ТА КРЕДИТ ТЕМА 4. ГРОШОВИЙ РИНОК ПЛАН 4.1. Суть і структура грошового ринку. 4.2. Чинники що визначають параметри попиту на гроші. 4.3. Механізм формування пропозиції грошей. 4.4. Рівновага на грошовому ринку та відсоток. 4.5. Грошовий рино | |||
17815. | ГРОШОВІ СИСТЕМИ | 89 KB | |
ЛЕКЦІЇ ПО ДИСЦИПЛІНІ ГРОШІ ТА КРЕДИТ ТЕМА 5. ГРОШОВІ СИСТЕМИ ПЛАН 5.1. Суть грошової системи її призначення та місце в економічній системі країни. Елементи грошової системи. 5.2. Основні типи грошових систем їх еволюція. Системи металевого й кредитного обігу. 5.3. | |||