Безопасность системы авторизации

Безопасность системы авторизации

Привет народ.

Сегодня натолкнулся на очень интересную статью на Хабре про системы авторизации на сайтах.
Сколько себя помню любое погружение в очередной язык происходило в создании web приложения и первым же делом вопрос вставал о системе авторизации. У меня даже сложилось такое мнение что прикрученная система авторизации это 50% успеха проекта. Ну а почему нет? Пока все настроишь, прикрутишь к базе данных, вот и научился работать с датамоделью и формами. Остальная логика тупой копипаст полученных знаний.

Так вот про статью
Аутентификация в Node.js. Учебные руководства и возможные ошибки

Она написана в проекции на NodeJS, но я вам с уверенностью скажу что вопросы в ней освещенные касаются абсолютно любой платформы. Да, для SF тема немного неактуальная, потому что в SF никто не занимается системами авторизации - за нас все уже сделано (и это кстати обидно, потому что разработчики в 90% вообще нихрена не понимают в вопросах защиты веб приложений, что не мешает писать открытые для сего мира комьюнити и сервисы).

Я сам буквально недавно в домашнем проекте пилил свою CMS на NodeJS + Ангуляр2 и проходил все про что пишет автор, но даже для меня некоторые моменты стали целым открытием (не читаю я блин OWASP а надо!!!). К примеру как бы я не старался захешировать пароли пользователей, а про то что надо хешировать токены сброса пароля у меня мозг не додумался.

В общем крайне интересная стать для любителей создать свои Web приложения с нуля.

Еще подтверждая слова автора. За все время экспериментов единственная платформа которая позволила мне реально съэкономить время на изучения темы авторизации и просто ее поднять это Ruby on Rails с ее Devise. Кстати собственно на этом сайте вы ей уже много лет успешно пользуетесь Везде, абсолютно везде за пределами RoR все приходится делать ручками и без твердых знаний того что написано в статье просто не обойтись!

Авториза́ция (англ. authorization — разрешение, уполномочивание) — предоставление определённому лицу или группе лиц прав на выполнение определённых действий; а также процесс проверки (подтверждения) данных прав при попытке выполнения этих действий[1][2][3]. Часто можно услышать выражение, что какой-то человек «авторизован» для выполнения данной операции — это значит, что он имеет на неё право.

Авторизацию не следует путать с аутентификацией: аутентификация — это процедура проверки легальности пользователя или данных, например, проверки соответствия введённого пользователем пароля к учётной записи паролю в базе данных, или проверка цифровой подписи письма по ключу шифрования, или проверка контрольной суммы файла на соответствие заявленной автором этого файла. Авторизация же производит контроль доступа легальных пользователей к ресурсам системы после успешного прохождения ими аутентификации. Зачастую процедуры аутентификации и авторизации совмещаются.

Dmitry Shnyrev
Да, для SF тема немного неактуальная, потому что в SF никто не занимается системами авторизации - за нас все уже сделано (и это кстати обидно, потому что разработчики в 90% вообще нихрена не понимают в вопросах защиты веб приложений, что не мешает писать открытые для сего мира комьюнити и сервисы).

Как тебе сказать лучше, так.... The Class contains methods for extending the behavior of a connected app, for example, customizing how a connected app is invoked depending on the protocol used. This class gives you more control over the interaction between Salesforce and your connected app.

Sergey Prishchepa
Авторизацию не следует путать с аутентификацией

Да есть такое. Я постоянно путаю эти слова. Лень было лезть в википедию и проверять.

Sergey Prishchepa
Как тебе сказать лучше, так....

Ну так и скажи только по русски. Форум все-таки русскоязычный.

Dmitry Shnyrev
Ну так и скажи только по русски. Форум все-таки русскоязычный.

)))
Содержит методы расширения поведения подключенного приложения, например, настраивает способ подключения подключенного приложения в зависимости от используемого протокола. Этот класс дает вам больше контроля над взаимодействием между Salesforce и подключенным вами приложением.

Sergey Prishchepa
Dmitry Shnyrev
Да, для SF тема немного неактуальная, потому что в SF никто не занимается системами авторизации - за нас все уже сделано (и это кстати обидно, потому что разработчики в 90% вообще нихрена не понимают в вопросах защиты веб приложений, что не мешает писать открытые для сего мира комьюнити и сервисы).
Как тебе сказать лучше, так....

Если ты про то что ты на SF под каждого клиента занимаешься разработкой слоя Аутентификации (вроде правильное сейчас применил) знаешь и учитываешь все рекомендации по безопасности, то я тебе завидую

Sergey Prishchepa
Содержит методы расширения поведения подключенного приложения, например, настраивает способ подключения подключенного приложения в зависимости от используемого протокола. Этот класс дает вам больше контроля над взаимодействием между Salesforce и подключенным вами приложением.

ЧО!?

Dmitry Shnyrev
ЧО!? :D
Гугле транслате.

я просто к тому что в принципе свой слой написать можно, и sf не такой кастрированный, а еще про это на собеседованиях спрашивают.

вот оно!

Sergey Prishchepa
вот оно!

Мдя. Понятно. По ходу ты, Сергей, никогда не имел дела с обычными не SF Web приложениями, раз считаешь настройку OAuth созданием слоя Аутентификации.
Возьми попробуй простой чистый скажем PHP и попробуй написать простейшую CMS с пользователями (с обычной формой регистрации, входа, сбросом пароля). Звучит легко. А ты попробуй сделай и не накосяч в плане безопасности и скорости работы.

На счет собеседований, где про настройку OAuth, SAML и прочую фигню спрашивают, тоже сомнительный аргумент. Я уже кучу проектов поменял. Никто про это не спрашивает, потому что эта хрень нигде не используется. Я когда-то давно тоже думаю что эта тема важная, изучил ее вдоль и поперек и вот уже больше 5 лет ни разу про нее не слышал.

Не надо, для того же SF писал собственные СMS,и вопросы на собеседовании были как написать собственный идентити провайдер где и как чего делать.Вот где здесь настройка провайдер

Sergey Prishchepa
и вопросы на собеседовании были как написать собственный идентити провайдер

Мда, если там такие вопросы на собеседовании, то представляю какие там умы работают.
Мне по ходу даже на Junior туда не попасть.

Они кстати не давно офис в Бресте открыли! :)

А можно узнать кто это они?

севус групп, только они не набирают вроде уже на salesforce.

Чет не гуглится нифига "севус групп".
Как по нормальному их название звучит?

Dmitry Shnyrev
Чет не гуглится нифига "севус групп".
Как по нормальному их название звучит?

Вличку скину

А, не, вот похоже нашел http://park.by/it/enterprise-239/type-full/

Dmitry Shnyrev
А, не, вот похоже нашел http://park.by/it/enterprise-239/type-full/

да.

Sergey Prishchepa
да.

Ну все ясно. Нефиг с такими компаниями связываться (я по крайней мере не собираюсь).
Salesforce у них не профильный. Тупо взяли вопросы для Java .Net разрабов, адаптировали под SF и дали девочкам HR проводить интервью. Хотя в принципе учитывая те же Java и .Net платформы там без SAML, OAuth программировать не умеют, поэтому для интеграции SF с готовыми продуктами эти темы для SF программистов должны быть актуальными.

Dmitry Shnyrev
Sergey Prishchepa
да.

Ну все ясно. Нефиг с такими компаниями связываться (я по крайней мере не собираюсь).
Salesforce у них не профильный. Тупо взяли вопросы для Java .Net разрабов, адаптировали под SF и дали девочкам HR проводить интервью. Хотя в принципе учитывая те же Java и .Net платформы там без SAML, OAuth программировать не умеют, поэтому для интеграции SF с готовыми продуктами эти темы для SF программистов должны быть актуальными.

насчет вопросов не совсем согласен,вопросы такого типо это больше уровень архитектора.на практике мало кто с этим будет сталкиваться, тут даже не в этом дело счас появляются много не профильных фирм которые даже не понимают сколько стоит Salesforce Разработка,не так давно был случай проект законичился команду salesforce разработчиков нафиг уволили.

Я ж к чему и клоню. Нафиг связываться с такими фирмами, которые не знаю что будет использоваться и что реально используется. Ну тем более не связываться с непрофильными фирмами. Так просто раскидываться командами SF разработчиков это надо иметь мозг. Тут реально куча проектов и фирм которые дерутся за любого студента.

Интересная информация? Помогите сайту, разместите ссылку в социальных сетях..