Расширенные списки управления доступом Drupal для "ненадежных" администраторов - PullRequest
4 голосов
/ 01 апреля 2010

У меня есть многопользовательская установка Drupal-6, содержащая сайты разных клиентов.

На каждом сайте есть роль «администратор», которая включает в основном учетную запись клиента. Мы хотим предоставить как можно больше разрешений этому привилегированному пользователю, но это может привести к утечкам в системе безопасности, используя только систему управления разрешениями Drupal Core.

Главное, чего следует избегать, - это учетная запись клиента, которая может запускать код PHP на сервере (это все равно, что регистрироваться на сервере как пользователь www-data .. звучит очень плохо).

Во избежание этого недостаточно отказать в оценке кода PHP для роли. Поскольку роль администратора должна иметь разрешения для управления пользователями, он также может изменить пароль пользователя # 1 и войти на сайт как superadmin.

Второй целью было бы запретить также некоторые «запутанные» административные страницы (такие как выбор модуля), но не другие (такие как конфигурация информации сайта или выбор темы и т. Д.)

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

Ответы [ 4 ]

1 голос
/ 01 апреля 2010

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

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

0 голосов
/ 15 апреля 2010

Я только что написал модуль PermMill , чтобы исправить проблему слишком больших разрешений.

Код еще не опубликован в официальном CVS drupal.org, но скоро появится.

Я надеюсь, что этот модуль может быть полезен кому-то еще, кто достигнет этого вопроса.

[ОБНОВЛЕНИЕ] 2010-04-15 19:30 +0200: Я только что загрузил код в CVS, и завтра выйдет первый tarball 6.x-1.x-dev примерно в 0 : 00:00 по Гринвичу ..

0 голосов
/ 05 апреля 2010

Вы можете удалить модуль php из каталога модулей. Пока вы не используете php-страницы, их можно удалить.

0 голосов
/ 01 апреля 2010

Удалить администраторов пользователей из роли, чтобы они не могли менять пароли. Поощряйте пользователей делать сброс пароля.

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

http://drupal.org/project/role_delegation

http://drupal.org/project/override_node_options

Второй модуль позволит вам удалить разрешение «администрировать узлы», удалив из роли «чрезмерную силу».

...