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

3. Налаштовуємо робочу станцію

До складу обох варіантів Kerberos входять утиліти, призначенв для заміни стандартних системних утиліт на зразок /bin/login. Налаштування керберизації в рвзних дистрибутивах будуть відрізнятися. Хоча б тому, що у більшості систем використовується /sbin/init і достатньо в /etc/inittab замінити /bin/login на керберизований /usr/bin/login, після чого при реєстрації користувача спочатку буде іти звернення до Kerberos, а у випадку невдачі – до локальної бази /etc/passwd. В Ubuntu з 6.10 замість /sbin/init використовується нова система завантаження upstart, тому тут все дещо по-іншому.

 Для налаштування нам знадобляться пакети krb5-clients, krb5-user і libpam-krb5. Файл /etc/krb5.conf беремо з KDC. Потім приступаємо до налаштування PAM. У каталозі /etc/pam.d необхідно створити файл common-krb5 такого змісту:

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


 

А также другие работы, которые могут Вас заинтересовать

84319. Разработка оперативного запоминающего устройства на ИС К537РУ6 196.41 KB
  ОЗУ техническое устройство выполняющее функции оперативной памяти расшифровывается как оперативное запоминающее устройство. ОЗУ может изготавливаться как отдельный блок или же интегрировано в конструкцию систему такой как однокристальная ЭВМ или микроконтроллер.
84320. Расчет многокаскадного усилителя с ООС 224.41 KB
  Исходные данные и цель работы. Структура и свойства выбранного типа ООС. Разработка структурной и принципиальной схемы усилителя Разработка структурной схемы. Разработка принципиальной схемы. Обозначения элементов принципиальной схемы. Расчет элементов принципиальной схемы усилителя...
84321. Расчет параметров солянокислотной обработки, выбор рабочих жидкостей, реагентов и оценка потенциального дебита скважины до и после проведения СКО 318.17 KB
  Проведение профилактических мероприятий по улучшению работы внутрискважинного, насосного и устьевого оборудования. Оптимизация работы насосного оборудования и оснащения (Замена типоразмера и изменение глубины подвески насосного оборудования). Ликвидация аварий обсадной колонны.
84322. Технология и организация механизированного строительства трубопровода комбинированной конструкции 155.2 KB
  Согласно исходным данным трубопровод прокладывается в условиях чередования участков вечномерзлых грунтов и участков болот, водоемов и сухих грунтов. В связи с этим чередоваться будет и конструктивная схема прокладки трубопровода.
84323. Культура речи и стилистика лекции 506 KB
  Предмет и задачи культуры речи. Языковая норма, её роль в становлении и функционировании литературного языка. Нормы современного русского литературного языка и речевые ошибки. Функциональные стили современного русского литературного языка. Научный стиль. Официально-деловой функциональный стиль. Основы риторики. Основы полемического мастерства. Принципы организации и проведения деловой беседы...
84324. Расчет параметров технологии горно-строительных работ 143.05 KB
  Талнахский рудный узел включает Октябрьское месторождение, расположенное к западу от Норильско-Хараелахского разлома, и Талнахское, охватывающее зону грабена Норильско-Хараелахского разлома и еговосточное крыло.Тектонические нарушения обусловливают в свою
84325. Совершенствование управления капиталом на ООО «Камешкирский комбикормовый завод» 113.91 KB
  Основные производственные фонды состоящие из зданий сооружений машин оборудования и других средств труда которые участвуют в процессе производства являются самой главной основой деятельности предприятия. Основной капитал предприятия состоит из следующих элементов: основные средства нематериальные...
84326. Анатомо-физиологические механизмы ощущений. Рецепторы и анализаторы 110.5 KB
  Анализатор состоит из трех частей: 1. Периферического отдела (рецептора), трансформирующего внеййннэю энергию в нервный процесс; 2. Проводящих нервных путей, соединяющих периферические отделы анализатора с его центром: афферентных (направленных к центру) и эфферентных (идущих к периферии); 3. Подкорковых и корковых отделов анализатора, где происходит переработка нервных импульсов, приходящих из периферических отделов.
84327. Методичні рекомендації: Економіко-математичне моделювання 173.5 KB
  Написання курсової роботи з математичних методів повинно полегшити студентам вибір математичного апарата для рішення фінансових і економічних проблем при виконанні дипломної роботи, тому тему курсової роботи із запропонованого переліку студент вибирає самостійно, відповідно до напрямку своїх досліджен...