Справочник от Автор24
Поделись лекцией за скидку на Автор24

Репликация БД. Управление правами доступа и безопасность приложений

  • 👀 348 просмотров
  • 📌 290 загрузок
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Репликация БД. Управление правами доступа и безопасность приложений» pdf
Администрирование баз данных ЛЕКЦИЯ 5. УПРАВЛЕНИЕ БЕЗОПАСНОСТЬЮ МНОГОПОЛЬЗОВАТЕЛЬСКИХ БД. РЕПЛИКАЦИЯ БД. СОДЕРЖАНИЕ ЛЕКЦИИ:  Репликация БД.  Управление правами доступа и безопасность приложений. 2 1. Репликация БД Репликация – это тиражирование изменений данных с главного сервера БД на одном или нескольких зависимых серверах. В процессе репликации главный сервер называют мастер, а зависимые – реплики. Сервер реплика предоставляет возможность выполнения операции SELECT. Репликация осуществляется за счет выполнения на репликах инструкций из бинарных логов (binlog), располагаемых на мастере. Измененные данные с мастера не передаются! 3 Причины репликации МБД 1. Производительность и масштабируемость. 2. Отказоустойчивость. 3. Резервирование данных. 4. Отложенные вычисления. 4 Основы репликации: Настройка репликации Настройки мастера Переносим данные mysql@master> SET GLOBAL read_only = OFF; Добавляем реплики root@master# service mysqld restart Объединяем реплики show master status https://habrahabr.ru/post/56702/ 5 Термины репликации МБД в SQL Server Master сервер называется издателем. Информация, которая подвергается репликации называется публикация. Одна публикация – это один согласованный набор данных. В состав публикации входят статьи, которые могут быть: - целой таблицей или ее частью; - хранимой процедурой или представлением; - пользовательской функцией. Серверы реплики называются подписчиками. Агенты, обеспечивающие постоянную репликацию называются распространителями. Волк В.К. Проектирование, программирование, управление и администрирование БД 6 Типы репликации репликация моментальных снимков репликация слиянием репликация транзакций 7 Применение репликации снимков К типам приложений, которым может помочь применение репликации снимков, можно отнести: Списки цен, которые распространяются на удаленные хранилища. Обычно вполне достаточно обновлять цены один раз в сутки. Поисковые таблицы, которые не требуют частого обновления. Поисковые таблицы обычно имеют относительно статичные данные. 8 2. Общие принципы обеспечения безопасности СУБД. Поставить СУБД под защиту брандмауэра, но планировать меры безопасности в предположении, что брандмауэр был обойден. Своевременно устанавливать пакеты исправлений операционной системы и СУБД. Использовать как можно меньше функций: - свести к минимуму число поддерживаемых сетевых протоколов; - удалить системные хранимые процедуры, которые не нужны или не используются; - по возможности запретить вход в систему по умолчанию и с гостевыми правами; - не позволять пользователям работать с СУБД в интерактивном режиме (если в этом нет насущной необходимости). Защита компьютера, на котором работает СУБД: - не позволять никому из пользователей работать за компьютером, на котором работает СУБД; - компьютер, на котором располагается СУБД, должен находиться в помещении, запираемом на замок; - все визиты в помещение, где находится компьютер с работающей СУБД, должны записываться в журнал. 9 Управление учетными записями и паролями: - использовать для СУБД учетную запись операционной системы наименьшими возможными привилегиями; - защищать учетные записи базы данных сильными паролями; - отслеживать неудачные попытки входа в систему; - регулярно проверять членство в группах и роли; - проверять учетные записи без паролей; - назначать учетным записями наименьшие возможные привилегии; - ограничивать привилегии учетной записи администратора базы данных. с Планирование: - разработать план защитных мер для предотвращения и обнаружения проблем в системе безопасности; - разработать процедуры на случай взлома системы и следовать им. 10 MySQL Администрирование: CREATE USER Оператор CREATE USER создает учетную запись базы данных, которая позволяет вам входить в базу данных DROP USER Изменить пароль пользователя Переименовать пользователя Найти пользователя в MySQL Поиск пользователей в MySQL используется для удаления пользователя из базы данных Показывать гранты для пользователя используется для отображения всех грантов для пользователя базы данных GRANT/REVOKE примилегии Используется для предоставления или отмены привилегий пользователям на таблицы, функции или процедуры используется для изменения пароля пользователя в базе данных используется для переименования пользователя в базе данных используется для определения пользователей в базе данных используется для определения пользователей, которые в настоящее время вошли (залогинились) в базу данных 11 CREATE USER CREATE USER user_name IDENTIFIED BY [ PASSWORD ] ‘password_value’; Изменить пароль пользователя SET PASSWORD [ FOR user_name ] = { PASSWORD(‘text_password1’) | OLD_PASSWORD(‘text_password2’) | ‘encrypted_password’ }; И.В. Ананченко, И.В. Козлов. Администрирование Microsoft SQL Server 12 Переименовать пользователя RENAME USER user_name TO new_name; DROP USER DROP USER user_name; Найти пользователя в MySQL SELECT User FROM mysql.user; 13 Таблица mysql.user содержит следующие столбцы: Столбец Host Описание Хост пользователя (то есть: localhost,% и т. д.) User Имя пользователя (например: root, admin и т. д.) Password Пароль хранится как хешированное значение Select_priv Y или N (показывает, была ли привилегия назначена пользователю) Insert_priv Y или N (показывает, была ли привилегия назначена пользователю) Update_priv Y или N (показывает, была ли привилегия назначена пользователю) Delete_priv Y или N (показывает, была ли привилегия назначена пользователю) Create_priv Y или N (показывает, была ли привилегия назначена пользователю) …………….. …………………………………………………………………………… 14 Поиск пользователей вошедших в MySQL SELECT SUBSTRING_INDEX(host, ':', 1) AS host_short, GROUP_CONCAT(DISTINCT user) AS users, COUNT(*) AS threads FROM information_schema.processlist Таблица information_schema.processlist GROUP BY host_short содержит следующие столбцы: ORDER BY COUNT(*), host_short; Столбцы ID Описание Уникальный идентификатор USER Имя пользователя (например: root, admin и т. д.) HOST Хост для пользователя DB База данных, в которой работает поток COMMAND Выполняется команда (т.е. Query, Sleep и т. д.). TIME Количество секунд, в течение которых поток был запущен (т.е.: 3, 12, 353) STATE Состояние потока (т.е.: выполнение) INFO Отображает информацию о потоке. (т.е. если COMMAND = ‘Query’ и STATE = ‘executing’, будет отображаться SQL, который выполняется пользователем) 15 Показывать гранты для пользователя в MySQL SHOW GRANTS [ FOR username ] Если не указываете хост для имени пользователя, MySQL принимает в качестве хоста % Использование оператора GRANT (MS SQL) GRANT SELECT ON <имя_табл.> TO <пользователь>; GO Разрешение выборок из таблицы для GRANT SELECT, UPDATE ON <имя_табл.> TO <пользователь>; GO Разрешение выборок и изменений роли в таблице для роли 16 GRANT privileges ON object TO user; privileges — это может быть любое из следующих значений: Привилегии Описание SELECT Возможность выполнения операторов SELECT для таблицы. INSERT Возможность выполнения операторов INSERT для таблицы. UPDATE Возможность выполнения операторов UPDATE для таблицы. DELETE Возможность выполнения операторов DELETE для таблицы. INDEX Возможность создания индекса в существующей таблице. CREATE Возможность выполнять оператор CREATE TABLE. Возможность выполнять оператор ALTER TABLE для изменения определения таблицы. Возможность выполнения операторов DROP TABLE. Позволяет предоставлять права, которыми вы обладаете для других пользователей. ALTER DROP GRANT OPTION ALL Предоставляет все разрешения, кроме GRANT OPTION. 17 Синтаксис для отмены привилегии на функцию или процедуру в MySQL: REVOKE EXECUTE ON [ PROCEDURE | FUNCTION ] object FROM user; EXECUTE — возможность выполнять функцию или процедуру отменяется. PROCEDURE — используется, когда отменяется привилегия для процедуры в MySQL. FUNCTION — используется, когда отменяется привилегия для функции в MySQL. object — имя объекта базы данных, для которого отменяете привилегии. В случае отмены привилегий EXECUTE для функции или процедуры это будет имя функции или имя процедуры. user — имя пользователя, которому будут отменены привилегии EXECUTE. 18 3. Проблемы безопасности Внедрение SQL, в зависимости от типа используемой СУБД и условий внедрения, может дать возможность атакующему выполнить произвольный запрос к базе данных (например, прочитать содержимое любых таблиц, удалить, изменить или добавить данные), получить возможность чтения и/или записи локальных файлов и выполнения произвольных команд на атакуемом сервере. Атака типа внедрения SQL может быть возможна из-за некорректной обработки входных данных, используемых в SQL-запросах. Разработчик прикладных программ, работающих с базами данных, должен знать о таких уязвимостях и принимать меры противодействия внедрению SQL 19 Методы защиты Параметризованный запрос с плейсхолдерами – запрос с переменными, которые жестко прописаны в скрипте с кодом и не меняются в зависимости от данных. Escaping – функция, заложенная в языки программирования, которая заменит потенциально опасные SQL символы на безопасные escape- последовательности. https://habr.com/post/114661/ 20
«Репликация БД. Управление правами доступа и безопасность приложений» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ

Тебе могут подойти лекции

Смотреть все 70 лекций
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot