Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

RCv2

.pdf
Скачиваний:
53
Добавлен:
14.04.2015
Размер:
997.9 Кб
Скачать

тома. Поэтому нет необходимости указывать одинаковые размеры для всех вводимых команд.

Порядок выполнения работы

1.Инициализировать физический раздел, поверх которого будет создан LVM. Создать группу томов на основе двух жестких дисков.

2.Создатьлогическийтом.Насозданномлогическомтомесоздать файловую систему.

3.Смонтировать систему и создать текстовый файл.

Описание лабораторной установки

1.Установленный VirtualBox

2.Ubuntu установленная на VirtualBox

3.Установка дополнительных пакетов не требуется

Оформление отчета

Отчет к лабораторной работе должен включать в себя следующие элементы:

1.Скриншоты работы каждой изученной команды

2.Комментарии к каждому скриншоту

3.Ответы на вопросы

Контрольные вопросы

1.Порядок действий для создания логического тома.

2.Что такое Snapshot?

3.Целесообразность использования LVM технологии.

4.В чем отличие логического тома от физического?

Лабораторная работа №10

Нагрузочное тестирование веб-сервера с разными конфигурациями

Цель работы:

С помощью системы нагрузочного тестирования сравнить производительность веб-серверов Apach и Nginx.

Теоретические основы лабораторной работы Часть 1. Термины и определения.

Нагрузочное тестирование - это автоматизированный процесс, имитирующий одновременную работу определенного количества пользователей на каком-либо общем ресурсе.

 

Приложение - тестируемое прикладное программное обеспечение.

 

Виртуальный пользователь - программный процесс, который

50

циклически выполняет моделируемые операции.

 

Итерация - один повтор в цикле операции.

Интенсивность выполнения операции - частота выполнения операций в единицу времени, в тестовых скриптах задается интервалом времени между итерациями.

Нагрузка - совокупное количество попыток выполнить операции на общем ресурсе. Создается или пользовательской (клиентской) активностью или нагрузочными скриптами.

Производительность - количество выполняемых приложением операций в единицу времени.

Масштабируемость приложения - пропорциональный рост производительности при увеличении нагрузки.

Профилем нагрузки называется набор операций с заданными интенсивностями, полученными на основе статистики.

Нагрузочной точкой называется рассчитанное (либо заданное Заказчиком) количество виртуальных пользователей в группах, выполняющих операции с определенными интенсивностями.

Тестпроизводительности,бенчмарк(англ.benchmark)—контрольная задача, необходимая для определения сравнительных характеристик производительности компьютерной системы.

Успешное прохождение ряда тестов является свидетельством стабильности системы в штатном и в разогнанном режимах.

Часть 2. Цели нагрузочного тестирования

1.Оценка работоспособности и производительности приложения на этапе разработки и при передаче в эксплуатацию

2.Оценка работоспособности и производительности приложения на этапе выпуска новых релизов, патч-сетов

3.Оптимизация производительности приложения, включая оптимизацию программного кода и настройку серверов

4.Подбор соответствующей для данного приложения аппаратной

ипрограммной платформы, а также нужной конфигурации сервера

Часть 3. Виды нагрузочного теста

Нагрузочный (Load-testing) – определяет работоспособность системыпринекоторомстрогозаданномуровненагрузки(планируемой, рабочей).

Устойчивости (Stress) – используется для проверки параметров системывэкстремальныхусловияхиусловияхсверхнагрузки,основная

задачавовремяиспытания-нарушитьнормальнуюработусистемы.

 

Позволяет определить минимальные системные требования

51

для работы приложения, оценить предельные возможности системы и факторы, которые ограничивают эти возможности. В рамках теста также определяется возможность системы сохраненить целостность данных при возникновении внештатных аварийных ситуаций.

Производительности (Performance) – комплексный тест, включает в себя предыдущие два режима тестирования и предназначен для общей оценки всех показателей системы.

Результаттеста–представляетсобоймаксимальновозможноечисло пользователей, которые могут единовременно получить доступ к вебресурсу, число запросов, которое в состоянии обработать приложение, или время ответа сервера. На основе этой информации, веб-мастер

исетевой администратор смогут заранее выявить слабые места, возникающие из-за несбалансированной работы компонентов (базы данных, маршрутизаторы, кэширующий и прокси-сервер, брандмауэры

идр.), и исправить ситуацию, прежде чем система будет запущена в рабочем режиме.

Apache benchmark — одна из самых простых утилит, которая

применеятся для нагрузочного тестирования сайта. Идет в комплекте с веб серверомApache, в первоначальной настройке не нуждается. Задача, которая ставится передApache benchmark — показать, какое количество запросов сможет выдержать веб сервер и как быстро он их обработает.

Порядок выполнения работы

1.Нагрузочное тестирование веб-сервера сApache

Для тестирования используются 2 машины – одна с установленным и работающим Apache, вторая – с установленным Apache benchmark, которая будет отсылать запросы и делать выводы о производительности web-сервера.

%% Тестирование на PHP-запросы

== Определить максимальное число параллельных запросов, при котором сервер нас не будет блокировать.

== Провести тест при использовании максимального числа запросов.

%% Тестирование на HTML-запросы

== Определить максимальное число параллельных запросов

== Провести тест при использовании максимального числа запросов.

%% Провести сравнение результатов и вывод.

52

2.Нагрузочное тестирование веб-сервера с Nginx.

Для тестирования используется 2 виртуальные машины – одна с установленным и работающим Nginx, которой будут отсылаться запросы, другая с установленным Apache benchmark, которая будет отсылать эти самые запросы и делать выводы о производительности веб-сервера с Nginx.

%% Тестирование на PHP-запросы

== Определить максимальное число параллельных запросов, при котором сервер нас не будет блокировать.

== Провести тест при использовании максимального числа запросов.

== Сравнить с результатами, полученными при тестированииApache

%% Тестирование на HTML-запросы

== Определить максимальное число параллельных запросов.

== Провести тест при использовании максимального числа запросов.

== Сравнить с результатами, полученными при тестированииApache

%% Провести сравнение результатов и вывод.

3. Нагрузочное тестирование веб-серверов Apache с балансировщиком нагрузки.

Для тестирования используется 4 машины – две одинаковые

сустановленным и работающим Apache в качестве веб-серверов, которые соединены с третьей машиной, которая выполняет роль балансировщика нагрузки, на немработает Nginx,четвертая машина-

сустановленным Apache benchmark, она будет отсылать эти запросы серверу и делать выводы о производительности данной связки из балансировщика нагрузки на Nginx и двумя веб-серверами Apache.

%% Тестирование на PHP-запросы

== Провести тест при использовании максимального для Apache числа запросов

== Провести тест при использовании максимального для Nginx числа запросов

== Сравнить с предыдущими результатами и сделать выводы

%% Тестирование на HTML-запросы

== Провести тест при использовании 53

максимального дляApache числа запросов

== Провести тест при использовании максимального для Nginx числа запросов

== Сравнить с предыдущими результатами и сделать выводы

4. Нагрузочное тестирование веб-серверов Nginx с балансировщиком нагрузки

Для тестирования используется 4 виртуальные машины – две одинаковые с установленным и работающим Nginx в качестве вебсерверов, которые соединены с третьей машиной, которая выполняет роль балансировщика нагрузки, на нем работает Nginx, четвертая машина-сустановленнымApachebenchmark,онабудетотсылатьэти запросы серверу и делать выводы о производительности данной связки из балансировщика нагрузки на Nginx и двумя веб-серверами Nginx.

%% Тестирование на PHP-запросы

== Провести тест при использовании максимального для Apache числа запросов

== Провести тест при использовании максимального для Nginx числа запросов

== Сравнить с предыдущими результатами и сделать вывод

%% Тестирование на HTML-запросы

== Провести тест при использовании максимального для Apache числа запросов

== Провести тест при использовании максимального для Nginx числа запросов

== Сравнить с предыдущими результатами и сделать вывод

5)Итоговая таблица сравнения

Максимальное

Запросы/

Время,

% успешных

число запросов

сек

затрачиваемое

запросов

 

 

на запрос, мс

 

Apache PHP

HTML

LB +Apache PHP

HTML

Nginx PHP

54 HTML

LB + Nginx PHP

HTML

Описание лабораторной установки

1.Установленный VirtualBox

2.Ubuntu установленная на VirtualBox

3.sudo apt-get install apache2, sudo apt-get install apache2-utills, sudo apt-get nginx

Оформление отчета

Отчет к лабораторной работе должен включать в себя следующие элементы:

1.Скриншоты работы каждой изученной команды

2.Комментарии к каждому скриншоту

3.Ответы на вопросы

Контрольные вопросы

1.Назначение нагрузочного тестирования?

2.Формат указания цели тестирования утилиты ab

3.Как указать ab сделать нагрузку в 10000 запросов, 500 из которых будут направлены одновременно? Перестанет ли ваш сервер принимать входящие подключения?

4.Можно ли протестировать при помощи ab другие web-сервера? Назовите примеры.

5.Влияетлииспользованиескриптовыхязыковпрограммирования (например, PHP) на производительность web-сервера? Объяснить.

Лабораторная работа №11

Шифрование дисков с помощью компьютерных программ TrueCrypt, BitLocker и PGP.

Цель работы:

Получитьнавыкиработыспрограммнымисредствамидляшифрования дисков и с их помощью создать защищенную операционную систему с возможностью загрузки только с помощью USB-носителя.

Теоретические основы лабораторной работы.

PGP ( Pretty Good Privacy) — компьютерная программа, которая позволяет выполнять операции шифрования/дешифрования и цифровой подписи файлов или сообщений, а также другой информации,

представленной в электронном виде, в том числе шифрование

 

данных на запоминающих устройствах.

55

 

Рисунок 4. Схема шифрования PGP

Процесс шифрования в PGP проходит в несколько этапов: хеширование, сжатие данных, шифрование с симметричным ключом, и, наконец, шифрованием с открытым ключом. Причём каждый этап может использовать разные алгоритмы. Так симметричное шифрование производится с использованием одного из семи симметричных алгоритмов (AES, Blowfish, 3DES, CAST5, IDEA, Twofish, Camellia) на сеансовом ключе. Сеансовый ключ в свою очередь генерируется с использованием криптографически стойкого генератора псевдослучайных чисел. Он зашифровывается открытым ключом получателя с использованием алгоритмов RSA или Elgamal (в

 

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

56

Пример шифрования представлен на рисунке 4.

 

Изначально PGP разрабатывалась для защиты электронной почты на стороне клиента, но начиная с 2002 года также включает в себя шифрование жёстких дисков, директорий, файлов, сессий программ мгновенного обмена сообщениям, защиту файлов и директорий в сетевых хранилищах, пакетной передачи файлов, а в новых версиях — шифрование HTTP-запросов и ответов на стороне сервера и клиента.

Для настройки понадобится:

GNU Privacy Guard (GnuPG), GPGTools (OS X) или Gpg4win

(Windows)

GNU Privacy Guard будет генерировать пару ключей — приватный и публичный.

Windows BitLocker – это стандартное средство безопасности в операционных системахWindows с закрытымисходным кодом. BitLockerпозволяетзащититьданныеоперационнойсистемы,которыехранятся на компьютере путём полного шифрования диска(ов) (логических, а начмеая с Windows 7 — USB дисков и SD карт).

Поддерживаются следующие алгоритмы шифрования:

%% AES 128

%% AES 128 c Elephant diffuser (используется по умолчанию) %% AES 256

%% AES 256 c Elephant diffuser

Что произойдет при добавлении файлов на зашифрованный диск?

Новые файлы автоматически зашифровываются при их добавлении на диск, который использует BitLocker. Но при копировании этих файлов на другой диск или на другой компьютер они автоматически расшифровываются.

Где можно использовать BitLocker?

BitLocker может шифровать диск, на котором установлена ОС Windows(дископерационнойсистемы),атакженесъемныедискисданными (например, внутренние жесткие диски). Также можно использовать BitLocker To Go для защиты всех файлов, хранящихся на съемном диске с данными (например, на внешнем жестком диске или USB-устройстве флэш-памяти).

Всего существует три механизма проверки подлинности, которые можно использовать для реализации Bitlocker 57

шифрования:

%% Прозрачный режим работы: Данный режим использует возможности аппаратного обеспечения Trusted Platform Module (TPM) для предоставления пользователю прозрачной работы. Включение и вход на компьютер с операционной системой Windows происходит как обычно. Ключ, который используется для шифрования диска закодирован в чипе TPM и может быть выдан только в коде загрузчика ОС (если загрузочные файлы, показываются как не измененные). Режим уязвим для нападения при холодной загрузке, так как позволяет злоумышленнику выключить компьютер и загрузиться.

%% Режим проверки подлинности пользователя: В этом режиме предполагается, что пользователь прошёл некоторую аутентификацию в дозагрузочной среде, например, в виде предварительного ввода PINкода. Данный режим крайне уязвим при использовании буткит-атак.

%% Режим USB-ключа: Для загрузки защищенной операционной системы, пользователь должен вставить специальное устройство USB в компьютер, которое содержит ключ запуска. Стоит обратить внимание, что в этом режиме необходимо, чтобы BIOS на компьютере имел возможность чтения устройств USB в загрузочной среде. Этот режим также уязвим к буткит-атакам.

TrueCrypt — одна из самых известных программ для шифрования данных «на лету». Позволяет создавать виртуальный зашифрованный логическийдиск,хранящийсяввидеособогофайла-криптоконтейнера. С помощью TrueCrypt также можно полностью зашифровать раздел жёсткого диска или любого другого носителя информации, например, USB диск.

В процессе работы данная утилита создает на компьютере специальную защищенную область. Операционная система в сво. очередь воспринимает эту область как файл или диск. Отличие между защищенным пространствомTrueCrypt и обычным диском, в том, что на обычномдискеданныеобычноникакнезащищены,аTrueCryptшифрует данные "на лету", абсолютно незаметно для пользователей, и тем самым обеспечивает надежную защиту информации без специальных манипуляций с ней. Кроме того, в защищенной области TrueCrypt умеет размещать данные, которые будут не просто зашифрованы, но и скрыты от посторонних глаз.

 

TrueCrypt может создавать зашифрованный виртуальный диск:

58

1.

В файловом контейнере, что позволит легко работать

 

 

с ним — копировать, переносить (в том числе на внешние устройства в виде файла), переименовывать или удалять;

2.В виде зашифрованного раздела диска, что сделает работу более удобной и производительной, начиная с версии 5.0 появилась возможность шифровать системный раздел;

3.Путём полного шифрования содержимого устройства, такого как USB диск (флоппи-диски перестали поддерживаться с версии 7.0).

В список поддерживаемых TrueCrypt алгоритмов шифрования входятAES, Twofish и Serpent.

Для того, чтобы получит доступ к зашифрованным данным применяется пароль (ключевая фраза), ключевой файл (один или несколько), а также их комбинации. В качестве ключевых файлов можно использовать любые доступные файлы на локальных, съёмных, сетевых дисках (при этом будут использоваться первые 1,048,576 байт) или генерировать свои собственные ключевые файлы.

Одна из интересных возможностей TrueCrypt — обеспечение двух уровней отрицания наличия зашифрованных данных, необходимого в случае вынужденного раскрытия пароля пользователем:

1.Создание скрытого тома, что позволяет задать еще один пароль (или набор ключевых файлов) к обычному тому. Доступ к этим данным невозможно получить доступ с основным паролем, при этом скрытый том может иметь свою файловую систему, а располагается он

всвободном пространстве основного тома.

2.Ни один из томов TrueCrypt не может быть определен (тома TrueCrypt невозможно отличить от случайного набора данных, поэтому файл нельзя связать с TrueCrypt или с программой его создавшей, ни в какой форме и рамках).

Другие возможности TrueCrypt:

%% Переносимость - позволяет запустить TrueCrypt без необходимости установки.

%% Поддержка создания динамического зашифрованного файла на дискахсNTFS. ПодобныетомаTrueCryptавтоматическиувеличиваются

вразмере по мере накопления данных вплоть до указанного максимального размера. Однако использование данного механизма несколько уменьшает производительность и безопасность системы.

%% Шифрование логического диска либо системного физического для Windows-систем с предзагрузочной аутентификацией. (Такой же функционал встроен в Windows Vista (не всех редакций), Windows 7 (КорпоративнаяиМаксимальная),WindowsServer2008подименем

BitLocker. Однако он предлагает менее гибкий набор способов

59

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]