Безопасность и защита сайта: советы экспертов, решения проблем

16 марта на площадке Collaborator прошел вебинар с сооснователем PR-CY Евгением Барановым. Он рассказал, какие методы взломов используют хакеры, какие методы защиты не работают в 2021 году и как обезопасить свой проект.

Смотреть вебинар:

Составили конспект вебинара для тех, кому удобнее читать текст.

Почему нужно обеспечить безопасность сайта

Как минимум такие причины:

  • Потеря трафика и денегЕсли сайт взломали, владельцы теряют клиентов, трафик и следовательно доход с сайта.
  • Санкции от поисковых системПоисковики оберегают пользователей и их данные, у взломанного сайта будем пометка в выдаче, при переходе пользователь увидит страницу с предупреждением, что сайт небезопасен. Из-за этого сайт потеряет большую долю трафика.
  • Время на восстановлениеВместо того, чтобы разрабатывать новые фичи и улучшать сайт, придется потратить время и ресурсы на поиск вектора атаки, анализ логов, восстановление из бэкапов.
  • Ответственность перед пользователямиПользователи — главная ценность сайта, потеря их данных и паролей подрывает их доверие. Контроль действует на законодательном уровне: в РФ есть Закон о персональный данных, в Европе GDPR.

Что угрожает безопасности сайта — классы угроз и способы решения

Проблемы безопасности можно разделить на классы в зависимости от причины уязвимости:

Личная безопасность

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

1. Компрометация паролей

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

С помощью чего уводят пароли:

Трояны

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

Фишинг

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

Брутфорс

Так называют перебор символов для подбора пароля. Элементарный пароль типа 1234 или 11111 подобрать будет довольно быстро. Также софт может быть уязвимым к подбору паролей.

Например, если у админки нет какого-либо rate limiting — ограничения на количество запросов в единицу времени.

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

Одинаковые пароли для разных сервисов

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

Недобросовестные сотрудники могут сливать данные или их могут украсть хакеры.

Если будет слив данных и пароль с email попадут в даркнет, злоумышленники могут взять email и пароль из базы и попробовать его на разных популярных сайтах: в онлайн-банках, интернет-магазина, админках хостинг-провайдеров и других.

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

Безопасность и защита сайта: советы экспертов, решения проблемПроверка сайта

2. Перехват сетевого трафика

Ваш трафик можно перехватить, а вместе с ним и пароли. В каких случаях это может произойти:

При использовании публичного Wi-Fi

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

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

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

В корпоративной сети

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

При использовании бесплатных прокси

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

Через Wi-Fi в гостях

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

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

Как проверить, была ли утечка пароля

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

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

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

Что делать: решения для личной безопасности

Как обезопасить пароли:

  • Для каждого сервиса придумывайте свой уникальный пароль.
  • Для хранения учеток используйте менеджер паролей: 1Password, LastPass, Enpass, Dashlane или другой, есть бесплатные. Нужно будет запомнить один главный пароль для менеджера, а остальные можно сохранить в нем.
  • Не вводите пароли на чужих устройствах.

Защита сайта от взлома и вирусов — что можно сделать, чтобы повысить безопасность сайта

Что только не придумывают владельцы сайтов, чтобы не заниматься вопросами их безопасности: «мой сайт не представляет ценности для хакеров», «вряд ли меня кто-нибудь захочет взломать» и все в этом духе. Мол, работает сайт, и ладно.

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

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

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

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

По данным компании Positive Technologies, специализирующейся на информационной безопасности, количество киберпреступлений в 1 квартале 2019 года выросло на 32% по сравнению с аналогичным периодом предыдущего года.

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

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

Регулярно обновляйте CMS сайта

Безопасность и защита сайта: советы экспертов, решения проблем

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

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

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

А некоторые CMS, в числе которых популярный WordPress, сообщают об обновлениях каждый раз при входе в систему.

Устанавливайте SSL-сертификаты

Безопасность и защита сайта: советы экспертов, решения проблем

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

Зачем взламывают сайты?

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

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

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

Способы взлома сайтов и защита от них

Кража паролей от FTP и хостинга

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

Лучше вообще ограничиться лишь передачей паролей к FTP. А если нужен доступ к хостинг-аккаунту, то его можно, скорее всего, предоставить посредством функционала хостера и при этом не должно быть никаких рисков для вас.

Как избежать?

Старайтесь никому не давать пароли от хостинг-аккаунта и доступа по FTP. А если даете, то убедитесь, что у этого человека нет вирусов на компьютере.

Также удостоверьтесь, что он надежен и не передаст ваши пароли третьим лицам, или сам не начнет вредить вашему проекту.

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

Поменяйте пароли на более длинные (сложные) и сотрудничайте только с проверенными людьми.

Хостинг-провайдер

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

Что делать?

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

Взлом CMS (системы управления сайтом)

Не важно какая у вас CMS (платная, бесплатная или самописная).

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

Но если хакеры постоянно ищут «дыры» в коде систем управления сайтом, то разработчики этих CMS постоянно выпускают обновления (патчи), которые закрывают «дыры» и улучшают безопасность.

Что делать?

Следите за тем, чтобы на вашем сайте была актуальная версия CMS, причем скачанная с официального сайта разработчика, а не откуда попало. Если CMS разработана специально под ваш сайт (самописная), то актуальным будет заказать аудит безопасности сайта. Где его заказывать? Это сложный вопрос, т.к.

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

Мы же подготовили рекомендации по безопасности для отдельно взятых CMS (Joomla и WordPress).

Читайте также:  Ошибка 400 Bad Request: что значит и как грамотно исправить

Взлом сайта через модули и компоненты

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

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

Так например, устанавливая компонент комментариев, который создан на тяп-ляп, вы позволите хакеру вместо или прикрепленной картинки залить на ваш сайт PHP-скрипт, который и позволит совершить взлом.

Что делать?

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

Установка прав доступа на файлы

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

Как исправить?

Старайтесь, чтобы на все папки Вашего сайта были выставлены права 755, а на файлы — 644. Но в первую очередь посоветуйтесь с разработчиком CMS, хостером или опытным программистом, т.к. изменение прав на файлы может привести к тому, что сайт будет работать некорректно. Детальнее о правах доступа и их изменении читайте в нашей статье.

SQL-Инъекция

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

Как защититься?

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

XSS (межсайтовый скриптинг)

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

Как избежать?

Безопасность сайта – Безопасность и защита сайта: советы экспертов, решения проблем

Безопасность сайта складывается из трех вещей:

  1. безопасности программной части (CMS, скриптов)
  2. безопасности сервера (хостинга)
  3. осведомленности и аккуратности администратора сайта или тех, кто работает с сайтом как администратор

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

Надежность программной части

Программная часть — это система управления сайтом (Joomla, WordPress, Bitrix и др) или скрипты, на которых работает сайт. Надежность программной части подразумевает отсутствие уязвимостей («дыр»), позволяющих злоумышленнику получить доступ к базе данных, файловой системе или панели администратора сайта.

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

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

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

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

Если сайт работает на скриптах собственной разработки, нужно выполнить сканирование сайта доступными средствами поиска уязвимостей (XSpider’ом, Acunetix Web Vulnerability Scanner’ом, утилитами для поиска SQL иньекций, XSS, RFI и другими), проверить исходный код сайта средствами статического анализа исходного кода (RIPS) и, если обнаружатся уязвимости, исправить их. Кроме регулярных обновлений скриптов и CMS есть еще один важный момент, усиливающий безопасность и надежность скриптов — это правильная конфигурация сайта. Необходимо:

  1. грамотно прописать права на файлы и директории
  2. закрыть доступы к внутренностям сайта (каталогам с резервными копиями, конфигурационным файлам и пр)
  3. запретить выполнение скриптов в директориях загрузки
  4. поставить дополнительную защиту на вход в панель администратора
  5. и др.

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

Безопасность сервера (хостинга)

Вторым важным моментом, влияющим на безопасность сайта в целом, является хостинг, на котором размещается сайт. Хостинг может быть shared («общий») или dedicated («выделенный»).

Для shared-хостингов ответственность за безопасную настройку сервера лежит на администраторе хостинг-компании. Для dedicated-сервера (VDS/VPS/DDS) эта ответственность лежит на владельце сервера.

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

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

Обо всем этом должен позаботиться системный администратор сервера.

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

Естественно, это сказывается на общем уровне безопасности всех сайтов, размещенных на их серверах.

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

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

Осведомленности и аккуратности администратора сайта

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

Ниже приведен чеклист, который должен постоянно держать в голове администратор (владелец) сайта:

  1. Компьютер, с которого выполняется работа с сайтом, должен быть защищен коммерческим антивирусным программным обеспечением и регулярно им проверяться. Если с сайтом работает несколько человек, данное требование применяется к каждому.
  2. Пароли от ftp/ssh/панели администратора нужно менять регулярно, хотя бы раз в месяц
  3. Не хранить пароли в программах (ftp-клиентах, браузере, электронной почте)
  4. Ставить сложные пароли вида «[email protected]%4»
  5. Работать по безопасному протоколу SFTP или SCP

Итог

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

По вопросам защиты сайта вы всегда можете обратиться к специалистам.

Обсуждаем и комментируем

revisium.com

Как обеспечить защиту сайта | Безопасность

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

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

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

Хакеры норовят получить доступ к данным пользователей известного сайта, неудачливые копирайтеры пользуются магическими «ctrl+c, ctrl+v», увидев информативную статью, а вредоносные программы цепляются сами по себе с течением времени.

Именно поэтому защита сайта должна быть продумана как один из важнейших моментов в его «жизни».

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

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

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

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

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

Для надежной защиты от профессиональных хакеров нужно немало времени, еще лучше – найти специалиста по этим вопросам.

Но для борьбы с менее искушенными взломщиками достаточно следовать базовым рекомендациям:

  • Использовать сложные пароли. Чем больше символов использовано, тем дольше будет работать программа по автоматическому подбору. Стоит ли говорить о том, что собственное имя или год рождения – не самые подходящие данные для пароля.
  • Административная панель – только для администратора. Если доступ к «админке» имеют ваши знакомые, их знакомые и некий Аноним Неизвестный, то велика вероятность, что у ресурса появятся «куртизанские наклонности».
  • Запоминайте пароли или держите их в менеджерах. Текстовый файл «Мои самые важные данные» на рабочем столе – это, по-своему, очень круто, но непосвященным в такую религию лучше использовать специальные программы, которые обеспечат шифровку и сортировку паролей.
  • Не переходите по непроверенным ссылкам и не допускайте их появления на сайте. Контроль над обновлением информации позволит значительно сократить количество нежелательных линков.

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

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

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

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

  • Запрет копирования. Можно использовать скрипты, запрещающие выделение и перетаскивание текста. Конечно, опытные пользователи без труда обойдут это ограничение, но вероятность копирования будет снижена.
  • Помещать название сайта в текст. Если человек бездумно скопирует и вставит информацию, то адрес или имя вашего ресурса помогут определить первоисточник:
  • Лайки и ретвиты. Если пользователи активно сигнализируют о том, как им нравится страница вашего сайта, поисковики не смогут пропустить это. Чем быстрее произойдёт индексация, тем выше вероятность определения сайта как первоисточника.
Читайте также:  Дамп базы данных MySQL и PostgreSQL: Как сделать, использование утилиты phpMyAdmin

Заблуждения про безопасность сайтов и советы по усилению защиты

Заблуждения про безопасность сайтов и советы по усилению защиты

Невежественность в области информационной безопасности — обычное дело. Среди владельцев и администраторов сайтов лишь небольшой процент знаком с основными принципами безопасности и защиты, подавляющее же большинство «не ведают, что творят».

Ежедневно в «Ревизиум» мы получаем запросы на лечение и защиту сайта в том числе и от неопытных владельцев и администраторов, которым приходится объяснять, каким образом защищать сайты, что и как делать, а порой переубеждать в том, что их текущая политика безопасности сайта не работает.

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

Вариант 1: Мы удалили вирус с сайта, Яндекс (Гугл, Касперский) перестал «ругаться», нам бы теперь только защиту поставить и все.Вариант 2: Яндекс (Гугл, Касперский) показывал сайт «вредоносным» в поисковой выдаче, а сейчас все в порядке. Значит, сайт не нужно лечить.

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

Увы, в подавляющем большинстве случаев это не так.

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

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

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

Часто вредоносный код размещается на сайте в автоматическом режиме по расписанию или на определенное время. Поэтому могут появляться «мигающие» порно-ссылки, исчезающий вирусный код или мобильный редирект, а поисковые системы (Яндекс, Гугл) то добавляют, то удаляют сайт из списка вредоносных.

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

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

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

Вариант 1: Я проверил архив сайта антивирусом Касперского, Dr. Web, но они не нашли вирусов на сайте. Значит хакерских шеллов на сайте нет.Вариант 2: При копировании сайта на компьютер Касперский удалил несколько файлов с вирусом. Значит сайт у меня сейчас чистый.Существует несколько типов вредоносного кода:

  1. троянские программы, вирусы, руткиты
  2. хакерские шеллы, бэкдоры
  3. дорвеи
  4. спам-рассыльщики и пр.

Разработчики антивирусного ПО (Касперский, Dr. Web, Avast, McAfee и пр) уделяют основное внимание вредоносному коду на PC и серверным решениям, а хакерские шеллы, дорвеи и вирусы в скриптах сайта попадают в антивирусную базу достаточно редко и только самые популярные.Поэтому лечение сайта с помощью PC антивирусов (Касперского, Dr. Web) не эффективно, в лучшем случае найдутся только старые шеллы, наподобие WSO, а бОльшая часть вредоносного кода все равно останется на сайте.Для сканирования вредоносного кода в скриптах сайта нужно использовать специализированное ПО:Для сканирования вирусного кода на страницах сайта или мобильного редиректа используйте специализированные сервисы:

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

Часто заражение сайта происходит через FTP. Доступ от FTP ворует троянская программа, которая работает на компьютере администратора сайта. Троян может перехватывать подключение по FTP протоколу, либо сканировать известные FTP клиенты на наличие сохраненного эккаунта (хост, логин, пароль).

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

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

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

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

Поэтому для безопасной работы на компьютере необходимо:

  1. устанавливать антивирусное программное обеспечение с регулярно-обновляемыми базами вирусных сигнатур и проактивной защитой
  2. регулярно обновлять базы антивируса
  3. раз в две недели или раз в месяц выполнять полное сканирование компьютера.

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

  4. раз в месяц выполнять полную проверку всех рабочих компьютеров альтернативным антивирусом (например, если установлен Касперский, просканировать Dr. WebCureIt!) и наоборот.

Для безопасной работы с сайтом по FTP:

  1. раз в неделю (или месяц) меняйте пароли от FTP
  2. не сохраняйте пароли в FTP клиенте или браузере (да, это неудобно, но безопасность не бывает удобной!)
  3. используйте протокол SFTP вместо FTP. Для этого хостинг должен поддерживать SSH подключение
  4. блокируйте на хостинге FTP, когда он вам не нужен

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

Я почистил сайт от вредоносного кода, теперь сайт не заразится.

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

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

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

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

Способ для опытных пользователей — установить защиту на сайте средствами операционной системы (изменить настройки php, установить безопасные права на файлы и папки, настроить доступ к каталогам и скриптам в .htaccess файлах). Данные меры значительно затруднят, а в некоторых случаях сделают невозможной эксплуатацию уязвимостей. То есть сайт будет защищен от взлома.—

Вариант 1: На админ-панель стоит сложный и длинный пароль, значит сайт в безопасности.Вариант 2: У меня установлен «супер-пупер-плагин-безопасности», значит админ-панель защищена.

Если на админ-панель установлен сложный и длинный пароль, это очень хорошо и защищает сайт от атаки с помощью подбора паролей (брутфорс).

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

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

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

Поэтому мы рекомендуем регулярно обновлять CMS для устранения подобных уязвимостей и обязательно защищать админ-панель сайта средствами веб-сервера. Смотрите статью « как защитить панель администратора от взлома » ( http://www.revisium.com/kb/secure_adminpanel.html )

Вариант 1: Я сделал все файлы скриптов и шаблонов, а также часть каталогов доступными «только для чтения». Теперь хакеры не смогут ничего изменить.Вариант 2: Я поставил на файл .htaccess атрибут «только для чтения» и сменил у файла владельца на root. Теперь хакеры не смогут добавить вредоносный редирект в .htaccess.

Увы, это не так. Во-первых, хакеры могут изменить атрибуты файлов и каталогов, разрешив в них запись с помощью команд php (например, chmod) или вызвав команды операционной системы (system(‘chmod ..’), или аналогичные через exec, passthru, popen,…).

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

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

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

10 советов по безопасности для защиты вашего сайта от хакеров

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

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

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

Вот 10 наших советов, которые помогут вам сохранить ваш сайт в безопасности:

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

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

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

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

Читайте также:  Ошибка 404 Not Found (nginx): что значит и как грамотно исправить

Большинство производителей ПО имеют рассылку или RSS канал с описанием проблем безопасности веб-сайтов. WordPress, Umbraco и многие другие CMS уведомляют вас о доступных обновлениях при входе в административную часть сайта.

  • При атаке посредством SQL-инъекции атакующий использует поле веб-формы или параметр URL, чтобы получить доступ к вашей базе данных или манипулировать данными.
  • Когда вы используете стандартный Transact SQL, то возможно незаметно вставить мошеннический код в ваш запрос так, что он может быть использован для изменения таблиц, получения информации или удаления данных.
  • Вы можете легко предотвратить это, всегда используя параметризированные запросы.
  • Большинство языков веб разработки поддерживают эту возможность.
  • Рассмотрим запрос:

«SELECT * FROM table WHERE column = '» + parameter + «';»

Если злоумышленник изменит параметр URL на ‘ or ‘1’=’1, это приведёт к тому, что запрос примет следующий вид:

«SELECT * FROM table WHERE column = '' OR '1'='1';»

Так как ‘1’ равен ‘1’, атакующий получит доступ ко всем данным таблицы. Также это позволит ему добавить дополнительный запрос в конец выражения SQL, который будет выполнен наряду с исходным.

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

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

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

Вы должны использовать общие фразы, вроде «Неправильное имя пользователя или пароль», и не указывать, в чём именно пользователь ошибся.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вот некоторые варианты решения проблемы: переименование файла при загрузке, чтобы удостовериться в корректности разрешения; изменение разрешений для файла, например на chmod 0666, чтобы он не мог быть выполнен.

В *nix системах вы можете создать файл .htaccess (смотрите пример ниже), который откроет доступ только к заданному множеству файлов, что исключит возможность атаки с двойным расширением, упомянутой ранее:

deny from all

order deny,allow
allow from all

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

Если ваши файлы недоступны напрямую, вам потребуется создать скрипт (или обработчик HTTP в .NET), чтобы извлекать их из закрытой папки и выдавать браузеру.

Тэги img поддерживают атрибут src, который в данном случае не будет являться прямым URL-адресом изображения, а будет указывать на скрипт извлечения файла. Также не забудьте указать в скрипте корректный HTTP заголовок content-type.

Например:

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

Убедитесь, что у вас настроен межсетевой экран, и он блокирует несущественные порты. Если это возможно, настройте DMZ (демилитаризованную зону), открыв доступ из внешнего мира только к портам 80 и 443.

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

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

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

Наконец, не забудьте ограничить физический доступ к вашему серверу.

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

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

Когда вы уже думаете, что сделали всё возможное, настало время протестировать систему безопасности вашего сайта. Наиболее эффективный способ сделать это – использовать инструменты проверки сайтов, также известные как тесты на проникновение или pen-тесты.

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

Вот некоторые бесплатные инструменты:

  • Netsparker (доступна бесплатная пробная версия). Подходит для тестирования на SQL-инъекции и XSS
  • OpenVAS. Позиционирует себя как наиболее совершенный сканер системы безопасности с открытым кодом. Подходит для тестирования на известные уязвимости, на данный момент проверяет более 25000.

Но он сложен для установки и требует наличия сервера OpenVAS, который работает только под *nix.

OpenVAS – это разновидность системы Nessus до того, как последняя стала коммерческим продуктом.

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

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

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

Здесь вам может помочь debugging proxy (прокси-сервер отладки), так как он позволяет вам перехватывать значения HTTP запросов на участке между вашим браузером и сервером. Популярное бесплатное приложение, которое называется Fiddler, подойдёт для начала.

Так что же вам стоит попробовать изменить в запросе? Если у вас есть страницы, которые должны быть доступны только авторизованным пользователям, тогда я бы попробовал изменить параметры URL, такие как ID пользователя или значения cookie, чтобы попытаться выдать себя за другого пользователя.

Другая возможная область тестирования – формы. Изменяйте значения POST, чтобы попробовать отправить межсайтовый запрос или загрузить серверный скрипт:

  1. Мы надеемся, что наши советы помогут вам содержать сайт и информацию на нём в безопасности.
  2. К счастью, многие CMS имеют достаточно встроенных инструментов защиты, но всё равно неплохо знать о наиболее популярных угрозах безопасности, чтобы быть уверенным, что вы от них застрахованы.
  3. Также существуют некоторые полезные модули CMS для проверки вашей системы на наиболее частые уязвимости.
  4. Среди них Security Review для Drupal и WP Security Scan для WordPress.
  5. ДШДанил Шемякинавтор
Ссылка на основную публикацию