Ответы пользователя по тегу Веб-разработка
  • А зачем вообще покупать SSL-сертификат для сайта у GlobalSign/Comodo/etc, если можно подписать самому?

    nmk2002
    @nmk2002
    работаю в ИБ
    В вашем случае самоподписанного сертификата достаточно. Отличия от сертификата, полученного у одного из доверенных центров сертификации только в доверии. То есть ОС, браузер и приложения ничего не знают об издателе сертификата и не доверяют ему по умолчанию. Если вручную не указать им, что этот сертификат доверенный, то вы будете видеть предупреждение об ошибке сертификата.
    Если таких сайтов у вас несколько, то я бы рекомендовал сделать небольшой УЦ и подписывать им сертификаты для ваших сайтов. Тогда браузерам надо доверять только этому вашему УЦ, а не каждому сертифкату по отдельности

    УЦ можно сделать на базе любого бесплатного PKI. Есть достаточно удобные и простые в установке и настройке.
    Ответ написан
    Комментировать
  • Двухфакторная аутентификация: пароль + email?

    nmk2002
    @nmk2002
    работаю в ИБ
    пароль + код на email - вполне себе двухфакторная аутентификация.
    Одноразовый пароль, отправляемый по email можете просто генерировать рандомно на стороне сервера и потом сравнивать его с полученным от пользователя.
    Отличие от SMS - канал передачи одноразового пароля. Вы можете даже использовать пуш-уведомления на смартфоне для передачи одноразовых паролей.

    Другой вариант - OTP генератор. То есть у вас должен быть генератор одноразовых паролей (аппаратный или программный), а на стороне сервера должна быть реализована логика сервера аутентификации по стандарту OATH. Есть готовые модули реализующие этот стандарт.

    Другой, возможно, несколько устаревший способ: TAN-списки. Раньше их использовали некоторые банки. На обычном принтере печатается лист с одноразовыми паролями, которые потом сервер запрашивает при аутентификации или, как в случае с банками, при авторизации транзакции. По сути метод аналогичен отправке пароля по sms/email, но тут сервер уже должен хранить список сгенерированных паролей, а не только текущий пароль.

    Еще один способ - печать матрицы с именованными столбцами и строками. Сервер аутентификации при входе будет запрашивать пароль по координатам матрицы, например, A4,B1,F1,C3

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

    Есть и другие, более экзотические методы двухфакторной аутентификации.
    Ответ написан
    Комментировать
  • Какие меры защиты аккаунта применить, если недоступно прикрепить мобильный?

    nmk2002
    @nmk2002
    работаю в ИБ
    Если вы спрашиваете про защиту аутентификации, то такая задача требует комплексного подхода.
    Для начала учетные данные пользователя должны правильно храниться на вашем сервере.
    А пользователь должен использовать строгую аутентификацию. Вариантов много и надо выбирать то, что подходит именно вам:
    - сертификаты (смарт-карты, токены)
    - одноразовые пароли (аппаратные генераторы, программные генераторы, SMS/email, OATH или проприетарные, QR или цифро-буквенные)
    - биометрия (например, поведение печати на клавиатуре)
    Ответ написан
    Комментировать
  • Как авторизировать пользователя на сервере через OAuth?

    nmk2002
    @nmk2002
    работаю в ИБ
    OAuth дает вам возможность воспользоваться ресурсами facebook для вашего сайта. Но это вовсе не означает, что ваш пользователь сможет аутентифицироваться на вашем сайте имея аккаунт на facebook.
    Другими словами, если вашему сайту надо получить доступ к контактам пользователя на facebook, то используя OAuth вы это сможете реализовать, сделав для пользователя всего одну кнопку, нажав на которую он увидит страничку аутентификации facebook. После аутентификации пользователь предоставит вашему сайту доступ к контактам.
    В двух словах можете прочитать про OpenID тут:
    habrahabr.ru/company/mailru/blog/115163
    geektimes.ru/post/77648

    То, что описываете вы скорее похоже на OpenID или SAML.
    Ответ написан
    3 комментария