Какая из возможных конфигураций Devise наиболее безопасна?

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

Я бы хотел использовать Devise для аутентификации. Какая из возможных конфигураций Devise наиболее безопасна?

Думаю, я сделаю следующее:

  • Блокировка учетных записей после небольшого количества неудачных попыток входа в систему
  • Используйте config.paranoid , чтобы злоумышленник не мог определить, угадал ли он действительный адрес электронной почты.
  • Возможно, отключите сброс пароля электронная почта?

Некоторые конкретные вещи, в которых я не уверен, с цитатами из devise.rb курсивом:

  • Peppers. В Devise есть опция «Настроить перец для генерации зашифрованного пароля». Насколько я понимаю, это единственное, зависящее от приложения значение, которое преобразует глупый пароль вроде «password123» в нечто вроде «password123K #» (! @akdlwekdf "или" *%! kd39gpassword123 "или что-то еще перед хешированием. Это предназначено для предотвращения атак с помощью радужной таблицы, но, как я понимаю из этой статьи , это не так хорошо, как уникальность пароля С другой стороны, эта статья и эта статья говорят, что в bcrypt встроены соли. Действительно ли использование перца с bcrypt добавляет что-нибудь? Могу ли я, и есть ли необходимость, также есть столбец соли?
  • Растягивает . «Для bcrypt это стоимость хеширования пароля и по умолчанию 10». На основании этого вопроса , я Я думаю об использовании коэффициента работы 12. Это кажется разумным?
  • Длина пароля . Более длинный пароль кажется более безопасным в общем al, но я не хочу, чтобы это было настолько сложно, чтобы пользователь записал это где-нибудь на листе бумаги. Имеет ли значение длина пароля, если мы используем bcrypt?
  • Файлы cookie SSL . Для общедоступных приложений с включенным SSL отметка файлов cookie как «они могут передаваться только по HTTPS» защищает от атак в стиле Firesheep . Но я не уверен, насколько имеет смысл иметь сертификат безопасности для внутреннего приложения. Это глупо?

Что еще мне не хватает?

31
задан Community 23 May 2017 в 12:02
поделиться