Топалов
.pdfтентифікації корисного вантажу, а перетворення ESP – метод шифрування корисного вантажу. На рис. 2.8 показані можливі комбінації перетворень.
|
|
|
|
|
|
|
|
|
|
IPSec |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ESP |
|
|
|
|
|
|
|
AH |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DES або |
|
|
|
НМАС-МD5 або |
|
|
НМАС-МD5 або |
||||||||||
3DES |
|
|
|
|
HMAC-SHA |
|
|
|
HMAC-SHA |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Тунельний або |
|
|
|
|
Тунельний або |
||||||||||
|
|
транспортний |
|
|
транспортний |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рисунок 6.5 – Перетворення IPSec
Приклади перетворень:
протокол АН, вживаний у тунельному режимі для автентифікації і використовує НМАС з алгоритмом автентифікації MD5;
протокол ESP, вживаний у транспортному режимі для забезпечення конфіденційності даних і використовує алгоритм шифрування 3DES;
протокол ESP, вживаний у тунельному режимі для забезпечення автентифікації і конфіденційності і використовує алгоритм шифрування DES з 56-бітовим ключем і НМАСз алгоритмом автентифікації SHA.
6.10. Висновки
У даному розділі розглянуті протоколи, алгоритми, стандарти, режими і типи перетворень, які використовуються для організації IPSec. Цією інформацією необхідно володіти для успішної побудови мережі IPSec. Налаштування шифрування може виявитися досить складним завданням. Його рішення повинне починатися з визначення політики захисту IPSec, заснованого на вимогах загальної політики захисту організації.
Двома головними протоколами IPSec є АН, який забезпечує цілісність і автентифікацію даних (але не конфіденційність), і ESP, що забезпечує всі можливості АН, а також конфіденційність даних за допомогою шифрування.
Для автентифікації сторін IPSec і спрощення процесу створення секретних ключів, використовуваних алгоритмами шифрування IPSec, застосовується протокол IKE.
91
Параметри IPSec і секретні ключі, використовувані в сеансах IPSec, визначають асоціації захисту IPSec, які є однобічними. Параметри асоціацій захисту IPSec зберігаються в динамічній пам'яті в базі даних асоціацій захисту.
92
Розділ 7
СТВОРЕННЯ СЕРТИФІКАТІВ НА ОСНОВІ ПРОГРАМИ OPENSSL (OPEN SECURE SOCKETS LAYER) І КОРОТКИЙ ОГЛЯД ОСНОВНИХ КОМАНД DOS/WINDOWS
7.1. Створення сертифікатів на основі програми OpenSSL
7.1.1. Створення нового центру сертифікації (certificate authority, CA) Створення нового центру сертифікації можливо за допомогою програми
openssl. Для цього необхідно відредагувати параметри openssl.cnf і викликати CA.pl - newca для створення секретного ключа CA і його сертифіката. Місцез-
находження CA.pl, наприклад, у ALTLinux /var/lib/ssl/misc/ [1], використовува-
ний файл конфігурації дивитись у файлі скрипта. Також можливо згенерувати сертифікати і вручну, більш детально розглянуто це в 7.1.5.
7.1.2. Створення нового секретного ключа SSL
Створення нового незашифрованого ключа RSA завдовжки 1024 біта у форматі PEM:
openssl genrsa - out privkey.pem 1024.
Для створення зашифрованого ключа додати - des3. Створення запиту на підпис сертифікату (certificate signing request, CSR) для цього секретного ключа: openssl req - new - key privkey.pem - out certreq.csr
Для створення самопідписаного сертифіката - підпис CSR секретним ключем: openssl x509 - req - in certreq.csr - signkey privkey.pem - out newcert.pem
Для підпису CSR секретним ключем центру сертифікації (CA): те ж саме, тільки зі вказівкою секретного ключа сервера сертифікації. Про генерацію CSR для передачі на підпис зовнішньому центру сертифікації див. іншу документацію.
7.1.3. Робота з сертифікатами у форматі PEM
PEM - текстовий формат, в нім можливе зберігання як сертифікатів і секретних ключів, так і іншої інформації. Можливе об'єднання декількох PEM - файлів в один простий командою cat. Для деяких служб в PEM -файлі потрібно параметр (число) Діффі-Хеллмана, який у форматі PEM генерується як: openssl gendh - out dh.pem. Отриманий файл об'єднується з cert.pem і key.pem.
7.1.4. Перегляд і перевірка сертифікатів
Перегляд вмісту CSR можливо виконати за домогою наступної команди: openssl req - noout - text - in certreq.csr
Перегляд утримуваного сертифіката: openssl x509 - noout - text - in newcert.pem
Перегляд відбитків сертифіката:
openssl x509 - fingerprint - noout - in newcert.pem (хеш MD5, для SHA1 додати ключ - sha1).
93
Перевірка секретного ключа, CSR і підписаного сертифіката порівнянням виводу (має бути однаковим): openssl rsa - noout - modulus - in privkey.pem openssl md5
openssl req - noout - modulus - in certreq.csr | openssl md5 openssl x509 - noout - modulus - in newcert.pem | openssl md5
Для перегляду сертифікатів працюючого сервера можна використовувати, наприклад, цю команду:
openssl s_client -connect localhost :636 - showcerts
Для серверів SMTP/POP3 потрібно ключі - starttls [smtp/pop3]
7.1.5. Приклад створення сертифікатів для openvpn за допомогою
OpenSSL
Створення сертифікату CA можливо за допомогою команди:
openssl req - new - nodes - x509 - keyout private/CA_key.pem - out CA_cert.pem - days 3650
Команда req примушує OpenSSL створити сертифікат, ключі: - new – утворити запит на сертифікат, - nodes – не шифрувати закритий ключ, - x509 (спільно з - new) – створити самопідписний сертифікат (CA), - keyout - задає місцезнаходження закритого ключа, - out – задає місцезнаходження самопідписного сертифіката, - days – задає час дії сертифікату (365x10 днів, що приблизно рівним десяти рокам). В процесі виконання команди на екран, будуть видані за-
пити про введення таких параметрів як: Country Name, State or Province Name;
Locality Name; Organization Name; Organizational Unit Name; Common Name;
Email Address. Найважливішим параметром є значення Common Name. В даному випадку воно повинне співпадати з повністю визначеним ім’ям (Fully
Qualified Domain Name, FQDN).
Тепер, коли є CA, можливо створювати сертифікати і ключі для машин, які утворюють тунель. Замість host_x і client_x рекомендовано вказувати осмислене ім'я вашої машини-сервера і клієнтів.
Згенеруємо приватний ключ для сервера, його настійно рекомендується зберігати в таємниці:
# openssl genrsa - out host_x.key
Генеруємо сертифікати:
#openssl req - new - nodes - key host_x.key - out host_x.csr
#openssl ca - batch - config openssl.cnf - in host_x.csr - out host_x.cert
Тепер генеруємо сертифікати для клієнта:
#openssl genrsa - out client_x.key
#openssl req - new - nodes - key client_x.key - out client_x.csr
#openssl ca - batch - config openssl.cnf - in client_x.csr - out client_x.cert
Іу кінці створюємо ключ ta.key. Цей ключ використовується для запобі-
гання DoS атак і UDP port flooding:
94
# openvpn --genkey --secret ta.key
Таким чином, ми отримали підписаний нами ж сертифікати за стандартом X.509. Необхідно ці дії повторити для усіх наявних у нас машин.
Далі створюється ключ Діффі-Хеллмана:
# openssl dhparam - out dh1024.pem 1024
7.2. Короткий огляд основних команд DOS/Windows
Основні команди можно виконати через Пуск\Виконати, а також через запуск командного оточення - cmd.exe [2].
cd - перехід до батьківського каталога.
cd /d d: - зміна диска (використовується ключ /d).
dir - виводить список файлів поточного каталога основні ключі:
*/p - вивід з паузою після заповнення екрана;
*/q - висновок відомостей про власника файла;
*/w - виведення відомостей в декілька колонок;
*/s - перерахування усіх випадків виявлення певного імені файла у вказаному каталозі і усіх його підкаталогах;
*/a - вивід тільки файлів тих, що мають вказаний атрибут. Через атрибут:
*h - приховані файли;
*s - системні файли;
*d - каталоги;
*a - файли, готові до архівації;
*r - файли, доступні тільки для читання, якщо призначено знак "- "дія буде протилежною: - d - виводиться будуть тільки файли(не каталоги).
dir /s/w/o >c :1.txt - у файл 1.txt запише список файлів усіх каталогів в алфавітному порядку.
dir /s/w/o/p/a:-d >c :1.txt - те ж саме, але імена теки не друкує.
dir c :*. php /w/o/s/p - виведення списку усіх файлів з розширенням php.
systeminfo - Виводить на екран детальні відомості про конфігурацію ком- п'ютера та операційної системи, відомості про безпеку, код продукту і параметри устаткування, такі як ОЗУ, дисковий простір і мережні карти.
systeminfo /s 192.168.16.1
tasklist - відображає список запущених процесів.
taskkill - вбиває вказаний процес. Можна вказати pid або ім'я процесу. ver - версія OC.
Driverquery - виведення списку усіх встановлених драйверів пристроїв і їх властивостей.
Type - виведення файла на екран Edit - виклик редактора файлів. Mkdir - Створення каталога.
95
Md c:\com1
Rmdir - видалення каталога.
Rmdir C :\com1
Rd c:\com1 - обидві команди виконують видалення каталогa. Xcopy - копіює файли і каталоги, включаючи підкаталоги. Ren - перейменовує файл або каталог.
ren *.txt *.doc
Ipconfig - Відображає поточні налаштування мережі.
Ipconfig /all
Set - перегляд і установка змінних.
Set windir=c:\temp
Mem - виводить інформацію про вільні і зайняті області оперативної пам'яті. getmac - повертає mac адресу комп'ютера.
getmac /v - виведення детальних відомостей. Move - переміщення одного або декількох файлів. move [{/y|/-y}] [джерело] [результат]
*/y Заборона на видачу запиту підтвердження перезапису існуючого файларезультату.
*/-y Видача запиту підтвердження перезапису існуючого файла-результату. move data*.xls second_qreports
Shutdown – можна вимкнути або перезавантажити комп'ютер. Ключів у цієї команди велика кількість, подамо декілька прикладів використання : shutdown <ім'я комп'ютера> /t :2
shutdown <ім'я комп'ютера> /r /y
shutdown - r - f - m Server - t 60 -d up :125:1
For – Запуск команди для кожного файла із заданої множини. Синтаксис: for {%змінна|%%змінна} in (множина) do команда [ПараметриКомандногоРядка] % використовується в командному рядку, а %% for /R %f in (*.php) do echo %f - список усіх файлів з розширенням php.
Find – пошук файлів або тексту у файлах. Опції:
*/v Виводить усі рядки, що не містять рядок, заданий параметром рядок.
*/c Підрахунок рядків, що містять рядок, вказаний параметром рядок, і відображення загальної кількості.
*/n Виводить номери рядків перед самими рядками.
*/i Задає пошук без відмінності рядкових і заголовних букв.
find /i "pass" < config.php – пошук у файлі config.php рядки pass без ураху-
вання регістра, також find є аналогом grep в linux: tasklist | find /v /i "exe"
Можна, наприклад, об'єднати з циклом і здійснити пошук слова pass в усіх php файлах:
for /R %f in (*.php) do find /i "pass" %f>>1.txt
findstr – здійснює пошук з використанням регулярних виразів.
96
gpresult – Відображення параметрів групової політики і результуючої політики (RSOP) для користувача або комп'ютера.
Оператори перенаправлення
*> Записує дані на виході команди замість командного рядка у файл або на пристрій, наприклад, на принтер.
*< Читає потік вхідних даних команди з файла, а не з клавіатури.
*>> Додає вихідні ці команди в кінець файла, не видаляючи при цьому існуючої інформації з файла.
*>& Прочитує дані на виході одного дескриптора, як вхідні дані для іншого дескриптора.
*<& Прочитує вхідні дані одного дескриптора, як вихідні дані іншого дескриптора.
*| Прочитує вихідні дані однієї команди і записує їх на вхід іншої команди. Ця процедура відома під назвою «канал».
Reg – зміна розділів реєстру regsvr32 – реєструє в реєстрі файли .dll як компоненти команди.
net user <ім'я користувача> /domain – виводить усю інформацію про користувача або домена.
netstat -a – отримує список усіх підключень до комп'ютера.
net sessions - виводить список поточних користувачів, необхідно мати права адміністратора.
net send <ім'я комп'ютера> „<повідомлення>“ – посилає повідомлення користувачів видаленого комп'ютера. Можна використовувати маску або просто написати * – отримають усі комп'ютери в мережі.
nbtstat -a <ім'я комп'ютера> – отримує ім'я користувача, працюючого на ком- п'ютері.
nbtstat -а — видалено, отримує ім'я користувача, працюючого на комп'ютері за IP – адресою.
net user <Ім'я_користувача> /add – додає користувача з правами гостя.
net user <Ім'я_користувача> /delete – видалення будь-якого користувача, окрім адміністратора і вас (потрібні права адміністратора).
net localgroup <Ім'я_групи> <Ім'я_користувача> /add – додавання в групу.
97
net localgroup <Ім'я_групи> <Ім'я_користувача> /delete – видалення з групи. Будь-якого користувача.
net share - відображає список доступних ресурсів.
Список посилань
1.В. В. Бруй LINUX-сервер: пошаговые инструкции инсталляции и настройки / Бруй В. В., Карлов С. В. // М.: Изд-во СИП РИА. – 2003. – 572 с.
2.Д. Торрес Скрипты для администратора Windows. Специальный справочник
// Питер. – 2002. – 336 c.
98
Лабораторна робота №1
Інкапсуляції в пакетних мережах передачі даних Ethernet. Функціональні можливості програмного аналізатора пакетів Wireshark
Мета роботи. Дослідження процесу інкапсуляції даних при передачі в мережі Ethernet. Вивчення функціональних можливостей програмного аналізатора пакетів Wireshark.
Ключові положення
1. Семирівнева модель взаємодії відкритих систем OSI/ISO
Щоб спростити розуміння моделі, розглянемо роботу моделі на конкретному прикладі роботи мережі (рис. 1).
Рисунок 1 Приклад роботи мережі
Користувач вводить ім'я сайта. Передбачається, що IP адреса сайта вже відома, тому немає необхідності звертатися до DNS сервера. Web-Браузер формує HTTP-запит. Так відпрацьовують рівні прикладний, представницький і сеансовий рівень.
На транспортному рівні працює протокол TCP. Процесу виділяється локальний порт 1200, вказується відповідний HTTP протоколу порт сервера 80 і
99
здійснюється процедури тристоронньої взаємодії й узгодження розміру вікна передачі з метою встановлення TCP з'єднання.
На мережному рівні додаються IP адреса одержувача й відправника, формується IP пакети й направляється у бік шлюзу (маршрутизатора) відповідно до таблиці маршрутизації користувальницького ПК.
Далі на канальному рівні до пакета додається апаратна MAC-адреса ПК, за допомогою протоколу ARP визначається MAC-адреса одержувача й формується фрейм канального рівня.
На виході Ethernet-адаптера формується сигнал, що подається по кабелю UTP п'ятої категорії на порт комутатора. Комутатор виділяє із сигналу й аналізує отриманий фрейм відповідно до таблиці MAC-адрес і по оптоволокну передає його на порт маршрутизатора.
Маршрутизатор виділяє із фрейму й аналізує IP пакет і перенаправляє його відповідно до таблиці маршрутизації на свій інтерфейс, що ставиться до мережі Web-Сервера. Далі знову працюють функції канального й фізичного рівнів. Одержавши й обробивши інформацію, процес Web-Сервера формує HTTPвідгук і передає його у зворотному напрямку.
Природно, цей опис даний украй спрощено й не повною мірою відбиває всі процедури, що здійснюються на кожному з рівнів. Однак у цьому випадку можна побачити основну перевагу даної моделі.
2. Технологія Ethernet
Ethernet - це мережний стандарт, заснований на технологіях експериментальної мережі Ethernet Network. Залежно від типу фізичного середовища стан-
дарт IEEE 802.3 має різні модифікації - 10Base-5, 10Base-2, 100Base-T, 100Base-F.
Історично перші мережі технології Ethernet були створені на коаксіальному кабелі діаметром 0.5 дюйма. Пізніше були визначені й інші специфікації фізичного рівня для стандарту Ethernet, що дозволяють використовувати різні середовища передачі даних загальної шини. Метод доступу CSMA/CD і всі тимчасові параметри Ethernet залишаються тими самими для будь-якої специфікації фізичного середовища.
Фізичні специфікації технології Ethernet на сьогоднішній день включають наступні середовища передачі даних:
10Base-5 - коаксіальний кабель діаметром 0.5 дюйма, названий "товстим" коаксіалом. Має хвильовий опір 50 Ом. Максимальна довжина сегмента - 500 метрів (без повторювачів).
10Base-2 - коаксіальний кабель діаметром 0.25 дюйма, названий "тонким" коаксіалом. Має хвильовий опір 50 Ом. Максимальна довжина сегмента - 185 метрів (без повторювачів).
10Base-T - кабель на основі неекранованої витої пари (Unshielded Twisted Pair, UTP). Утворить зіркоподібну топологію з концентратором. Відстань між концентратором і кінцевим вузлом - не більше 100 м.
100
