Cybersecurity

Зачем вашей компании безопасность веб-приложений до того, как случится взлом?

Поделиться!
Владелец магазина смотрит на телефоне панель веб-приложения с замком и предупреждением о безопасности

Да, веб-приложению вашей компании нужна кибербезопасность с первого дня

Если у вас есть веб-приложение, на котором держится бизнес, ответ ясен: безопасность веб-приложений не даёт вашему приложению остановиться и защищает данные клиентов от кражи. Веб-приложение это программа, которая работает в браузере, например интернет-магазин, система записи на приём или портал, куда заходят ученики. Такая программа открыта в интернете круглые сутки, и любой, у кого есть подключение, может постучать в её дверь. Кибербезопасность это набор мер, которые не пускают чужих, замечают их попытки и быстро возвращают работу в строй, если что-то пошло не так.

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

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

Почему хакеры атакуют и небольшие компании?

Многие владельцы бизнеса думают, что хакеры охотятся только за банками и крупными компаниями. Из-за этого они год за годом откладывают защиту. На самом деле небольшая компания удобная цель, потому что её защита обычно слабее, а владелец не следит за тем, что происходит в системе.

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

Атаки идут автоматически и не выбирают жертву по имени

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

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

Ваши данные ценны для других

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

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

Вот какие потери оставляет после себя взлом

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

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

Данные клиентов уходят из ваших рук

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

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

Работа останавливается в самый неудачный момент

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

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

Доверие теряется, а за ним могут прийти юридические проблемы

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

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

Где обычно прячутся слабые места веб-приложений?

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

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

Вход только по паролю

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

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

Программы и плагины без обновлений

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

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

Слишком открытые формы и права доступа

Поиск, форма обратной связи и поле загрузки файлов это места, где посетитель пишет что угодно. Если система не проверяет введённое, хакер может вместо текста ввести команды и прочитать или изменить базу данных. Это одна из самых известных ошибок из списка OWASP Top 10, признанного во всём мире списка самых опасных уязвимостей веб-приложений.

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

Базовые уровни защиты, которые мы строим в каждом приложении

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

В Linkysoft мы встраиваем эти уровни в веб-приложения и системы управления ещё на этапе планирования, а не после окончания программирования. Причина проста: добавить защиту в готовую систему сложнее и дольше, чем построить её вместе с системой с самого начала.

Шифрование делает украденные данные бесполезными

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

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

Каждый сотрудник видит только то, что ему нужно

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

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

Проверенные резервные копии и журнал каждого действия

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

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

Как тест на проникновение находит то, чего не видит ваша команда?

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

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

Что происходит во время теста?

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

Тест следует признанным во всём мире методикам, таким как OWASP и NIST, чтобы не зависеть от настроения или случая. И он безопасен: не удаляет ваши данные и не останавливает работу, потому что его цель доказать, что уязвимость есть, а не использовать её во вред.

Что вы получите в конце и когда повторять тест?

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

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

Защита продолжается после дня запуска

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

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

Постоянная проверка и круглосуточный мониторинг

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

Мониторинг это глаз, который не закрывается ни днём, ни ночью. Если кто-то сотни раз пытается войти за несколько минут или учётная запись руководителя входит из незнакомой страны посреди ночи, сразу приходит оповещение. Обнаружить взлом через час или через несколько недель значит выбрать между маленькой проблемой и катастрофой.

Щит перед приложением

Межсетевой экран веб-приложений это щит между интернетом и вашим приложением. Каждый запрос к сайту сначала проходит через него: обычные запросы он пропускает, а вредоносные останавливает. Например, он блокирует попытки вписать команды в формы и ботов, которые подбирают пароли.

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

Готовый план на случай инцидента

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

  1. Сдерживание: изолировать пострадавшую часть, чтобы ущерб не распространился на остальную систему.
  2. Расследование: выяснить, как и когда хакер проник и что он затронул.
  3. Очистка: удалить все следы, которые он оставил, и восстановить данные из исправной копии.
  4. Закрытие уязвимости: починить дверь, через которую он вошёл, чтобы он не вернулся тем же путём.

Ваши сотрудники первая линия обороны

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

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

Что определяет объём работ по защите и её стоимость?

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

Общее правило: чем больше у системы дверей и чем чувствительнее то, что внутри, тем больше работы нужно для её защиты. Ниже то, на что смотрит любая серьёзная команда, прежде чем оценить объём задачи.

Размер приложения и чувствительность его данных

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

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

Новое приложение или уже работающее, которое сделала другая команда?

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

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

Вопросы, которые стоит задать любому подрядчику до согласия

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

  • Что именно входит в проверку: только сайт или также приложение, мобильная версия и интерфейсы интеграции?
  • Получите ли вы письменный отчёт понятным языком с описанием, как исправить каждую уязвимость?
  • Входит ли повторный тест после исправлений в договор или оплачивается отдельно?
  • Кто следит за системой ночью и в праздники и как быстро реагируют на оповещение?
  • Что происходит в первые часы, если случился инцидент, и кто кому звонит?
  • Остаются ли код и данные полностью вашими, если вы прекратите сотрудничество?

Вопросы, которые владельцы бизнеса задают о защите своих приложений

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

Если вашего вопроса здесь нет, вы найдёте другие в списке вопросов в конце статьи и в центре помощи на нашем сайте.

Достаточно ли хорошего хостинга, чтобы защитить приложение?

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

Как понять, что моё приложение взломали?

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

Остановится ли мой бизнес во время теста на проникновение?

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

Сколько времени нужно, чтобы защитить уже работающее приложение?

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

Нужна ли мне своя команда по безопасности внутри компании?

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

Начните с этих трёх шагов на этой неделе

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

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

Читайте другие материалы из этой же темы.