Лабораторная работа 1. Создание виртуальной лаборатории 2
Лабораторная работа 2. Создание тестовых Web-сервера и приложения базы данных 9
Лабораторная работа 3. Тестирование на проникновение 20
Лабораторная работа 4. Обнаружение и устранение уязвимостей 32
Лабораторная работа 5. Криптографические методы защиты информации 41
Лабораторная работа 6. Технологии SSL/TLS и VPN 51
В лабораторных работах используются виртуальные машины, расположенные по адресу:https://disk.yandex.ru/d/ZB5_YmXi3Jxd7g
-
Лабораторная работа 1. Создание виртуальной лаборатории
Для изучения методов тестирования на проникновение, а также проведения анализа защищенности информационных систем от различных видов угроз без риска нанести ущерб реальному оборудованию целесообразно использование виртуальных лабораторий.В нашем случае виртуальная лаборатория будет состоять из двух виртуальных машин с установленными операционными системами Windows7 и одной машины с операционной системой Kali Linux. Виртуальная машина — это виртуальный компьютер, использующий выделенные ресурсы реального компьютера (ЦП, ОЗУ, жесткий диск), но работающий изолированно от него. Благодаря виртуальным машинам можно тестировать различное программное обеспечение в различных операционных системах. Для изучения сетевого взаимодействия различных программ между собой виртуальные компьютеры можно объединять в сеть.Машина, создающая виртуальную машину, называется хост-машиной, а виртуальная машина по отношению к хост-машине называется гостевой. Создание, запуск и управление виртуальными машинами осуществляет специальное программное обеспечение, называемое гипервизором. Наиболее распространенным гипервизором является Oracle VirtualBox. Скачать актуальную версию можно с официального сайта https://www.virtualbox.org/wiki/Downloads. Создадим и объединим в компьютерную сеть три виртуальные машины. Условно назовем эти машины Hacker, Server, Client. Для этого выполните следующие действия:1. Скачайте, установите и запустите VirtualBox.2. После установки запустите Oracle VM VirtualBox. Перед нами откроется главное окно программы. Для создания новой виртуальной машины нажмите на кнопку «Создать»:
-
На нашей первой виртуальной машине Server будет работать операционная система Windows 7, поэтому, в списке версия выберите Windows 7 (64 bit):
-
На следующих шагах ост
авляйте значения по умолчанию:
В результате будет создана новая виртуальная машина. Осталось настроить сетевые адаптеры и установить операционную систему.
-
Настройка сетевых адаптеров. В списке виртуальных машин выберите машину Server и в контекстном меню выберите пункт «Настроить»
В списке настроек выберите
Сеть. На вкладке
Адаптер1 в списке
Тип подключения выберите
Виртуальный адаптер хоста. Тип подключения — это режим взаимодействия виртуального компьютера с другими виртуальными или физическими компьютерами. Виртуальный адаптер хоста используется для обмена данными между виртуальными машинами, а также между виртуальной машиной и хостовой машиной. При этом доступ к интернету из виртуальной машины отсутствует. Для обеспечения такого доступа перейдите на вкладку
Адаптер 2, включите адаптер и выберите тип подключения
NAT. Такой тип подключения имитирует подключение к роутеру, в роли которого выступает сетевой модуль гипервизора, соединяющий виртуальную машину с хостовым компьютером.
-
Для установки операционной системы выберите в списке настроек Носители и выберите файл образа диска c операционной системой:
Файл образа диска можно скачать по адресу:Закройте окно настроек, выберите в списке виртуальных машин
Server и нажмите кнопку
Запустить. После установки операционной системы завершите работу виртуальной машины.
-
Вторую виртуальную машину Client создадим путем клонирования машины Server, так как на ней также должна быть установлена Windows 7. Для этого в контекстном меню машины Server выберите пункт Клонировать:
В поле
имя, создаваемой машины введите
Client. Далее при выборе типа клонирования выберите
Полное клонирование.
-
Создание виртуальной машины Hacker. На этой машине будет работать операционная система Kali Linux (дистрибутив Linux, предназначенный для цифровой криминалистики и тестирования на проникновение). Последовательность создания такая же как и для машины Server за исключением настройки сетевого подключения, а также используемого образа диска с операционной системой. Образ диска kali-linux-2022.3-installer-amd64.iso можно скачать по тому же адресу …, а для успешной работы сетевых приложений этой операционной системы в дополнительных настройках сетевого адаптера Адаптер1 для параметра «Незарборчивый режим» нужно задать значение «Разрешить все». В этом режиме стевой адаптер принимает сетевые пакеты, предназначенные не только для него, но и для других сетевых устройств.
После установки всех виртуальных машин проверим настройки их сетевых адаптеров. Для этого запустите все виртуальные машины: Server,
Client и Hacker. На виртуальных машинах с установленной Windows 7:
Server и Client в меню
Пуск найдите и запустите приложение
Командная строка и введите команду
ipconfig: Здесь мы видим настройки сетевого интерфейса виртуальной машины Server, по которому будет осуществляться его сетевое взаимодействие с другими гостевыми машинами и хост-машиной. IP-адрес назначенный виртуальной машине Server: 192.168.59.4 (у вас может быть другой), маска подсети: 255.255.255.0.На машине
Hacker с установленной
KaliLinux в меню Приложения найдите и запустите приложение
Эмулятор терминала и введите команду
ifconfig:I P - адреса виртуальных компьютеров в нашей сети:
Server
| 192.168.59.4
|
Client
| 192.168.59.9
|
Hacker
| 192.168.59.3
|
Теперь проверим сетевую доступность одной машины из другой. Для этого предназначена сетевая утилита
Ping. Например, определим доступность машины
Client с машины
Server. Для этого перейдем в командную строку машины
Server и выполним
ping192.168.59.9: Как видно из результата работы программы связь между машинами надежная. Поскольку наши виртуальные машины должны иметь выход в интернет, можем это проверить. Выполним, например, такую команду:
ping google.com:
Задания: -
Определите доступные сетевые адаптеры для хостовой операционной системы.
-
Проверьте доступность машин созданной локальной сети, а также некоторых серверов Internet с хостовой машины, а также с машины Hacker. Обращайте внимание на количество отправленных и полученных пакетов, время приема-передачи.
-
Для машины Client отключите адаптер с типом подключения NAT. Проверьте доступность машин локальной сети, а также серверов Internet.
-
Создайте еще одну виртуальную машину Client2 путем клонирования машины Сlient. Определите назначенный ей ip-адрес.
Контрольные вопросы -
Для чего используются виртуальные машины
-
Что такое тип подключения сетевого адаптера VirtualBox. Приведите примеры.
-
Для чего предназначена утилита ipconfig
-
Для чего предназачена утилита ping
-
Лабораторная работа 2. Создание тестовых Web-сервера и приложения базы данных
Взлом веб-приложений и баз данных являются одними из наиболее часто используемых методов кибератак как на организации, так и на частных лиц. Взломанные сайты используются в различных целях — для распространения вредоносного ПО, кражи информации, размещения несанкционированной рекламы и т. д.Для понимания способов организации подобных кибератак, а также методов их предотвращения необходимо иметь представление об архитектуре Web-приложений. Web-приложения имеют трехзвенную архитектуру.
Web браузер <-http->webсервер -sql->сервер баз данныхWeb-браузер отправляет запросы и получает ответы от web-сервера, а также отображает полученные от него web-страницы. Web-сервер реализует логику web-приложения, взаимодействует с сервером баз данных, генерирует и отправляет браузеру web-страницы.Взаимодействие Web-браузера и Web-сервера происходит по http протоколу. HTTP ( протокол передачи гипертекста) в настоящее время используется для передачи произвольных данных. Существуют два типа сообщений: запросы, отправляемые клиентом, инициирующие реакцию со стороны сервера, и ответы на запросы клиента, отправляемые сервером. Наиболее часто используются два вида HTTP запросов:
-
GET – запрашивает данные сервера
-
POST — отправляет данные на сервер
GET-запросhttp://institut1.ru/students.php?fam=Иванов&group=Группа1Часть запроса, следующая после знака ? показывает, какие данные необходимо получить. Например, получить информацию об
Иванове из группы с названием
Группа1.POST-запросPOST /students/add_form.php HTTP/1.1Host: belui.rufam=Иванов&group=Группа1Этот запрос может использоваться для добавления информации о новом студенте в базу данных. GET-запросы не имеют тела, поэтому все данные на сервер передаются через параметры URL- адреса. В POST -запросе данные передаются в теле запроса и в URL-адресе их не видно. Кроме того, GET-запросы в отличие от POST- запросов, остаются в истории браузера.
Поэтому никогда нельзя использовать GET-запросы для отправки на сервер конфиденциальной информации.После обработки запроса клиента, сервер формирует и отправляет клиенту HTTP-ответ. Пример ответа Web-сервера:HTTP/1.1 200 OKDate: Mon, 27 Jul 2022 12:28:53 GMTServer: Apache/2.2.14 (Win32)