Как обезопасить phpmyadmin?

9

Я проверил свои логи apache, и, оооооо, есть много ботов, пытающихся использовать phpmyadmin. Первым делом я изменил имя каталога на более неясное.

Но есть ли другие советы по обеспечению безопасности phpmyadmin?

(Сама база данных доступна только из локальной сети)

Борис Гери
источник
5
Сама база данных может быть доступна только локально, но если ее интерфейс управления (phpMyAdmin) общедоступен, это не имеет значения.
Джон Гарденье
4
Лучший способ обезопасить phpMyAdmin - узнать, как использовать клиент командной строки MySQL, а затем удалить phpMyAdmin.
MDMarra
@MDMarra Я абсолютно согласен с вами, но у меня просто была миссия для этого клиента, которому требовалось установить PhpMyAdmin, я никогда не использовал его и всегда предпочел SSH к нему. Тем не менее, для некоторого использования обучение SQL не является опцией, и GUI такой PhpMyAdmin приветствуется многими пользователями, но должен быть должным образом защищен нами, экспертами и профессионалами. Это очень высокомерно думать об обратном.
Борис Гери

Ответы:

13

Мы делаем комбинацию вещей:

  • Защитите phpMyAdmin через конфигурацию .htaccess или Apache, которая запрашивает HTTP-имя пользователя / пароль для входа.
  • Защитите phpMyAdmin через конфигурацию .htaccess или Apache, чтобы разрешить доступ только с определенных доверенных IP-адресов.
  • Поместите phpMyAdmin в его собственный VirtualHost и запустите его на нестандартном порту
  • Разрешить только HTTPS-соединения с phpMyAdmin, а не обычный HTTP
  • Разрешить подключения к нему только из локальной сети (использовать VPN для доступа через брандмауэр и разрешать подключения только в той локальной сети / VPN)
  • Не называйте каталог, который находится в чем-то очевидном, например / phpMyAdmin /

Вы также можете использовать переадресацию портов SSH для использования ключей SSH. См. Https://stackoverflow.com/a/3687969/193494

Кит Палмер младший
источник
6

Добавьте .htaccess, который разрешает только локальный IP-доступ к папке phpmyadmin.

gekkz
источник
Что если он предназначен для использования клиентами? Многие веб-хостинги используют PHPMyAdmin.
Люк
6

Сделайте phpmyadmin доступным на vhost, доступном только с localhost, и попросите пользователей использовать ssh и переадресацию портов для получения доступа к нему.

Брайан Де Смет
источник
2

Используйте .htaccess

Мы просто добавляем файл .htaccess с защитой имени пользователя / пароля и (в зависимости от обстоятельств) IP-адреса.

Это позволяет США быстро и легко получить доступ к ресурсу с доверенных компьютеров, но не позволяет хакерам.

Еще одно замечание ... не используйте ЖЕ имя / пароль для ЖЕ, как для .htaccess, как для PHPMyAdmin ... это было бы глупо. :-)

Надеюсь это поможет.

KPWINC
источник
2

Я согласен с htaccess (/ w пароль) и https.

Вы также можете подумать о добавлении второго IP-адреса на этот сервер и создании виртуального хоста Apache на основе IP для phpmyadmin. Это может быть просто IP-адрес локальной сети, поэтому он будет защищен брандмауэром (и у вас может даже не быть правила nat для него).

Чем больше слоев (т.е. htaccess + https + Virtualhost), тем лучше я думаю. В идеале, боты не должны быть в состоянии достичь его в первую очередь.

Конечно, вы всегда можете поместить phpmyadmin в другое поле.

Кайл Брандт
источник
1

В дополнение к предоставленным ответам мы также используем OSSEC с открытым исходным кодом для мониторинга наших веб-журналов и оповещения / блокировки этих проверок.

Его очень просто установить, и по умолчанию он найдет ваши веб-журналы и начнет их отслеживать.

Ссылка: http://www.ossec.net

sucuri
источник
1

Переместите phpmyadmin в каталог, имя которого скрыто так, как можно было бы ожидать, например, пароль: комбинация букв из разных регистров, а также цифр (например, PhP01mY2011AdMin) и аналогичным образом «надежно» защищающий пароль, защищающий каталог с помощью .htpasswd. Покажи фокус.

Опять же, если безопасность ваших баз данных mysql жизненно важна для вашего бизнеса, нужно спросить: «Что вы делаете, делая инструмент администратора, такой как phpmyadmin, доступным для Интернета в первую очередь?» Но у всех есть причины жить.

Нарисовалась
источник
0
  • HTTPS
  • Сделать его доступным только через туннель VPN / SSH

phpmyadmin слишком много зверя, чтобы его обезопасить. Вам понадобится mod_security и неделя отладки предупреждений, чтобы отключить половину правил для обеспечения функциональности phpmyadmin. Вывод: не делайте это общедоступным.

weeheavy
источник