Как Вы управляете паролями для большого количества серверов?

Не только плохо или среднее число, довольно часто хорошие PHP программисты забывают о целях безопасности.

Хотя это не вырезано в камень, взламывание сайтов может быть пробито более трудное с представлением некоторых правил

  • сегментация кода/данных/рабочего файла и осуществление разрешения
    • код: каталог, где Вы сохраняете свои исполняемые файлы: этот каталог HAVE, чтобы быть доступным, но не ДОЛЖЕН быть перезаписываем пользователем рабочий апач (www-данные или httpd в различных системах) (php_admin_flag механизм на)
    • данные: место CSS, изображений и статического файла, идущего со страницей: этот каталог MUST NOT быть перезаписываемым или исполняемым Apache (php_admin_flag механизм прочь)
    • каталог для пользовательских-uploadable файлов, временные файлы и так далее: этот direcotory МОЖЕТ быть перезаписываем, но не ДОЛЖЕН быть исполняемым файлом Apache (php_admin_flag механизм прочь)
  • отключение .htaccess файлы: одна треть времени, сайт 'взломы' является только о перезаписи .htaccess файлами, таким образом, это похоже на расширение полномочий. Также ускоряет Apache, если он не должен проверять, находится ли какой-либо .htaccess файл на _any_ уровне обслуживаемого пути.
  • представление non-obstuctive ограничения в PHP, как
    • отключая неиспользуемые функции (система, должностное лицо вначале),
    • представление open_basedir (строго утверждение каталогов, где php должностному лицу не разрешают),
    • механизм php_admin_flag прочь в Каталоге / и разрешение только определенных директоров (или лучше, определенные файлы)
    • display_errors строго ПРОЧЬ
    • с virtualhosting много сайтов становится удобно, если Вы представляете sendmail обертку, для создания водяных знаков на каждой исходящей букве, делая легче найти, какой virtualhost лавинно рассылает систему со спамом
  • и конечно избегая распространенных ошибок как включение ПОЛУЧИТЬ/POST переменной

Простая sendmail обертка:

#!/bin/sh
umask 077
TEMP=/tmp
CHROOT=${1:-unspecified}

trap "rm -f msg.$$ ; exit 1" 0 1 2 3 15

rm -f msg.$$ || exit 1;
cat | formail -f -I "X-subsystem-sent: \"$CHROOT\"" >$TEMP/trapmail.$$

exec <$TEMP/trapmail.$$ || exit 1
rm -f $TEMP/trapmail.$$ # safe, we hold the file descriptor

exec /usr/sbin/sendmail -t -i 
exit 1
7
задан 27 February 2010 в 17:18
6 ответов

Большинство мест использует два набора паролей: интерактивная аутентификация и офлайновые пароли. Интерактивная аутентификация обычно делается с системой аутентификации/авторизации (AA) как Kerberos. Каждому пользователю администратора присваивают надлежащие маркеры и права доступа на серверах

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

При настройке VM можно обычно соглашаться на не наличие любого пароля root и просто присваивать аутентификацию/авторизацию онлайн. Очень маловероятно, что необходимо управлять машинами VM, когда серверы AA в режиме офлайн.

2
ответ дан 2 December 2019 в 23:25

Я отговорил бы от совместного использования паролей между машинами. Если Вы взламываетесь, потенциально все Ваши машины поставлены под угрозу. Однако, если Вам нравится идея переустановить их всех... :)

Я не использовал бы пароли, которые можно разработать, например, часть имени хоста, IP/MAC-адрес и т.д. Лично, я использовал бы некоторое программное обеспечение, разработанное для хранения паролей безопасным способом, таких как Keepass. Позвольте keepass генерировать пароли для Вас. Я использую по крайней мере 12 символов и включаю числа, верхний регистр и нижний регистр, но я действительно использую, 'избегают подобно выглядящих символов' опция, в течение многих времен, когда необходимо вручную ввести пароль.

4
ответ дан 2 December 2019 в 23:25
  • 1
    +1 для KeePass; у нас было 280 с лишним паролей в последнем количестве, и это помогает нам отслеживать. –  RainyRat 27 February 2010 в 14:54
  • 2
    +1 для KeePass также, с помощью него в Windows и Mac здесь –  Andy Shellam 27 February 2010 в 16:09
  • 3
    +1 для KeePass; Используемый это для отслеживания все внутреннее и внешнее. Позвольте Вам отследить случайные пароли легко. Просто управляйте доступом к нему тщательно. И это doesn' t означают Вас don' t должны изменить все те пароли, когда у Вас есть оборот. –  Donald Byrd 27 February 2010 в 22:07

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

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

При клонировании VM (который я не думаю, что необходимо сделать, но это - другой вопрос), определенные стандартные программы должны быть выполнены, и один из тех должен изменять все пароли.

Править: Ответить на Ваш заголовок, "Как Вы выбираете пароли для большого количества серверов?" - Вы не делаете. Я использовал бы случайный для всех серверов. Реальный вопрос состоит в том, как и когда Вы обнаружите, когда кто-то нарушил на Ваших серверов.

4
ответ дан 2 December 2019 в 23:25

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

1
ответ дан 2 December 2019 в 23:25

С этим много системных двухфакторных аутентификаций через LDAP работали бы хорошо. Причем одним фактором является RSA secureid. Если бы взломщик должен был обнаружить пароль пользователя, то им все еще были бы нужны по крайней мере три поколения числа RSA подряд перед способностью копировать будущие поколения. Политики сильного пароля загрузиться.

2
ответ дан 2 December 2019 в 23:25

При использовании debian Вы можете

apt-get install pwgen

Затем выполненный

pwgen -s 10

Вы получите список паролей как это:

f8v80OYXeI 5MjxYpIIv2 Tm21s5L2Cn OIcli0rFzO baOxEpe76k Lkk4RrnbU0 JxmBJ2INUf
Opz0suRZ3w CItzZfEm2L e2C02fwjYI NG9szPlwiR fhr5IyY1VO 1C8GvLztE5 lYaKJFQ5vh
aAjQLPShN4 w3mMCM5ZGD 58qPYdXpQv 5Ai9vo98Tu O8MEczVUvm ZMnFNJM7Yw xA92RM2SIU
aGKHaR0Ow2 XCKdv966YN pEy1xnll4r 281ffAgBE4 dTCbw5eS0D dUWPqrW7GP yXTuubWHJ1
0nOFEatyuD nSefCV8yRG J7bgHIrEZ3 wDQWtG7QLz AOGGQx1agh zEDUp3Bt4I BS3m3EYf9q
...

Они случайным образом выбраны 10 символьных паролей, которые будут трудными к грубой силе. ('-S' 'делают их случайными, значение по умолчанию pwgen должно сделать их удобопроизносимыми),

0
ответ дан 2 December 2019 в 23:25

Теги

Похожие вопросы