За последние 24 часа нас посетили 25266 программистов и 1736 роботов. Сейчас ищут 916 программистов ...

Настройка привилегий

Тема в разделе "MySQL", создана пользователем nixx, 22 май 2013.

  1. nixx

    nixx Активный пользователь

    С нами с:
    20 фев 2013
    Сообщения:
    132
    Симпатии:
    0
    Не нашел внятного описания про привилегии.
    На сайте есть загрузка фото и добавление коментов.
    В БД установил только привилегии select и insert.
    Нужно ли для пользователей устанавливать привилегии?
    Или это необязательная дополнительная нагрузка?
     
  2. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    желательно.
    вообще логика простая. надо завести необходимое кол-во пользователей, по потребностям.
    и дать каждому ТОЛЬКО те привилегии которые им точно нужны будут в работе с базой. все остальное под запретом.
     
  3. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    Для сайтов характерно что все пользователи работают под одной учетной записью БД. И админ и гость имеют равные права на уровне базы. Учетке сайта дают право изменять данные в схеме сайта и только в ней.
    Для десктопных приложений как правило пользователь == пользователь_БД, для них конечно разные привилегии раздают, причем через группы/роли, где это доступно.

    Так что давай четко определим о каких именно привилегиях идет речь.
     
  4. nixx

    nixx Активный пользователь

    С нами с:
    20 фев 2013
    Сообщения:
    132
    Симпатии:
    0
    Установил для всех пользователей(гостей) только привилегии select и insert .

    В статьях на эту тему пишут примерно такое,что при взломе БД,если есть все привилегии ,с ней можно делать все что угодно.
    Вот и хотел уточнить, нужно ли в целях увеличения безопасности БД урезать привилегии гостям,а для админки свои привилегии соответственно.
     
  5. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    обязательно
     
  6. nixx

    nixx Активный пользователь

    С нами с:
    20 фев 2013
    Сообщения:
    132
    Симпатии:
    0
    Если можно ваш практический пример
     
  7. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    конечно можно. на большинстве моих проектов где идет только получение данных - настроено только чтение. причем еще и ограничивается по каким полям. админка - пользователь с правами на вставку/обновление. есть еще промежуточные пользовательские состояния. например только запись в определенную таблицу без возможности читать вообще что-либо.
    короче. когда создается информационная система надо внимательно смотреть как с ней будут работать. условно это ролями называется. дальше этим ролям распределяем на что они способны. есть два подхода - "запрещено все что не разрешено" и "разрешено все что не запрещено". думаем, решаем, настраиваем. и всегда помним что это не является защитой на 100%...
     
  8. nixx

    nixx Активный пользователь

    С нами с:
    20 фев 2013
    Сообщения:
    132
    Симпатии:
    0
    Что интересно в основном работу с бд описывают через консоль... Надо изучить и запомнить кучу команд.
    Есть же phpadmin.))
    Если на сайте нет форм для отправки данных (коменты,регистрация и тп)-ставим только привилегию select
    Если есть - select и insert
    Если можно что-то менять то + update
     
  9. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    речь же о трех разных пользователях? иначе смысла не имеет - третья строка понижает уровень безопасности первых двух.
     
  10. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    ты вижу нифига не понял. еще раз -- гости и админы работают из-под одной и той же учетной записи базы. поэтому "урезать привилегии гостям" ты можешь на уровне своего приложения, но не на уровне базы. как только произошла SQL-injection все твои ограничения идут лесом.
    поэтому ответ: мы бы очень хотели, но не можем.

    прими как данность: мы не можем дать привилегии меньше чем право на запись во все таблицы сайта. то есть фактически на все объекты выбранной базы.
    не соединяйся от имени рута и не заводи в одной базе таблицы для разных систем -- вот разумная защита.
     
  11. nixx

    nixx Активный пользователь

    С нами с:
    20 фев 2013
    Сообщения:
    132
    Симпатии:
    0
    А не select разве самая наименьшая привилегия?Можно и без нее ,если страницы не динамо.
     
  12. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Наименьшей привилегии не бывает как таковой. например, системе журналирования важно записать событие и совершенно не нужно знать что лежит рядом - indert разрешаем, остальное запрещаем.