Настройка мережевих служб для здійснення авторизації доступу до мережі Інтернет

Автоматизація доступу до каналів комп'ютерних мереж
148342
знака
4
таблицы
31
изображение

4.2 Настройка мережевих служб для здійснення авторизації доступу до мережі Інтернет

Класичним вирішенням стандарта підприємства для організації Інтернет-сервісів є сервер під управлінням UNIX. Практично завжди для Web і FTP трафіку використовують кеширующий сервер SQUID, який також є стандартом de facto.

Стандартним способом надання доступу до SQUID-серверу є доступ на основі специалицированных списків доступу (Access Lists або ACL). У свою чергу списки доступу зазвичай будуються на основі IP-сетей, яким дозволений доступ до SQUID. Наприклад, визначимо ACL, яка описує мережу 10.128.0.0/16 (або з маскою 255.255.0.0). і ACL, яка описує взагалі все адресаsquid.conf:

acl net10128 src 10.128.0.0/16

acl all src 0.0.0.0/0

а зараз дозволимо їй доступ до Інтернет ресурсам

http_access allow net10128

а всім останнім - заборонимо:

http_access deny all

Після цього, тільки комп'ютерам із заданої мережі дозволений доступ до Інтернет. При використанні Internet-ресурсов, в балку-файл squid записується інформація про конкретну адресу, що запитала конкретний Інтернет-ресурс: acess.log:


1032862411.262 96 10.128.15.4 TCP_MEM_HIT/200 2581 GET

http://www.ru/eng/images/ssilki.jpg board/sag NONE/- image/jpeg

Тут присутсвует дата, розмір ресурсу, IP-адрес станції, зпросившей ресурс, і сам ресурс. З такого роду записів можна підрахувати трафік як по станції, так і по підмережі.

Проте приведена вище технологія дозволяє контролювати трафік по IP-адресу Інтернет-користувача. В більшості випадків цей спосіб цілком підходить, проте при цьому необхідно, щоб за конретним комп'ютером завжди працювала конкретна людина.

Ця умова виконується не завжди і тоді облік трафіку порушується. Ось типові умови, при яких потрібна інша схема авторизації в Інтернеті:

Різні користувачі працюють на одному і тому ж робочому місці (наприклад, позмінно).

Користувачі взагалі не прив'язані до конкретних комп'ютерів.

Користувачі працюють в термінальних сесіях термінального сервера. Тоді взагалі весь Інтернет-трафік йде з IP-адреса сервера.

Тому часто встає проблема обліку трафіку не на основі IP, а на основі іншої інформації.

4.2.1 Авторизація на основі логіна і пароля

Логічним вирішенням проблеми авторизація на основі логіна і пароля є авторизація в SQUID по логіну і раолю. Така можливість в SQUID, естесвенно передбачена. У SQUID для цього розроблена можливість авторизувати через зовнішню програму, яка просто "говорить" "та чи ні" на визначеного користувача і пароль. Т.ч. Можна проводити авторизацію по обліковому запису уміє проводити авторизацію через облікові записи UNIX, через текстові файли і тому подібне

Наприклад, для того, щоб користувач авторизувався через файл /usr/local/squid/passwd формату Веб-сервера-авторизації (формат Apache), потрібно скомпілювати squid разом з цим модулем (--enable-auth="ncsa; докладніше за див. документацію до SQUID). І в конфиг SQUID додати ACL вирішуюче правило:

Дозволити доступ користувачам dima petya vasya, паролі яких будуть перевірені через файл /usr/local/squid/passwd

acl MYUSERS proxy_auth dima petya vasya

http_access allow MYUSERS

http_access deny all

authenticate_program /usr/local/squid/bin/ncsa_auth /usr/local/squid/etc/passwd *

(*для версии 2.4).

При цьому, це вирішує поставлені в "Введенні" проблеми, проте додає деякі незручності користувачам і адміністраторові:

При первинному вході в Інтернет користувачеві потрібно набратьв броузере логін\пароль для доступу до SQUID. І кожному користувачеві необхідно пам'ятати свої параметри.

Адміністраторові необхідно вести базу логінів і паролів у файлі.

4.2.2 Авторизація через облікові записи Windows

При роботі в Windows-мережах кожен користувач при вході в мережу проходить авторизацію в NT(2000) -домене. Було б здорове використовувати ці дані для авторизації SQUID. Тоді вирішуються проблеми ведення в SQUID окремої бази даних користувачів і, як виявилось, можна вирішити проблему запиту логіна\пароля в броузере при вході в Інтернет.

Головна проблема при вирішенні авторизації через Windows-домен - знайти і набудувати програму для авторизації заданого користувача в Windows-домене. Команда SQUID рекомендує користуватися програмою winbindd, яка є частиною проекту SAMBA (реалізація Windows сервера і клієнта під UNIX), SQUID, починаючи з версії 2.5 підтримує різні схеми авторизації по логіну\паролю, включаючи basic і NTLM (NT Lan Manager). Basic-схема призначена для авторизації через введення логіна\пароля в броузере, а NTLM-схема призначена для автоматичного прийому броузером логіна, пароля і домена, під якими користувач реєструвався в Windows-домене. Т.ч. за допомогою NTLM-авторизации можна автоматично реєструватися в SQUID без ручного підтвердження логіна і пароля.

4.3.3 Практичне вирішення побудови системи авторизації через Windows домен

Практичне вирішення проблеми було знайдене досвідченим шляхом і може бути не найвитонченішим і правильнішим. Але краса його в тому, що воно дороблене та кінця і працює.

Початкові дані:

1. Комп'ютер, підключений до Інтернет зі встановленою ОС: FREEBSD 4.4 (версія і сама ОС не мають принципового значення).

2. Мережа, що містить близько 200 Windows-станций, включаючи термінальні сервери і клієнти.

3. Близько 250 аккаунтов в домені під управлінням Windows 2000 Advanced сервер (домен WORK і 4 довірителях домена).

Завдання:

Забезпечити авторизацію користувачів на SQUID через облікові записи Windows найбільш зручним способом.

План дій:

1.Установка і конфігурація SAMBA.

Отже перше, що треба зробити - встановити SAMBA для того, щоб уміти авторизуватися в Windows-домене. Я встановив версію 2.2.6pre2. Причому, важливо скомпілювати SAMBA з підтримкою winbind, тобто з параметрами:


-with-winbind

-with-winbind-auth-challenge

Примітка:

У FREEBSD SAMBA була зібрана з портів (ports) і виявилось, що з поточною версією не збирається бібліотека CUPS. Тому SAMBA була зібрана без неї (--without_cups).

Після установки, SAMBA потрібно набудувати на домен Windows мережі і на використання winbind:

[global]

workgroup = WORK - Ім'я нашого Windows-домена

netbios name = vGATE - Ім'я сервера (необов'язково)

server string = vGate

hosts allow = 10.128. 127. - Для безпеки.

winbind separator = +

winbind use default domain = yes

winbind uid = 10000-20000

winbind gid = 10000-20000

winbind enum users = yes

winbind enum groups = yes

template homedir = /home/winnt/%D/%U

template shell = /bin/bash

max log size = 50

security = domain

password server = Primary Exch - сервери паролів (PDC, BDC)

encrypt passwords = yes


Слід звернути увагу на 2 речі:

1. Спочатку в параметрі password server був вказаний тільки PDC (Primary) і winbind не зміг знайти контроллер домена. Все запрацювало коли був доданий BDC (Exch).

2. Обидва імена - це NETBIOS імена і для того, щоб вони равильно інтерпретувалися в IP я прописав їх в /usr/local/etc/lmhosts

10.128.1.40 Primary

10.128.1.34 Exch

Після цього необхідне заригестрировать SAMBA в домені Windows. Для цього нужэно набрати команду:

/usr/local/sbin/smbpass -j WORK (наш домен) -r Primary(наш PDC) -UAdministrator

Після цього, слід ввести пароль адміністратора домена.

Спостерігалися проблеми з samba 2.2.4 і реєстрацією в нашому домене - саме тому була поставлена версія 2.2.6 з портів.

Далі можна запустити nmbd (/usr/local/sbin/nmbd -D) краще з включеним дебагом (-d9) і подивитися в балку-файл, що мережа нормально видно.

Далі можна сміливо пускати winbindd (/usr/local/sbin/winbindd -d9) - теж з дебагом і подивитися як він себе "відчуває" в нашій мережі. Опісля зразково секунд 10, можна перевірити а чи запустився winbind і чи функціонує він.

Для взаємодії з winbind служить команда wbinfo. Перевірити чи "бачить" вона winbindd взагалі можна командою wbinfio -p. Якщо вона відповість: 'ping' to winbindd succeeded, то означає все гаразд. Інакше треба дивитися в балку-файл winbindd і розуміти чому він не запустився. (Насправді запускається він завжди, та ось на запити відповідає тільки якщо правильно бачить мережа). Далі можна спробувати перевірити а чи бачить winbindd сервер з паролями користувачів (wbinfo -t). Сервер повинен сказати "Secret is good". І, нарешті, можна спробувати авторизуватися з UNIX в Wondows домен:

wbinfo -a пользователеь_домена%пароль.

Якщо користувач авторизувався, буде видано:

plaintext password authentication succeeded

error code was NT_STATUS_OK (0x0)

challenge/response password authentication succeeded

error code was NT_STATUS_OK (0x0)

Якщо неправильний пароль, то:

error code was NT_STATUS_WRONG_PASSWORD (0xc000006a)

Could not authenticate user dmn%doct with plaintext password

challenge/response password authentication faile

error code was NT_STATUS_WRONG_PASSWORD (0xc000006a)

Could not authenticate user dmn with challenge/response

Все це означає, що модуль wbinfo нарешті настроєний і правильно функціонує. Можна приступати до налаштування SQUID.

Тепер потрібно набудувати SQUID.

Спершу, потрібно відзначити, що NTLM схему підтримує SQUID, починаючи з версії 2.5. Тому я викачав версію 2.5.PRE13.

Далі, SQUID потрібно скомпілювати з підтримкою схем авторизації і модулем:


winbind../configure -enable-auth="ntlm,basic" \

--enable-basic-auth-helpers="winbind"\

--enable-ntlm-auth-helpers="winbind"

Тепер можна перевірити а чи розуміє SQUID-овский авторизатор winbind. Для цього потрібно запустити:

/usr/local/squid/libexec/wb_auth -d

І ввести уручну ім'я пароль (через пропуск).

Якщо все працює коректно, то програма видасть:

/wb_auth[91945](wb_basic_auth.c:129): Got 'Dmn XXXXX' from squid (length: 10).

/wb_auth[91945](wb_basic_auth.c:55): winbindd result: 0

/wb_auth[91945](wb_basic_auth.c:58): sending 'OK' to squid

Після цього, потрібно набудувати squid, щоб він коректно працював на основі IP-авторизації.

Тепер залишилося підключити авторизацію до SQUID. Для цього в конфиге SQUID потрібно описати в схеми авторизації через winbind:

auth_param ntlm program /usr/local/squid/libexec/wb_ntlmauth

auth_param ntlm children 5

auth_param ntlm max_challenge_reuses 0

auth_param ntlm max_challenge_lifetime 2 minutesauth_param basic program /usr/local/squid/libexec/wb_auth

auth_param basic children 5

auth_param basic realm Squid proxy-caching web server

auth_param basic credentialsttl 2 hours


Причому важливо щоб NTLM авторизація йшла першою, інакше застосовуватиметься авторизація basic і IE питатиме пароль.

Далі потрібно зробити соответсвующую ACL і параметр доступу. Важливо, щоб це йшло після опису авторизацій.

acl myusers proxy_auth REQUIRED

http_access allow myusers

http_access deny all

Тепер залишається запустити SQUID і все перевірити.

Що має бути:

Якщо користувач авторизувався в домені, то IE не запитає пароль, а пойдетт відразу в Інтернет. Причому, в лог-файле SQUID буде безцінна інформація, а хто це був:

1032943720.839 180 10.128.36.5 TCP_CLIENT_REFRESH_MISS/200 1280 GET http://www.ru/eng/images/demos.jpg work\dmn DIRECT/194.87.0.50 image/jpeg

Тобто Це був користувач dmn з домена work.

Якщо користувач не авторизувався в домені - його запитають логін і пароль. Якщо він введе логін\пароль такій же, як при вході в домен, то його пустять в Інтернет.

Якщо користувач користується не IE (наприклад, Mozilla, Netscape, Opera), він буде повинен набрати свій логін і пароль для авторизації в Windows.

Якщо аккаунт в Windows-домене закритий, то і доступ в Інтернет буде закритий.



Информация о работе «Автоматизація доступу до каналів комп'ютерних мереж»
Раздел: Информатика, программирование
Количество знаков с пробелами: 148342
Количество таблиц: 4
Количество изображений: 31

Похожие работы

Скачать
126392
20
39

... ї комп’ютерної мережі авіакомпанії «Північна компанія»   2.3.1 Програмний пакет проектування і моделювання гетерогенних комп'ютерних мереж NetCracker Professional Призначення системи: автоматизоване проектування і моделювання локальних і корпоративних комп'ютерних мереж в цілях мінімізації витрат часу і засобів на розробку, верифікацію проектів. Функції: створення проекту мережі; анімаційне ...

Скачать
96639
0
5

... збір даних про організацію, який полягає в пошуку всіх відомостей, які хакер може зібрати про комп'ютерну систему, що атакується. Мається на увазі інформація, що містить звіт про комп'ютерну мережу організації. На хакреських сайтах можна знайти файли з результатами сканування широкого діапазону телефонних номерів. У цих файлах можна знайти безліч відомостей про телефони різних організацій з вказі ...

Скачать
40160
1
1

... ів важко визначити, оскільки офіційна статистика відсутня та ігноруються такі важливі його фактори, як місцеве виробництва та тіньовий ринок. Дослідивши ринок комп’ютерної техніки міста, я відібрав 76 організацій, які займаються продажем комп’ютерів та комплектуючих і наданням супровідних послуг (їх адреси і назви в додатку 1). Всіх продавців комп’ютерної техніки в Рівному можна поділити на 3 ...

Скачать
65419
0
0

... сучасного справочинства є переведення його на державну мову, та впровадження новітніх комп’ютерних технологій. Розділ 2 ПРАКТИЧНІ АСПЕКТИ ПРОБЛЕМИ ВИКОРИСТАННЯ КОМП¢ЮТЕРНИХ ТЕХНОЛОГІЙ В СУЧАСНОМУ ДІЛОВОДСТВІ   2.1 Використання комп’ютерних технологій на етапі документування   Документування управлінської діяльності охоплює всі процеси, що відносяться до запису (фіксації) на різних нос ...

0 комментариев


Наверх