Безопасная связь между PHP и MySQL на РАЗНЫХ хостах?

Silencer_SPB

Новичок
Безопасная связь между PHP и MySQL на РАЗНЫХ хостах?

Здраствуйте все.

Ситуация:

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

Суть вопроса: реально ли обеспечить невозможность узнавания пароля к базе кем либо на хосте с PHP. Включая рута. Zend Encoder тут может помочь?
Понятно что можно траффик посмотреть, так что второй вопрос: наиболее безопасный вариант установления соединения между ними?
И третий: можно ли как то держать в базе шифрованные данные, чтобы расшифровать их мог только скрипт?

То есть в целом задача выглядит как обеспечение невозможности (ну или ПОЧТИ невозможности, ибо идеальной защиты не бывает) доступа посторонних к данным в базе при возможности физического доступа посторонних к серверам. Причем к обоим. На вопрос "а почему бы дедикейт не поставить?" есть встречный вопрос "а кто мешает посторонним на дедикейте рыться?". Оптика до дома и установка сервера под диван не рассматривается :)

Пинки в сторону нужных статей документации приветствуются :) Более детальные советы приветствуются еще больше.

PS: В понятие "посторонние" входят сотрудники хостинг компании.
 

Barlone

Guest
Re: Безопасная связь между PHP и MySQL на РАЗНЫХ хостах?

Автор оригинала: Silencer_SPB
Суть вопроса: реально ли обеспечить невозможность узнавания пароля к базе кем либо на хосте с PHP. Включая рута. Zend Encoder тут может помочь?
Может, но не сильно. Что помешает "поправить" РНР так, чтобы функция mysql_connect записывала свои параметры в лог ?
Понятно что можно траффик посмотреть, так что второй вопрос: наиболее безопасный вариант установления соединения между ними?
"Beginning with version 4.0.0, MySQL has support for SSL encrypted connections."
И третий: можно ли как то держать в базе шифрованные данные, чтобы расшифровать их мог только скрипт?
Не в MySQL. (То есть, можно конечно использовать ENCODE()/DECODE(), но хочется наверное не этого ?)
На вопрос "а почему бы дедикейт не поставить?" есть встречный вопрос "а кто мешает посторонним на дедикейте рыться?".
Незнание паролей :) Ну конечно это не защитит от вынимания винта и установки его в другой комп.
PS: В понятие "посторонние" входят сотрудники хостинг компании.
Но вряд-ли сотрудники солидной хостинг-компании станут таким заниматься.
 

slach

Новичок
для MySQL3.x можно глянуть на
http://www.stunnel.org

но вообще правильно заметили, не шифрует моська свои базы... (а жаль)

поэтому, даже если пользовать криптующий софт а-ля PGPDisk и т.п. зная пароль коннекта к моське ... все равно в базе ковыряца можно...

плюс к этому задача вообще выглядит несколько БРЕДОВО =)
при ФИЗИЧЕСКОМ доступе посторонних к серверу, просто невозможна качественная реализация... возможна, только всяческая защита от дурака =)
 

Silencer_SPB

Новичок
Мда, что-то я действительно слегка невнятно объяснил суть вопроса. Оставим понятие "исключить доступ", возьмем понятие "максимально затруднить доступ" и "защитить данные от перехвата". То есть возможность
"поправить" РНР так, чтобы функция mysql_connect записывала свои параметры в лог ?
не рассматриваем, от этого все равно не защититься. На дедикейте правда можно и от этого.

Далее:

"Beginning with version 4.0.0, MySQL has support for SSL encrypted connections."
Она ж еще не stable как я понял. Или уже можно на рабочем сервере использовать?

Насчет шифрования данных в базе: я имел ввиду не средствами MySQL а именно в PHP. То есть чтоб получив доступ к базе - ничего полезного оттуда было бы не прочитать.

От вынимания винта защита другого уровня - в другом месте стоит мониторинг "живости" сервера - в случае отключения задача переводиться на физический уровень :) То есть на площадку скачет человек выяснять "а какого собссно?".

Что-то все равно нечеткое объяснение получилось :)

slach: за ссылку спасибо, почитаю.
 
Сверху