Необходимо разработать программу на Visual C++ (MFC) взаимодействующую с MySQL через интерфейс ODBC. Каким образом передаются данные между клиентом и сервером в данной технологии, шифруются ли как-то, насколько возможно перехватить сообщение и изменить SQL запрос на потенциально опасный или модифицировать полученый ответ? Т.е. интересуют общие вопросы безопасности применительно к ODBC.
wildwind wrote:
> В большинстве случаев сообщения формирует и отправляет не драйвер, а
> клиентская библиотека доступа к используемой СУБД. Драйвер реализует
> унифицированный интерфейс между ней и приложением.
В большинстве случаев как раз драйвер и формирует. Большинство драйверов
не строятся по такой схеме, а работают напрямую. Правда, это не важно
совсем для данного вопроса.
Каким образом передаются данные между клиентом и сервером в данной технологии,
шифруются ли как-то, насколько возможно перехватить сообщение и изменить SQL
запрос на потенциально опасный или модифицировать полученый ответ?
Это в принципе возможно, хотя и достаточно трудно.
Т.е. интересуют общие вопросы безопасности применительно к ODBC.
Они ни чем не отличаются от вопросов безопасности применительно
к любым сетевым приложениям. И С++ с VC тут тоже ни при чём.
Ну и сводится всё к обеспечению безопасности на сетевом уровне.
Для этого либо применяют VPN-ы всяческие (pptp, ipsec), либо
шифрование траффика и доп. аутентификацию соединения на сетевом
уровне. В принципе VPN от второго не сильно отличается, просто
он служит для нескольких приложений, а второе -- только для одного
конкретного содинения.
Ну а в MySQL для этого есть поддержка SSL, включив которую ты
получишь желаемое. Включается это на уровне установки соединения,
в приложении при этом почти ничего и не надо делать.
Я думаю, SSL-я тебе хватит.
Posted via RSDN NNTP Server 2.1 beta
Здравствуйте, wildwind, Вы писали:
W>Здравствуйте, programmmista, Вы писали:
P>>Т.е. он вообще никак не шифрует сообщения? Каков вообще механизм, ODBC формирует сообщение (в каком виде?), посылает его на порт, а отправкой занимается ОС?
W>В большинстве случаев сообщения формирует и отправляет не драйвер, а клиентская библиотека доступа к используемой СУБД. Драйвер реализует унифицированный интерфейс между ней и приложением.
W>Конкретно драйвер MySQL (да и бтблиотека) как работает, можно посмотреть в исходниках.
Фига! А это тогда что?
Видимо всетаки он занимается передачей, причем защищенной по протоколу SSL.
Теперь надо посмотреть какие параметры выставлять.
programmmista wrote:
> Фига! А это тогда что?
> Видимо всетаки он занимается передачей, причем защищенной по протоколу SSL.
Автор-то имел в виду внутренности, его реализацию. Но пост действительно
не в тему был.
Posted via RSDN NNTP Server 2.1 beta