+7 (495) 128-22-90 [email protected]

Как защитить сайт, чтобы сэкономить время и деньги

Закрываем пробелы в безопасности: простые и неочевидные решения для защиты сайта.

Индикатор прокрутки статьи

Как защитить сайт, чтобы сэкономить время и деньги

Мы в Webest специализируемся на создании и развитии e-commerce, foodTech и edTech проектов и выполняем необходимые действия для безопасности сайтов наших клиентов.

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

Собрали 23 способа. Если нет времени читать статью целиком - в конце приведены основные тезисы.

Почему нужно защищать свой сайт?

Российские сервисы подвергаются многочисленным и продолжительным атакам. Число DDos-атак на российские компании с начала года увеличилось в 15 раз, число вакансий в сфере информационной безопасности возросло на 66%.

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

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

Текста получилось много — заваривайте кофеек. 

Подход к безопасности онлайн-ресурса

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

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

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

Описанные ниже способы подходят большинству платформ. Используя их, вы избежите ряда неприятных инцидентов в безопасности.

1. Домен сайта и клиентские данные

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

Люди делятся информацией с бизнесом, а задача бизнеса в этом случае — помочь сохранить конфиденциальность информации.

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

Это значит, что сайт общается по протоколу HTTP и обмен данными происходит по незащищенному каналу.

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

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

Как это работает? Сайт с SSL-сертификатом передает данные по защищенному протоколу HTTPS и несет ответственность за свои действия, тем самым обеспечивает защиту онлайн-транзакций и конфиденциальность клиентских данных.  

Следите, чтобы сертификат установили корректно, и вовремя продлевайте срок его действия. 

2. Выбор хостинга

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

На что опираться при выборе хостинга? 

  • Безопасность.
    Выбирайте добросовестного хостинг-провайдера, который серьезно относится к актуальности мер безопасности хостинг-площадки, сканирует ее на наличие вредоносного ПО и присылает отчеты о сканировании своим клиентам.

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

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

  • Удобство пользования.
    Выбирайте хостинг с понятным и удобным интерфейсом управления хостинг-площадкой, чтобы выполнять все действия, не теряя времени. Также обратите внимание на систему переноса сайта с других хостингов. Этот процесс не должен влиять на работу сайта и занимать много времени.

  • Защита от DDoS-атак.
    Вы можете передать защиту от DDoS-атак специализированным компаниям, но даже этого может быть недостаточно. Общий объем атак огромен и атаки происходят по разным уровням передачи данных: от каналов связи до сервера. Поэтому хостинг должен предоставлять защиту от DDoS-атак.

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

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

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

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

Источник: https://hostinghub.ru/top/country/russia 

Надежный провайдер всегда знает, что происходит с его хостингом, и даже если ваш сайт всё же стал жертвой взлома, он сможет найти и исправить недочеты в защите.

Для безопасности наших сайтов мы используем хостинг Beget с простым интерфейсом управления, который предоставляет бесплатный SSL-сертификат, продлевает домены и делает автоматическое резервное копирование базы данных. Также предоставляет специальное решение для Битрикса и различные дополнительные возможности.

3. Сложные доступы и плановое обновление

Удобно, когда логин и пароль легко запоминаются, но этим лучше не руководствоваться при установке доступов на сайт. Пароль из цифр от 1 до 9 и шаблонный логин «admin» вряд ли защитят ваш ресурс. Так злоумышленникам еще проще подобрать доступ к панели администратора.

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

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

4. Хранение доступов 

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

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

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

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

Источник: https://ru.safetydetectives.com/best-password-managers/ 

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

Резервный список паролей на отдельной флешке или жестком диске поможет восстановить доступ к платформе. Храните его в надежном месте, например, в сейфе.

5. Двухфакторная аутентификация

С ней украденный пароль будет бесполезен для взломщика, ведь ресурс потребует подтверждение входа через e-mail, номер телефона или приложение. Используйте этот способ для доступа к своему ресурсу и другим учетным записям.

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

6. Количество попыток входа в систему

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

Снизить атаки на учетную запись вашей CMS и хостинга поможет ограничение количества попыток авторизации.

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

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

7. Права администратора

Учетные записи с правами администратора имеют больший контроль над проектом и расширенные возможности для управления. Такие аккаунты наиболее привлекательны для злоумышленников. 

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

8. Хэширование и рандомизация паролей

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

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

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

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

9. Почтовые вложения

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

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

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

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

10. Бэкапы

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

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

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

Делайте бэкапы регулярно. Как правило, функционал для резервного копирования есть на хостинге.

11. Мониторинг ресурса

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

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

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

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

12. Использование токена

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

С помощью csrf-токена сервер определяет, имеет ли пользователь права на выполнение запроса. Тем самым обеспечивается достоверность, что запрос делает именно этот пользователь. Токен постоянно обновляется, соответственно, нет смысла его копировать и нереально подделать.

Для сайтов без перезагрузки страницы, где общение происходит по rest api, как правило, используем jwt-токен. 

Jwt-токен используется для авторизации — проверки прав пользователя на доступ к ресурсу и на выполнение запросов для взаимодействия с сервером. Jwt-токен содержит идентификатор пользователя и его роли, сохраняется на клиенте и передается на сервер с каждым последующим запросом. Тем самым он обеспечивает ту же самую защиту, что и csrf-токен, но в том числе позволяет достаточно обезопасить пользователя. 

13. Защита от копирования

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

  • Для защиты текстового контента используйте скрипты, которые запрещают выделять и копировать текст. 

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

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

  • Чтобы защитить фото- и видеоконтент используйте водяной знак с уникальным ID, блокировку записи с экрана и блокировку инструментов разработчика. 

Блокировка панели разработчика защищает не только контент, но и сам код. Блокировку можно сделать с помощью внесения дополнительного скрипта в код сайта. Тогда становятся недоступны клавиша F12, сочетание Ctrl+U и нажатие правой кнопки мыши. Тем самым скрипт не дает открыть исходный код страницы и предотвращает несанкционированное скачивание материалов. 

  • Еще один способ блокировки инструментов разработчика — инструменты для шифрования HTML-кода, например, Advanced HTML Encrypt and Password Protect. 

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

14. Антивирус

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

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

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

15. Сторонние модули

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

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

16. Обновление ПО и других инструментов

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

Однако обновленные версии ПО не всегда корректно работают и могут создавать проблемы на сайте. Перед обновлением протестируйте ресурс на готовность к установке обновленной версии ПО и работе с ней.

17. Нагрузочное тестирование 

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

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

Перед тестированием нужно исправить все баги на сайте и проверить его функционирование. 

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

18. Резервный сервер

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

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

Резервирование поможет восстановить все важные компоненты после аварии.

19. Обучение сотрудников

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

20. Защита от DDoS

Как развитие технологий набирает скорость, так и атаки хакеров становятся мощнее, и собственная защита веб-ресурса оказывается все менее эффективна. 

Защиту от DDoS предоставляют многие хостинги на нескольких уровнях передачи данных. В совокупности с дополнительными сервисами защита будет обеспечена на всех уровнях. 

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

Мы используем сервис Cloudflare, предоставляющий услуги CDN (услуги доставки контента), защиту от DDoS-атак, безопасный доступ к ресурсам и серверы DNS, которые хранят IP-адреса сайтов.

21. Изучение кейсов

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

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

22. Нетиповая ссылка на вход в административный раздел

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

23. Защита по IP 

Часть CMS систем предоставляют возможность ограничить доступ к административной части по IP. То есть в нее смогут попасть только те пользователи, у которых есть нужный IP-адрес, обычно это сеть компании в офисе. Хоть это и не гарантирует защиту, но намного усложнит путь взломщика. 

У вас больше возможностей, чем у злоумышленника

С развитием Интернета и хакерских программ попасть под атаку злоумышленников и стать распространителем вредоносного ПО рискует каждый сервис и пользователь.

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

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

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

Запишите, чтобы не забыть

Чтобы вы ничего не упустили, мы составили список вышеперечисленных советов.

Такие меры безопасности мы предпринимаем для себя и для наших клиентов.

  1. Защитите домен и клиентские данные 

  2. Используйте надежный хостинг

  3. Используйте сложные доступы и проводите плановое обновление

  4. Храните доступы в безопасном месте

  5. Подключите двухфакторную аутентификацию

  6. Ограничьте количество попыток входа в систему

  7. Ограничьте права администраторов

  8. Настройте хэширование паролей

  9. Не открывайте почтовые вложения от неизвестных отправителей

  10. Делайте резервные копии

  11. Проводите мониторинг ресурсов

  12. Настройте авторизацию запросов с помощью токена

  13. Защитите контент и код сайта от копирования

  14. Установите антивирус

  15. Используйте безопасные модули

  16. Обновляйте ПО вовремя

  17. Проводите нагрузочное тестирование

  18. Используйте резервирование серверов

  19. Обучайте сотрудников правильно пользоваться админкой

  20. Используйте дополнительные сервисы защиты

  21. Изучайте кейсы конкурентов и компаний-разработчиков

  22. Добавьте нетиповую ссылку на вход в административный раздел

  23. Ограничьте доступ по IP

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

вверх