Я хотел бы знать, что люди считают лучшей практикой для защиты разделов веб-сайтов администратора, особенно с точки зрения аутентификации/доступа.
Конечно, есть очевидные вещи, такие как использование SSL и регистрация всего доступа, но мне интересно, где выше этих основных шагов люди считают, что панель будет установлена.
Например:
- Вы просто полагаетесь на тот же механизм аутентификации, который вы используете для обычных пользователей? Если нет, что?
- Вы используете раздел "Администратор" в том же "домене приложения"?
- Какие шаги вы предпримете, чтобы заблокировать раздел admin? (или вы отвергаете все "неясность" ).
Пока предложения от ответчиков включают:
- Введите искусственную паузу на стороне сервера в каждую проверку пароля администратора, чтобы предотвратить атаки с использованием грубой силы [Developer Art]
- Используйте отдельные страницы входа для пользователей и администраторов, используя одну и ту же таблицу DB (чтобы остановить XSRF и доступ к сеансу, предоставляющий доступ к областям администрирования) [Thief Master]
- Рассмотрим также добавление собственной аутентификации веб-сервера в область администрирования (например, через .htaccess) [Thief Master]
- Рассмотрите возможность блокировки пользователей IP после нескольких неудачных попыток входа администратора [Thief Master]
- Добавить captcha после неудачных попыток входа администратора [Thief Master]
- Обеспечьте одинаково сильные механизмы (используя вышеуказанные методы) для пользователей, а также администраторов (например, не обрабатывайте админов специально) [Lo'oris]
- Рассмотрим аутентификацию второго уровня (например, клиентские сертификаты, смарт-карты, карты и т.д.) [JoeGeeky]
- Разрешать доступ только к доверенным IP-адресам/доменам, если это возможно, добавить проверку на базовый HTTP-конвейер (например, HttpModules). [JoeGeeky]
- [ASP.NET] Заблокируйте IPrincipal и Principal (сделайте их неизменяемыми и неперечислимыми) [JoeGeeky]
- Элемент прав администратора - например. email других администраторов, когда какие-либо права администратора обновляются. [JoeGeeky]
- Рассмотрите мелкомасштабные права для админов - например, а не прав на основе ролей, определяют права на индикативные действия для администратора [JoeGeeky]
- Ограничить создание админов. Администраторы не могут изменять или создавать другие учетные записи администратора. Для этого используйте заблокированный "суперадмин". [JoeGeeky]
- Рассмотрите SSL-сертификаты на стороне клиента или брелоки типа RSA (электронные маркеры) [Daniel Papasian]
- При использовании файлов cookie для проверки подлинности используйте отдельные файлы cookie для администрирования и обычных страниц, например. помещая раздел администратора в другой домен. [Даниэль Папасян]
- Если это практично, подумайте о том, чтобы сохранить сайт администратора в частной подсети, вне интернет-сети. [Джон Хартсок]
- Переиздайте авторизационные/сеансовые билеты при переходе между административными/нормальными контекстами использования веб-сайта [Richard JP Le Guen]