У нас есть приложение PHP, которое подключается к серверу MySQL, и мы хотим защитить соединения между веб-серверами и серверами приложений и базой данных.
В часы пик веб-серверы устанавливают сотни одновременных подключений к базе данных и выполняют множество небольших операций чтения и записи. Я знаю, что это не оптимально, и я работаю над сокращением количества подключений к базе данных параллельно с этим.
У нас нет постоянных подключений к базе данных, включенных в настоящее время, и хотя мы планируем это сделать в будущем, я хотел бы реализовать это независимо от этого.
Аппаратное обеспечение - сервер MySQL довольно громоздкий (16 ядер), как и веб-серверы. Это выделенные серверы.
Затем мой вопрос касается наиболее эффективного способа защиты и шифрования соединений с сервером базы данных.
Мои исследования показали, что основные накладные расходы на производительность связаны с установкой SSL-соединения - после подключения SSL есть небольшое снижение производительности. И вот что у меня есть о каждом методе защиты соединения:
Это все, что мне удалось. Я знаю об ограничениях тестов - по моему опыту запуска очень сложно имитировать реальный мировой трафик. Я надеялся, что у кого-то есть совет, основанный на собственном опыте защиты MySQL?
Спасибо
Я бы пошел с ssh-туннелем и сделал это с autossh
вместо того ssh
. Что касается производительности, я бы сказал, что протокол SSH легко настраивается, и вы можете настроить свое соединение, если это необходимо.
Но я бы не ожидал заметных накладных расходов после установки соединения.
Посмотрев на тесты этого статья (Блог о производительности MySQL) вам действительно следует избегать встроенных в MySQL возможностей SSL.