Сценарий, чтобы изменить членский пароль на многих различных территориях

Мы принимаем приблизительно 20 различных мест пробега expressionengine для множества клиентов. В тех местах мы сделали, чтобы администратор считал с тем же самым именем пользователя на каждой территории. Когда один из наших сотрудников покидает компанию, мы должны пойти и вручную изменить пароли на каждой территории, которая является ручной и трудоемкой.

Я думаю о написании сценария, чтобы сделать это автоматически. Мой план состоял бы в том, чтобы создать объект или множество всех мест db связи и петля через них и управлять запросом SQL, чтобы измениться на пароль, где exp_members.username равняется нашему имени пользователя администратора.

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

Спасибо

3
nl ja de

2 ответы

Как вы предназначили бы при изменении пароля посредством обновлений базы данных? От установки до установки фактическая криптография, используемая для хеширования пароля, может измениться в зависимости от того, что доступно на сервере. EE2 использует sha512 , sha256 , sha1 и md5 в зависимости от сервера/окружающей среды. Я не уверен в EE3. Чтобы соответственно обращаться с этой ситуацией, я предложил бы писать таможенное добавление, которое может функционировать как микрообслуживание API; в основном вы совершаете нападки, это - id Действия, утвердите так или иначе, передайте его новый пароль, и затем используйте EE, чтобы программно изменить пароль пользователя. Но из истинных соображений безопасности это только было бы умно, если бы каждое место, которое необходимо поразить, находится позади сертификата SSL, и даже тогда необходимо было бы написать сценарий, чтобы поразить эти услуги вместо вручную копии/приклеивания 20 URL, чтобы совершить нападки в браузере.

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

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

DELETE FROM `schema`.`exp_sessions`
    WHERE member_id = XXX;

Это зарегистрировало бы некоторых людей; но это не конец света.

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

Честно, я не рекомендовал бы текущий маршрут, в котором вы находитесь; разделение верительных грамот и одного пользователя администратора анонимизирует сделанную работу и делает ее тяжелее, чтобы приписать события сотрудникам (думайте: кто отредактировал мой вход!?). Я предполагаю, что у вас могли быть система развертывания и хранилище для ваших установок, чтобы заботиться об отслеживании редакторов файлов, но содержание редактирует, потеряны вашему одному пользователю.

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

Сложный ответ был бы таможенным добавлением, которое утверждает определенных пользователей против отдельного, безопасного предприятия, которое устанавливают такие отдельные EE. Затем вы просто изменяете того одного участника EE в своем владельце, устанавливают, и затем никакие другие EE не устанавливают, может утвердить против него, если это не обеспечивает обновленный пароль. Есть дополнительные крюки для приема в членскую мандатную проверку, которую вы только сделали бы выборочно для ваших "основных" участников, и уезжать, каждый устанавливает, чтобы использовать членского автора по рождению для всех остальных.

В один прошлый раз, хотя; помните, если вы передаете незашифрованные пароли в какой-либо форме, становятся позади SSL .

2
добавлено
Хм. Ну, если вы держите всю версию EE о том же самом и запускаете все приложения на двойных или очень похожих изображениях, можно, вероятно, сойти с рук хеширование нового пароля в местном масштабе и затем использовать сценарий удара (или питон, или безотносительно), чтобы распределить его. Мое единственное беспокойство - то, если какой-либо из ваших серверов пропускает шифровальные пакеты (как, шанс на 0.001% этого честно). Но возьмите пик в исходном коде (я верю / system/ expressionengine/ libraries/ Auth.php ), чтобы видеть, как EE крошит пароли.
добавлено автор Nazgob, источник
Спасибо за вход. Технологический процесс - установка путем, это - потому что мы просто строим места, и клиент добавляет содержание. Мы просто создаем счет администратора, таким образом, мы можем войти в панель управления, если клиент сообщает о проблеме. Приблизительно 10 devs плюс-минус, но кажутся, что есть достойная сумма оборота капитала, таким образом, кажется, что мы делаем это ежеквартальное издание. Что касается управления сценарием я запланировал бы быть в сети, как все базы данных находятся в том же самом центре, и я управлял бы сценарием от локальной версии, таким образом, сценарий не будет ни на одном из фактических веб-сайтов.
добавлено автор Binh Nguyen, источник

Я или 1) просто удалил бы их счет. 2) переместите их в группу пользователей, у которой нет доступа ни к чему. Таким образом, даже если они будут в состоянии изменить свой пароль, они не будут в состоянии добраться до чего-либо.

0
добавлено