Я пытался найти эту информацию, но не смог.
Как работает подключение PHP к серверу MySQL. Поскольку пароль такой простой, отправляется ли он также в MySQL, если он хранится на другом сервере? Есть ли способ для «злоумышленника посередине» перехватить пароль?
Заранее спасибо,
Себастьен
AFAIK, вы правы, что соединение между PHP и MySQL НЕ зашифровано и представляет угрозу безопасности, особенно если веб-сервер и сервер MySQL являются разными серверами.
В прошлом у меня была установка с одним центральным сервером MySQL и несколькими веб-серверами, использующими PHP и другие языки для взаимодействия с базой данных MySQL. Я защитил его с помощью туннелей SSH между серверами, которые всегда оставались активными. На веб-сервере я использовал все те же команды для взаимодействия с MySQL (PHP и клиент командной строки mysql) и просто указал порт 3307 вместо стандартного 3306. Порт 3307 был перенаправлен через туннель SSH на порт сервера MySQL. 3306.
Эта установка также включала резервный сервер MySQL, который выполнял репликацию MySQL между двумя серверами MySQL (разными машинами) с использованием туннеля SSH.
Хотя я не проводил всестороннего тестирования этой настройки, казалось, что она работает хорошо, без заметного снижения производительности. В нескольких редких случаях туннель SSH обрывался, и мне приходилось вручную повторно подключать его, но это было очень редко.
Моя документация для настройки туннелей SSH есть на BitBucket.