Безопасность, SSL, и Лучшие Практики

Пришло время подумать, как открытый и щедрый мир интернета решает вопросы безопасности и защиты соединений.

Начинающие разработчики уделяют безопасности мало внимания. Голова занята другими техническими тонкостями. Но выкладывая приложение в интернет, приходится задумываться о защите данных. Вы должны быть знакомы с основными понятиями. Отчасти это легко, но неверный выбор инструментов лишит ваших пользователей их данных. Некоторые лучшие практики и технологии позволят уменьшить риск.

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

Здесь приведена базовая информация о сертификатах безопасности. Источник Redit::

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

SSL это тип сертификата, используемый для того, чтобы убедится, что содержимое не будет прочитано. Это как поместить записку в сейф и дать Сьюзи ключ от него. Только она сможет открыть сейф, так как у нее есть ключ (SSL сертификат). HTTPS -- измененная версия HTTP протокола, которая гарантирует, что человек имеет ключ доступа к информации. Если кто-либо попытается прочитать записку без ключа, он увидит бессмысленный набор символов. Как если бы одноклассники попытались взорвать сейф. Это попросту уничтожило бы записку.

Сейчас вы должны понимать, что безопасность является важным фактором, даже если по началу кажется, что это не так. Вы будете пользоваться сертификатами при развертывании приложения на Heroku или при настройке аккаунта Github (зависит от метода подключения).

Пункты для размышления

Просмотрите вопросы и проверьте, знаете ли на них ответы. Проверьте себя снова после выполнения задания.

  • Почему безопасность приложения так важна?
  • В каких основных областях приложения наиболее уязвимы?
  • Чем HTTPS отличается от HTTP?
  • Для чего нужен SSL?
  • Что представляет собой SSL сертификат?
  • Как много времени прошло с тех пор, как вы прочитали в новостях о взломе известной компании и похищении пользовательских аккаунтов или других личных данных?

Задания:

  1. Посмотрите обзорное видео по SSL. Сделайте акцент на понимании "Зачем используется SSL", вместо "Как использовать SSL". Раздел про сертификаты в конце видео также важен.
  2. Для понимания основ HTTPS и SSL, проверьте эту статью.
  3. Выжимка в Smashing Magazine о наиболее частых ошибках безопасности Примеры представлены на PHP, но их логика универсальна для любого языка.

Дополнительные ресурсы

Этот раздел содержит полезные ссылки на прочий контент. Они не обязательны, так что расценивайте их как нечто полезное, если вы хотите поглубже погрузиться в тему

  • Если вам интересно, как HTTPS устанавливает соединения, проверьте эту статью от Хартли.
  • Пролистайте HTTPs Wiki игнорируя непонятные термины.

Поделиться уроком: