Рекомендуемые привилегии SQL для пользователей MySQL для CMS - PullRequest
0 голосов
/ 30 октября 2009

В последнее время я экспериментировал со многими приложениями для веб-разработки, такими как Drupal, Moodle, Efront и Elgg. Для большей безопасности я запускаю тестовые серверы с настройкой XAMPP на виртуальной машине XP в Mac OS X 10.4, используя Parallels. Я думаю, это должно быть довольно безопасно, верно?

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

В настоящее время я создаю новых пользователей, зайдя в PHPMyAdmin, базу данных MySQL, таблицу пользователей и вставив новую строку. Это правильно? По некоторым причинам, это не всегда работает.

PS - Должен ли я беспокоиться обо всем этом или просто позволить каждому программному обеспечению использовать мою корневую учетную запись?

Ответы [ 2 ]

1 голос
/ 04 ноября 2009

Привилегии пользователя MySQL, которые вы используете, очень важны и могут предотвратить вас от взлома. Вы должны следовать системе доступа с наименьшими привилегиями.

Чтобы добавить пользователя в PHPMyAdmin: 1) войти в систему как root 2) перейти на вкладку Привилегии 3) нажмите «Добавить нового пользователя».

PHPMyAdmin группирует привилегии MySQL как Данные, Структура и Администрирование.

Права «Администрирование» должны быть отключены для веб-приложения, только root должен иметь такой доступ. Ни одна из привилегий «Администрирование» не может быть использована в эксплойте SQL Injection, если только приложение не разрешает стек запросов. (Большинство не позволяет этого!)

Во время установки веб-приложения для построения базы данных требуются привилегии «Структура», однако они почти никогда не нужны во время работы веб-приложения, поэтому их можно отключить.

Раздел «Данные» хитрый. Привилегии «ФАЙЛ» - это самая опасная привилегия, которую вы можете дать веб-приложению. Причина в том, что он позволяет хакеру использовать уязвимость SQL Injection для чтения и записи файлов на вашем сервере. Доступ «FILE» является единственной привилегией, которая может дать злоумышленнику удаленное выполнение кода (RCE), и должна ВСЕГДА быть отключена.

И последнее, но не менее важное: Apache Friends XAMPP - ужасное программное обеспечение. Известные уязвимости существуют и не исправляются в течение почти года. Я возобновил установку LAMP в Ubuntu, он прост в использовании и безопасен.

0 голосов
/ 30 октября 2009

если вы вставляете строки непосредственно в пользовательскую таблицу, вам нужно щелкнуть ссылку FLUSH PRIVILEGES на странице привилегий, чтобы mysql снова посмотрел таблицу пользователей.

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

и вам определенно НЕ следует позволять вашему программному обеспечению использовать только учетную запись root. вы должны создавать пользователя для каждого приложения с максимально возможными правами доступа.

...