Скачиваний:
87
Добавлен:
05.09.2023
Размер:
988.45 Кб
Скачать

МИНИСТЕРСТВО связи и МАССОВЫх КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

государственное образовательное учреждение

высшего профессионального образования

«САНКТ-ПЕТЕРБУГРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ им. проф. М.А. БОНЧ-БРУЕВИЧА»

Факультет Информационных систем и технологий

Кафедра Информационных управляющих систем

ОТЧЕТ

ЗАЩИЩЕН С ОЦЕНКОЙ

ПРЕПОДАВАТЕЛЬ

проф., д.т.н.

Н.Н. Мошак

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

ЛАБОРАТОРНАЯ РАБОТА № 3

«АДМИНИСТРИРОВАНИЕ И НАСТРОЙКА ПОЛИТИКИ БЕЗОПАСНОСТИ СЕРВЕРА РЕЛЯЦИОННОЙ БАЗЫ ДАННЫХ MySQL»

по курсу: Безопасность информационных технологий и систем

РАБОТУ ВЫПОЛНИЛ

СТУДЕНТ ГР.

ИСТ-012

Ольховский И.А.

подпись, дата

инициалы, фамилия

Санкт-Петербург

2021

Цель:

Изучение команды MySQL и научиться устанавливать, администрировать SQL-сервер на примере сервера MySQL и настраивать его параметры безопасности.

Основные сведения:

Разработчиком MySQL, популярной SQL-базы данных с открытым кодом, является компания MySQL AB. В настоящее время компания куплена корпорцией Oracle, которой и принадлежит теперь продукт. Однако MySQL по-прежнему остается базой данных с открытым кодом. Свое происхождение MySQL ведет от продукта mSQL, разработанного в конце 1970-х гг. компанией TcX и использовавшемуся для доступа к таблицам, для которых использовались собственные быстрые подпрограммы низкого уровня. Однако после тестирования был сделан вывод, что скорость и гибкость mSQL недостаточны. В результате для базы данных был разработан новый SQL-интерфейс. Новый продукт получил название MySQL. Массовое же признание MySQL получила начиная с линейки продуктов версии 3, которые стали широко использоваться на серверах в сети Интернет. В настоящее время используется 5 версия продукта.

Ниже приведено описание важных характеристик программного обеспечения MySQL:

  1. Внутренние характеристики и переносимость

  • Написан на C и C++. Протестирован на множестве различных компиляторов.

  • Работает на различных аппаратных платформах и разных операционных системах.

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

  1. Безопасность

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

  1. Масштабируемость

  • Способность работать с очень большими базами данных (десятки и сотни миллионов записей).

  • Возможность кластеризации серверов и распределения обработки информации между серверами

Ход работы:

  1. Установка MySQL

Для выполнения работы был скачан MySQL Installer с официального сайта mysql.com. После скачивания открывается окно программы, в котором мы выбирает тип установки. Выбираем «Custom», т.е. выбор элементов для установки, нажимаем «Next».

Нам открывается меню выбора частей для установки. Мы переносим в правую часть окна следующие части:

  1. В группе «MySQL Servers» - MySQL Server.

  2. Группу Documentation – полностью.

В следующем окне мы можем наблюдать за процессом установки программы. Если установка прошла успешно, то мы увидим следующие окно:

После этого откроется окно конфигурации, где в поле «Config Type» следует выбрать «Development Computer».

Далее нам предлагают назначить пароль администратора. Вводим пароль и переходим к следующему окну.

Следующее окно оставим без изменений.

После этого установка программы заканчивается. MySQL успешно установлен на компьютер.

  1. Создание базы данных MySQL

Войдём в программу MySql

Создадим собственную базу данных с названием labaratoryWork3 с помощью команды: create database laboratoryWork3;

И проверим успешность выполнения, отобразив список существующих баз данных.

Выберем нашу базу данных для работы с ней: use laboratoryWork3;

  1. Создание нового пользователя и настройка его прав доступа

Создадим пользователя с именем LocalUser и установим ему пароль password. Для этого выполним следующую команду:

create user ‘LocalUser’@’localhost’ identified by ‘password’;

Назначим вновь созданному пользователю неограниченные права доступа к нашей пользовательской базе данных laboratoryWork3, выполним следующую команду:

grant all privileges on laboratoryWork3.* to 'LocalUser'@'localhost';

Проверим, применились ли права, просмотрев их для пользователя с помощью команды:

show grants for ‘LocalUser’@’localhost’;

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

Организация доступа не привилегированного пользователя к серверу. Попробуем подключиться к серверу MySQL с помощью утилиты «MySQL Workbench».

Выберем “New Connection” и настроим параметры подключения

После чего настройка нового соединения будет успешно завершена (Рис. 15а), а в утилите «MySQL Workbench» появится новое доступное соединение за нашего созданного не привилегированного пользователя.

Попробуем подключиться к серверу с использованием этого нового соединения, выполнив следующие действия: Кликнуть на подключение LocalUser правой кнопкой мыши → Start Command Line Client

Как можно заметить, подключение прошло успешно:

Назначение специальных прав доступа для пользователя MySQL.

Разрешим пользователю только просмотр записей остальных баз данных, имеющихся в файловой системе SQL, cделаем это следующей командой:

grant SELECT, INSERT on laboratoryWork3.* to ‘LocalUser’@’localhost’;

Очевидно, что изменение прав доступа к базе данным и содержащимся в них таблицам для пользователя LocalUser успешно осуществлено в соответствии с ролью пользователя на предприятии.

  1. Создание таблицы в ранее установленной базе данных

Создадим пользовательскую таблицу с названием phoneNumbers и с параметрами, заданными в соответствии с условиями лабораторной работы: UserName – тип данных Text, UserAddress – тип данных Text, UserPhone – тип данных Text. Также добавим дополнительную колонку, в которой пропишем автоматический счетчик записей auto_increment primary key типа Integer – это значение будет увеличиваться с каждой новой записью и позволит более гибко оперировать содержимым таблицы. Для этого используем команду:

create table phoneNumbers (id integer auto_increment primary key, UserName text not null, UserAddress text not null, UserPhone text not null);

Заполним её произвольными данными – в нашем примере это телефонная книга, поэтому добавим в нее записи, содержащие имя, адрес и телефонный номер абонентов с помощью команд вида:

insert into phoneNumbers (UserName, UserAddress, User Phone) values (‘Roman’, ‘Dalnevostochniy pr., 71’, ‘777-58-01’);

Просмотрим содержимое таблицы:

select * from phoneNumbers;

Очевидно, что новая таблица phoneNumbers с несколькими записями успешно создана.

  1. Запрос выборок из таблицы

Проверим корректность настроенных прав для пользователя LocalUser, а также ознакомимся с механизмом запроса записей из таблицы в SQL.

Сделаем несколько выборок из таблицы phoneNumbers:

  1. Выборка из таблицы phoneNumbers значений адреса и телефона для пользователей 'Roman' и 'Diana' с помощью следующих команд:

select UserAddress, UserPhone from phoneNumbers where UserName=’Roman’;

select UserAddress, UserPhone from phoneNumbers where UserName=’Diana’;

  1. Выборка всех записей из таблицы phoneNumbers с сортировкой по полю UserName в алфавитном порядке с использованием следующей команды:

select * from phoneNumbers order by UserName asc;

Очевидно, что запросы пользователя LocalUser к таблице phoneNumbers успешно выполняются.

  1. Проверим, корректно ли работает механизм задания прав пользователя, попробовав удалить таблицу phoneNumbers с использованием следующей команды:

drop table phoneNumbers;

Очевидно, что пользователю LocalUser действительно не хватает прав на удаление таблицы phoneNumbers – как и настраивалось ранее. Следовательно, механизм безопасности на основе прав доступа к базе данных и таблице работает правильно.

Выводы:

В ходе лабораторной работы были изучены команды MySQL, получены умения устанавливать, администрировать SQL-сервер на примере сервера MySQL и настраивать его параметры безопасности.

Соседние файлы в папке +ЛР3