MySQL соединение и безопасность - PullRequest
3 голосов
/ 14 апреля 2010

Мне было интересно, может ли кто-нибудь сказать мне, есть ли потенциальные нарушения безопасности, которые могут возникнуть при подключении к базе данных MySQL, которая не находится на локальном хосте, т.е. через IP-адрес?

Ответы [ 3 ]

6 голосов
/ 14 апреля 2010

Да, нарушения происходят, если не защитить соединение с вашей базой данных. Это вопрос безопасности сети, а не вопрос безопасности приложения. Таким образом, этот ответ полностью зависит от топографии вашей сети.

Если сегмент вашей сети может быть доступен злоумышленнику, вы должны защитить себя криптографией. Например, у вас есть злоумышленник, который скомпрометировал компьютер в вашей сети, и он может провести атаку ARP Spoofing на «Sniff» или даже на устройства MITM в коммутируемой сети. Это может быть использовано для просмотра всех данных, которые поступают в вашу базу данных и из нее, или для изменения ответа базы данных на определенный запрос (например, логин!). Если сетевое соединение с вашей базой данных представляет собой одно витое соединение rj45 с вашим httpd-сервером, все они находятся в запертом шкафу, то вам не нужно беспокоиться о том, что хакер подслушивает это. Но если ваш httpd находится в сети Wi-Fi, а затем подключается к базе данных в Китае, то вы можете подумать о шифровании.

Вы должны подключиться к базе данных MySQL, используя Встроенную в MySQL возможность SSL . Это обеспечивает высокую степень защиты всех передаваемых данных. Вы должны создать самозаверяющие сертификаты x509 и жестко их кодировать. Это бесплатно, и вам для этого не нужен ЦС, такой как Verisign. Если есть исключение сертификата, то существует MITM, и, таким образом, это останавливает вас от разглашения пароля.

Другой вариант - VPN , и он лучше подходит, если у вас есть несколько демонов, которым требуется безопасное соединение точка-точка.

2 голосов
/ 14 апреля 2010

Как правило, проблема в том, что уязвимости на сервере MySQL эксплуатируются ненадежными клиентами.

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

Естественно, вы должны поддерживать клиентские библиотеки MySQL в актуальном состоянии, чтобы избежать таких возможностей, а также обновлять сервер.

Если ваше соединение с сервером происходит через Интернет (а не через частную сеть), вам следует рассмотреть возможность его запуска через зашифрованную ссылку (либо собственную схему SSL MySQL, либо использование туннеля). В противном случае любой человек, находящийся посередине, может возиться с данными, поступающими в базу данных и выходящими из нее, и при наличии уязвимостей клиента или сервера они также могут быть направлены.

0 голосов
/ 17 августа 2012

Если серверы находятся в одной стойке, вы можете использовать выделенный высокоскоростной кабель MySQL или использовать изоляцию VLAN коммутатора и защитить ОС базы данных. В облаке с виртуальной облачной сетью вы можете подключить его так, чтобы подделка arp была невозможна, а для репликации geo-ip вы можете использовать user / password и firewall, а затем измерить производительность, а затем настроить туннель и измерить снова производительность, если она не плохая, может быть полезна против неизвестных угроз или просто полезна при использовании свободных циклов ЦП.

Просто SQL-серверы должны находиться в изолированной сети, а не в публичной, как правило, вы никогда не публикуете открытое соединение с базой данных кому-либо и сохраняете его с хорошей фильтрацией брандмауэра в отдельной подсети, предназначенной для обработки конфиденциальных данных с помощью очень хорошая защита от спуфинга arp, в противном случае он может быть взломан и основные части системы могут быть скомпрометированы с использованием нескольких методов, и это очень приятно, а иногда и очень легко справиться с этим, например контролировать, контролировать и определять политику трафика MySQL на аппаратном уровне - и это действительно делает свою работу и дает реальные результаты.

При желании вы можете хранить его на зашифрованном жестком диске в физически безопасном месте вместе с коммутатором, чтобы при отключении питания он выключался, а личный ключ стирался, следовательно, и уровень 1, и уровень 2 защищены.

На коммутаторе использовать статическую таблицу ARP плюс фильтрацию статических записей по сравнению с портом очень просто, поскольку это также физический уровень - номер порта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...