Здание для плохих парней

Часто, еще обсуждая, как вести проект клиента, они всегда делают упор на безопасность приложения. Они порекомендуют вам установить «самую мощную программу для борьбы с плохими парнями», и я всегда сразу отвечаю, что «безопасность — это процесс». Если они не сделают со своей стороны немного для обеспечения безопасности приложения, независимо от того, какой плагин безопасности был установлен, оно может быть скомпрометировано.

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

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

С самого начала разработки программного обеспечения мы планируем худшее и ожидаем его. Мы предполагаем, что наш злоумышленник умнее нас, не оставляя никаких шансов слабому звену в цепочке.

Итак, я расскажу о нескольких простых способах, с помощью которых разработчик может не попасться в сети плохих хакеров.

Очистка поля ввода

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

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

Существует множество отличных библиотек, которые можно использовать для очистки HTML, например,

Однако все, что я упомянул об очистке ввода, относится к внешнему интерфейсу разработки. Также хорошо перепроверить это на стороне сервера, потому что JavaScript можно манипулировать во внешнем интерфейсе.

Аутентификация

Аутентификация — это процесс определения того, является ли кто-то или что-то на самом деле тем, за кого оно себя объявляет.

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

Авторизация

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

Программные обновления

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

С помощью одной команды можно обновить любой установленный сторонний плагин. Вот где сияет использование менеджеров пакетов. С помощью простых команд, таких как npm update для пакетов Node и composer update для пакетов PHP и т. д. можно было бы обновить любую устаревшую стороннюю библиотеку.

Алгоритмы хеширования

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

Вывод

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

Эта статья впервые появилась здесь

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *