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

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

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

Проте приведена вище технологія дозволяє контролювати трафік по 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