Веб-системы

Пароли в веб-системах

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

Надежность паролей

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

Чтобы исключить меньшее количество символов, нужно либо генерировать пароли программным образом и предоставлять их пользователям, либо проверять количество введенных символов пароля (и выводить соответствующее сообщение пользователю). При регистрации пользователя, нужно не допускать его до завершения процесса регистрации, пока не будет введен пароль соответствующей (минимальной) длины (в случае, если пароли не генерируются программно). Также нужно уделить большое внимание самой программной системе работы с паролями, в том числе процессам обработки, хранения и передачи паролей.

Обработка паролей

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

При передаче данных необходимо избегать (и если это не позволяет текущая задача, то минимизировать) передачу паролей в открытом виде (через GET запрос). Старайтесь передавать пароли всегда POST запросом.
При работе с банковской и другой важной информацией, желательно пользоваться защищенной передачей данных (https) с использованием криптографических систем (использование SSL). Причем можно шифровать как пароли к веб-систем, так и всю другую информацию.