Вход

Исследование механизмов защиты MySQL

Рекомендуемая категория для самостоятельной подготовки:
Курсовая работа*
Код 145052
Дата создания 2008
Страниц 25
Источников 9
Мы сможем обработать ваш заказ (!) 25 апреля в 14:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
1 580руб.
КУПИТЬ

Содержание

Содержание
Введение
1. Общие принципы безопасности
2. Механизм защиты от несанкционированного доступа
2.1. Система привилегий MySQL
2.2. Управление доступом
2.3. Имена пользователей и пароли
3. Механизмы защиты при работе с пользователями
3.1. Регистрация пользователя
3.2. Ограничение ресурсов пользователя
4. Использование паролей как механизма защиты
4.1. Задание паролей
4.2. Безопасность паролей
5. Шифрование соединений как механизм защиты
Выводы
Список литературы
Приложения

Фрагмент работы для ознакомления

Выводы
СУБД MySQL на сегодняшний день является одной из самых используемых в мире. Бизнес уже давно существует не только в реальной жизни. Но и в сети Интернет, а значит требуются все более совершенные механизмы защиты MySQL.
Основными проблемами при использовании любых баз данных является сохранность информации. Информация может быть утрачена или повреждена при ее передаче, а так же при несанкционированном доступе к серверу базы данных.
Для решения этих проблем в MySQL используются такие механизмы защиты как предоставления доступа по совокупности имени, зашифрованного пароля и хоста, с которого производиться доступ. Такой подход позволяет отказывать в доступе неблагонадежным хостам.
В MySQL реализована очень эффективная система привилегий. При ее грамотном использовании это очень мощный механизм защиты MySQL. Каждому пользователя предоставляются лишь те привилегии, которые ему необходимы. Это позволяет защитить данные от любых повреждений, как намеренных, так и нет.
Использование безопасных паролей совместно с их шифрованием так же повышает надежность использования MySQL. При этом необходимо следить, что бы пароль нельзя было легко подобрать.
Так же надежным механизмом защиты является применение зашифрованных протоколов и сертификатов. Это особо актуально при использовании MySQL в коммерческих проектах использующих коммерческую или конфиденциальную информацию, а также платежные системы.
Применение совокупности механизмов защиты MySQL является достаточно эффективным и соответствует современным требованиям, предъявляемым к безопасности передачи, хранения и использования данных.
Список литературы
Каба М. А. MySQL и Perl: коммерческие приложения для Интернета. Учебный курс., -СПб., 2001 г., 288 с.
Кузнецов М., Симдянов И. MySQL 5. – СПб., 2006 г., 1024 с.
Михеев Р. MS SQL Server 2005 для администраторов. – СПб, 2007 г., 544с.
Мотев А.А. Уроки MySQL. БХВ-Петербург, 2006 г., 208 с.
Поль Дюбуа Применение MySQL и Perl в Web-приложениях., -М., 2002 г., 480 с.
Справочное руководство по MySQL, http://www.php.su/mysql/manual/
Энди Харрис PHP/MySQL для начинающих. – М., 2007 г., 384 с.
MySQL. Руководство администратора., Изд-во: Вильямс, 2005 г., 624 с.
MySQL. Справочник по языку., Изд-во: Вильямс, 2005 г., 432 с.
Приложения
Приложение 1
Таблица 1. Поля привилегий таблиц user, db и host
Имя таблицы user db host Поля контекста Host Host Host User Db Db Password User Поля привилегий Select_priv Select_priv Select_priv Insert_priv Insert_priv Insert_priv Update_priv Update_priv Update_priv Delete_priv Delete_priv Delete_priv Index_priv Index_priv Index_priv Alter_priv Alter_priv Alter_priv Create_priv Create_priv Create_priv Drop_priv Drop_priv Drop_priv Grant_priv Grant_priv Grant_priv References_priv Reload_priv Shutdown_priv Process_priv File_priv




Приложение 2
Таблица 2. Поля привилегий таблиц tables_priv и columns_priv
Имя таблицы tables_priv columns_priv Поля контекста Host Host Db Db User User Table_name Table_name Column_name Поля привилегий Table_priv Column_priv Column_priv Иные поля Timestamp Timestamp Grantor
Приложение 3
DIR=`pwd`/openssl
PRIV=$DIR/private
mkdir $DIR $PRIV $DIR/newcerts
cp /usr/share/ssl/openssl.cnf $DIR
replace ./demoCA $DIR -- $DIR/openssl.cnf
# создаем необходимые файлы: $database, $serial и каталог $new_certs_dir
# (опционально)
touch $DIR/index.txt
echo "01" > $DIR/serial
# Создаем Certificate Authority(CA)
openssl req -new -x509 -keyout $PRIV/cakey.pem -out $DIR/cacert.pem \
-config $DIR/openssl.cnf
# Пример вывода:
# Using configuration from /home/monty/openssl/openssl.cnf
# Generating a 1024 bit RSA private key
# ................++++++
# .........++++++
# writing new private key to '/home/monty/openssl/private/cakey.pem'
# Enter PEM pass phrase:
# Verifying password - Enter PEM pass phrase:
# -----
# You are about to be asked to enter information that will be incorporated
# into your certificate request.
# What you are about to enter is what is called a Distinguished Name or a DN.
# There are quite a few fields but you can leave some blank
# For some fields there will be a default value,
# If you enter '.', the field will be left blank.
# -----
# Country Name (2 letter code) [AU]:FI
# State or Province Name (full name) [Some-State]:.
# Locality Name (eg, city) []:
# Organization Name (eg, company) [Internet Widgits Pty Ltd]:MySQL AB
# Organizational Unit Name (eg, section) []:
# Common Name (eg, YOUR name) []:MySQL admin
# Email Address []:
# Создаем server-request и ключ
#
openssl req -new -keyout $DIR/server-key.pem -out \
$DIR/server-req.pem -days 3600 -config $DIR/openssl.cnf
# Пример вывода:
# Using configuration from /home/monty/openssl/openssl.cnf
# Generating a 1024 bit RSA private key
# ..++++++
# ..........++++++
# writing new private key to '/home/monty/openssl/server-key.pem'
# Enter PEM pass phrase:
# Verifying password - Enter PEM pass phrase:
# -----
# You are about to be asked to enter information that will be incorporated
# into your certificate request.
# What you are about to enter is what is called a Distinguished Name or a DN.
# There are quite a few fields but you can leave some blank
# For some fields there will be a default value,
# If you enter '.', the field will be left blank.
# -----
# Country Name (2 letter code) [AU]:FI
# State or Province Name (full name) [Some-State]:.
# Locality Name (eg, city) []:
# Organization Name (eg, company) [Internet Widgits Pty Ltd]:MySQL AB
# Organizational Unit Name (eg, section) []:
# Common Name (eg, YOUR name) []:MySQL server
# Email Address []:
# Please enter the following 'extra' attributes
# to be sent with your certificate request
# A challenge password []:
# An optional company name []:
# Удаляем парольную фразу из ключа (опционально)
openssl rsa -in $DIR/server-key.pem -out $DIR/server-key.pem
# Подписываем сертификат сервера
openssl ca -policy policy_anything -out $DIR/server-cert.pem \
-config $DIR/openssl.cnf -infiles $DIR/server-req.pem
# Пример вывода:
# Using configuration from /home/monty/openssl/openssl.cnf
# Enter PEM pass phrase:
# Check that the request matches the signature
# Signature ok
# The Subjects Distinguished Name is as follows
# countryName :PRINTABLE:'FI'
# organizationName :PRINTABLE:'MySQL AB'
# commonName :PRINTABLE:'MySQL admin'
# Certificate is to be certified until Sep 13 14:22:46 2003 GMT (365 days)
# Sign the certificate? [y/n]:y
# 1 out of 1 certificate requests certified, commit? [y/n]y
# Write out database with 1 new entries
# Data Base Updated
# Создаем client request и ключ
openssl req -new -keyout $DIR/client-key.pem -out \
$DIR/client-req.pem -days 3600 -config $DIR/openssl.cnf
# Пример вывода:
# Using configuration from /home/monty/openssl/openssl.cnf
# Generating a 1024 bit RSA private key
# .....................................++++++
# .............................................++++++
# writing new private key to '/home/monty/openssl/client-key.pem'
# Enter PEM pass phrase:
# Verifying password - Enter PEM pass phrase:
# -----
# You are about to be asked to enter information that will be incorporated
# into your certificate request.
# What you are about to enter is what is called a Distinguished Name or a DN.
# There are quite a few fields but you can leave some blank
# For some fields there will be a default value,
# If you enter '.', the field will be left blank.
# -----
# Country Name (2 letter code) [AU]:FI
# State or Province Name (full name) [Some-State]:.
# Locality Name (eg, city) []:
# Organization Name (eg, company) [Internet Widgits Pty Ltd]:MySQL AB
# Organizational Unit Name (eg, section) []:
# Common Name (eg, YOUR name) []:MySQL user
# Email Address []:
# Please enter the following 'extra' attributes
# to be sent with your certificate request
# A challenge password []:
# An optional company name []:
# Удаляем парольную фразу из ключа (опционально)
openssl rsa -in $DIR/client-key.pem -out $DIR/client-key.pem
# Подписываем клиентский сертификат
openssl ca -policy policy_anything -out $DIR/client-cert.pem \
-config $DIR/openssl.cnf -infiles $DIR/client-req.pem
# Пример вывода:
# Using configuration from /home/monty/openssl/openssl.cnf
# Enter PEM pass phrase:
# Check that the request matches the signature
# Signature ok
# The Subjects Distinguished Name is as follows
# countryName :PRINTABLE:'FI'
# organizationName :PRINTABLE:'MySQL AB'
# commonName :PRINTABLE:'MySQL user'
# Certificate is to be certified until Sep 13 16:45:17 2003 GMT (365 days)
# Sign the certificate? [y/n]:y
# 1 out of 1 certificate requests certified, commit? [y/n]y
# Write out database with 1 new entries
# Data Base Updated
# Создаем такой my.cnf, который позволит нам протестировать сертификаты
cnf=""
cnf="$cnf [client]"
cnf="$cnf ssl-ca=$DIR/cacert.pem"
cnf="$cnf ssl-cert=$DIR/client-cert.pem"
cnf="$cnf ssl-key=$DIR/client-key.pem"
cnf="$cnf [mysqld]"
cnf="$cnf ssl-ca=$DIR/cacert.pem"
cnf="$cnf ssl-cert=$DIR/server-cert.pem"
cnf="$cnf ssl-key=$DIR/server-key.pem"
echo $cnf | replace " " '
' > $DIR/my.cnf
# Тестируем MySQL
mysqld --defaults-file=$DIR/my.cnf &
mysql --defaults-file=$DIR/my.cnf
7

Список литературы [ всего 9]

Список литературы
1.Каба М. А. MySQL и Perl: коммерческие приложения для Интернета. Учебный курс., -СПб., 2001 г., 288 с.
2.Кузнецов М., Симдянов И. MySQL 5. – СПб., 2006 г., 1024 с.
3.Михеев Р. MS SQL Server 2005 для администраторов. – СПб, 2007 г., 544с.
4.Мотев А.А. Уроки MySQL. БХВ-Петербург, 2006 г., 208 с.
5.Поль Дюбуа Применение MySQL и Perl в Web-приложениях., -М., 2002 г., 480 с.
6.Справочное руководство по MySQL, http://www.php.su/mysql/manual/
7.Энди Харрис PHP/MySQL для начинающих. – М., 2007 г., 384 с.
8.MySQL. Руководство администратора., Изд-во: Вильямс, 2005 г., 624 с.
9.MySQL. Справочник по языку., Изд-во: Вильямс, 2005 г., 432 с.
Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.00459
© Рефератбанк, 2002 - 2024