Мало собрать приложение, нужно его еще и защитить. Вопрос безопасности при разработке сайта всегда стоял остро, но сейчас — особенно: согласно статистике, собранной юридической компанией Reed Smith, в 2020 году уровень онлайн-преступности вырос на 400%. Конечно, в связи с пандемией. Аналитики Gartner подливают масла в огонь, заявляя, что на борьбу с киберугрозами и последствиями атак компании в 2022 году потратили больше $170 миллиардов.
Не говоря уже о том, какой негативный эффект взлом сайтов и приложений оказывает на репутацию компаний. Взломанные ресурсы ведут к потере прибыли. Словом, из-за отсутствия защиты от кибератак плохо бывает всем: и бизнесу, и клиентам.
От чего нужно защищаться
- Внедрение SQL-кода (SQL-инъекция) — один из самых распространенных способов взлома сайтов. Он основан на размещении произвольного SQL-кода в уязвимые места базы данных, что в конечном итоге позволяет злоумышленнику читать информацию, удалять ее и изменять. В числе прочих данных в таблицах могут содержаться имена пользователей и пароли. Под угрозу попадает не только само приложение, но и любой взаимодействующий с ним URL.
- Неверная конфигурация безопасности (security misconfiguration) — буквально неправильная настройка к доступу ресурса. Сюда относятся, например, логин «admin» и пароль «password», которые не менялись с момента создания приложения, открытый доступ к robot.txt и другие важные мелочи. Из-за невнимательности разработчика злоумышленник получает доступ не просто к данным, но и ко всему сайту целиком.
- Межсайтовый скриптинг (cross-site scripting, XSS) — разновидность кибератаки вида «внедрение кода», как и SQL-инъекция. Вредоносные скрипты запускаются в браузере пользователя, стоит тому открыть страницу. Работает это так: приложение берет непроверенную информацию и отправляет ее в веб-браузер. С помощью межсайтового скриптинга можно похищать данные жертв, в том числе их файлы cookies, а вместе с ними все пароли и явки.
- Отсутствие защиты доступа к URL — кибератака, схожая с неверной конфигурацией безопасности. Она тоже основана на невнимательности. Например, разработчик создает URL для получения доступа к сайту — через дописанный в конце ссылки /admin или любое другое слово, без защиты доступа логином и паролем. Так злоумышленники могут простым перебором попасть внутрь системы.
- Использование устаревших CMS, небезопасных плагинов и скриптов. CMS — это система управления контентом, с ее помощью информация загружается на сайт, удаляется, создается. У современных CMS есть встроенная защита от киберугроз, но если система перестала обслуживаться и обновляться, возникают риски. За этим нужно следить — как и за установкой плагинов с непроверенных веб-ресурсов и от неизвестных разработчиков.
5 шагов к защите своего проекта от кибератак
Существует двухфакторная аутентификация, а мы предлагаем провести свой проект через пять шагов по защите проекта от киберугроз. И делать это постоянно, чтобы ни неосторожность, ни злой умысел не привели к потере данных или даже самого приложения.
Используйте надежные пароли. И мотивируйте пользователей ресурса их использовать. В идеале пароль должен содержать строчные и прописные буквы, несколько цифр, специальные символы (звездочки, скобочки, тильду, дефис). В нем должны отсутствовать такие очевидные вещи как имя и дата рождения.
Делайте бэкапы. Это спасет от вирусов-вымогателей, которые стирают данные, а потом предлагают вернуть их за деньги. Или угрожают полностью снести сайт, если им не заплатить. С бэкапом вы всегда сможете развернуть проект заново, только на этот раз с усиленными мерами безопасности. Создание бэкап-версий должно быть автоматизировано, чтобы об этом не пришлось беспокоиться совсем.
Внедрите мультифакторную аутентификацию. Это убережет пользователей от кражи персональных данных. Мультифакторная аутентификация базируется на подтверждении своей личности через несколько ресурсов — телефонный номер и электронную почту, аутентификационный код, отпечаток пальца.
Используйте SSL-сертификаты. Они подтверждают подлинность веб-сайта и не позволяют злоумышленникам перехватывать информацию. Если в браузере рядом со ссылкой есть иконка замочка, а сама ссылка начинается с HTTPS (вместо HTTP), значит, сайт защищен SSL-сертификатом, данные зашифрованы, и риск стать жертвой кибератаки снижается.
Читайте документацию. Некоторые элементы — карусели, слайдеры, галереи — совершенно не защищены от угроз. Некоторые CRM имеют опасные уязвимости, которыми могут воспользоваться злоумышленники. Не устанавливайте непонятные виджеты и не встраивайте в систему код, в котором не разбираетесь. Если речь идет об использовании зерокодинговых решений, непременно читайте документацию — части о том, как разработчики защищают данные.
Уязвимости есть даже у серьезных программ, включая ОС Windows. От этого никто не застрахован. Но со своей стороны можно сделать все возможное для того, чтобы уязвимость не возникла со стороны разработчика приложения — из-за небрежности или человеческого фактора.
Для зерокодера защита проекта — важный этап разработки. Мы рассказываем о безопасности: в блоге «Я зерокодер», на бесплатных вебинарах.
А в нашем телеграм-чате можно обсудить все самые важные и интересные аспекты разработки.