hostingfaq.ru — отвечаем на вопросы о хостинге простым языком 45 провайдеров · 146 ответов · данные от 14.10.2026
hostingfaqвопрос — ответ Обновлено 14.10.2026

Проверка сайта на безопасность: пошаговая инструкция для владельца

Обновлено 8 октября 2026 Чтение 10 мин Раздел: Блог о хостинге и серверах: инструкции, разборы и настройки

Проверка сайта на безопасность занимает от 15 минут и не требует навыков администратора: хватит браузера, нескольких бесплатных сервисов и доступа к хостингу. В этой инструкции из блога HostingFAQ вы пройдёте семь шагов — от сертификата и заголовков до вирусов, портов и бэкапов — и узнаете, что делать, если проверка нашла проблему.

Проверка сайта на безопасность: пошаговая инструкция для владельца

Коротко

  • Быстрая онлайн-проверка сайта на безопасность занимает 15 минут, полная ручная проверка с сервером — 1–2 часа.
  • Сайт должен открываться по HTTPS (порт 443) с действующим сертификатом и протоколами TLS 1.2 или 1.3.
  • Из сервера наружу должны быть открыты обычно только порты 80, 443 и 22 (SSH); базу данных на порту 3306 закрывают от интернета.
  • Права на файлы сайта обычно 644, на каталоги — 755; изменённые за последние 7 дней файлы проверяют командой find.
  • Сертификат Let's Encrypt действует 90 дней, поэтому нужно автопродление.
  • Плановую проверку делают раз в месяц и после каждого обновления CMS или плагинов; копии хранят по правилу 3-2-1.

Что входит в проверку сайта на безопасность

Проверка сайта на безопасность — это набор простых тестов: вы смотрите, как сайт защищает посетителей, файлы и данные. Сквозной пример этой статьи — интернет-магазин example.ru на WordPress, который работает на VPS (виртуальном сервере) под Linux. Если путаетесь в терминах, разберитесь, чем домен отличается от хостинга.

Проверка охватывает всё, через что магазин могут взломать или подменить на нём контент. Вот что входит в проверку:

  • сертификат и HTTPS (защищённое соединение, порт 443) — узнайте, зачем сайту сертификат безопасности;
  • заголовки безопасности, например Strict-Transport-Security;
  • вирусы и подмена контента на страницах;
  • версии CMS (системы управления сайтом) и плагинов;
  • права на файлы: обычно 644 на файлы и 755 на каталоги;
  • открытые порты сервера и свежие резервные копии.

Быстрая онлайн-проверка занимает около 15 минут и показывает внешние проблемы: сертификат, заголовки, известные вирусы. Полная проверка с доступом к серверу занимает 1–2 часа. Для ориентира используйте OWASP Top 10 (Open Web Application Security Project) — список из 10 категорий самых частых уязвимостей веб-приложений. Проверять можно только свои ресурсы: сканирование чужих сайтов и серверов без разрешения запрещено.

Как понять, что сайт взломан: признаки

Первые признаки видны без команд. Браузер показывает красное предупреждение об опасном сайте, а посетители жалуются, что example.ru перебрасывает их на чужие страницы. В поисковой выдаче появляются неизвестные страницы с рекламой лекарств или азартных сервисов. Google Search Console и Яндекс Вебмастер в таких случаях отмечают сайт как небезопасный и присылают уведомление.

Косвенные признаки: нагрузка на процессор и исходящий трафик выросли в несколько раз, а посещаемость осталась прежней. Письма с адресов домена попадают в спам, потому что сервер мог начать рассылку без вашего ведома. Если нагрузку создаёт поток запросов, а не взлом, сверьтесь с описанием распределённой атаки (DDoS). Следить за скачками удобно через систему мониторинга Zabbix, а причину проблем с почтой проверьте в настройках SPF-записи.

Затем откройте логи веб-сервера: обычно они лежат в /var/log/nginx/ или /var/log/apache2/, точный путь зависит от настройки. Найти файлы, изменённые за последние 7 дней, поможет команда find /var/www -type f -mtime -7. Вот что подозрительно в её результате:

  • файлы .php в каталоге wp-content/uploads;
  • файлы со случайными именами вроде x1a9.php;
  • изменённые index.php и .htaccess;
  • любые файлы, которые вы не загружали сами.

Чем проверить сайт на безопасность онлайн

Онлайн-сервисы смотрят на сайт снаружи, как посетитель или поисковый робот. Каждая проверка занимает 1–5 минут, регистрация обычно не нужна. Сканируйте только свои домены, например example.ru: чужие сайты без разрешения проверять нельзя. Если не уверены, чей это адрес, сначала проверьте домен на занятость.

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

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

Сервис Что проверяет Время Что делать с результатом
SSL Labs Сертификат и версии TLS (Transport Layer Security) 3–5 минут Оставьте TLS 1.2 и 1.3, отключите 1.0 и 1.1
securityheaders.com Strict-Transport-Security (HSTS), Content-Security-Policy, X-Content-Type-Options 1 минута Добавьте недостающие заголовки в настройки веб-сервера
Mozilla Observatory Заголовки, cookie, редиректы 1–2 минуты Исправьте пункты с низкой оценкой
VirusTotal Адрес сайта в базах антивирусных движков 1–2 минуты При срабатывании ищите вредоносный код в файлах
Sucuri SiteCheck Вредоносный код, спам, чёрные списки 2–3 минуты При находках сверьте файлы с чистой копией
Search Console и Яндекс Вебмастер Уведомления о взломе и нарушениях 3–5 минут Устраните проблему и запросите перепроверку
Отчёт онлайн-проверки сертификата и протоколов TLS для сайта
Пример отчёта сервиса проверки HTTPS для домена example.ru: включены TLS 1.2 и 1.3 (иллюстрация интерфейса)

Как провести проверку сайта на безопасность по шагам

Идите от внешнего к внутреннему: сначала то, что видит посетитель, затем заголовки и сканеры, в конце сервер. Шаги 1–6 занимают около 15 минут, а вместе с серверной частью проверка укладывается в 1–2 часа. В примерах ниже используется интернет-магазин на WordPress с доменом example.ru на VPS под Linux.

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

Пройдите по шагам по порядку:

  1. Сертификат. Откройте https://example.ru и нажмите на значок замка. Ожидаемый результат: сертификат действителен, срок не истёк. Сертификат Let’s Encrypt живёт 90 дней, поэтому настройте автопродление Let’s Encrypt. Если замка нет, установите сертификат на сайт.
  2. Заголовки. Выполните curl -I https://example.ru. Ожидаемый результат: код ответа 200 или 301 и заголовки Strict-Transport-Security (HSTS, принудительный HTTPS) и X-Content-Type-Options.
  3. Протоколы. Прогоните домен через SSL Labs. Ожидаемый результат: включены TLS (Transport Layer Security) 1.2 и 1.3, версии 1.0 и 1.1 отключены.
  4. Вирусы и чёрные списки. Проверьте адрес в Sucuri SiteCheck и VirusTotal. Ожидаемый результат: вредоносный код не найден, домен не числится в списках угроз.
  5. Поисковые системы. Откройте разделы безопасности в Search Console и Яндекс Вебмастере. Ожидаемый результат: нет уведомлений о взломе и заражении.
  6. Версии и права. Сверьте версии CMS (Content Management System, системы управления сайтом) и плагинов с последними. Права на файлы обычно 644, на каталоги 755, на wp-config.php 600 или 640. Ожидаемый результат: обновлений в очереди нет, лишних прав нет.
  7. Порты и логи. Подключитесь к серверу по SSH (откройте PuTTY и войдите на сервер) и проверьте открытые порты. Ожидаемый результат: снаружи доступны обычно только 80, 443 и 22, порт 3306 базы данных закрыт, в логах веб-сервера нет всплесков запросов и подозрительных адресов. Если свой сервер вызывает вопросы, изучите ответы о VPS.
Терминал с выводом curl -I и заголовками безопасности сайта
Заголовки ответа сервера после команды curl -I: HSTS и X-Content-Type-Options на месте (иллюстрация интерфейса)

Как проверить сервер и хостинг: порты, доступы, обновления

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

Начните с открытых портов. Нужны только 80 (HTTP), 443 (HTTPS) и 22 (SSH, Secure Shell, удалённый вход). FTP (File Transfer Protocol) на порту 21 передаёт пароли без шифрования, а база MySQL на порту 3306 снаружи должна быть закрыта.

Проверьте это со своего компьютера командой nmap -sV ваш_IP. Запускайте её только для собственного сервера: сканировать чужие адреса нельзя. Свой адрес подскажет материал про внешний IP-адрес, а лишние порты закроет инструкция про проброс и закрытие портов.

Затем проверьте доступы, обновления и вирусы:

  • Вход по SSH-ключам вместо пароля: в /etc/ssh/sshd_config задайте PasswordAuthentication no.
  • Пароль администратора от 12 символов и двухфакторная защита (2FA) везде, где она есть.
  • Вместо FTP используйте SFTP: как подключиться по FTP и SFTP через FileZilla.
  • Обновления ОС (операционной системы) ставьте раз в месяц, например sudo apt update && sudo apt upgrade в Debian и Ubuntu. Основы работы с системой собраны в статье про Linux для сервера.
  • Антивирус ClamAV: команда clamscan -r -i /var/www проверит каталог сайта и покажет только заражённые файлы.
Схема уровней защиты сайта и сервера
Уровни, которые охватывает проверка: сайт, сервер, база и резервные копии

Частые ошибки при проверке сайта на безопасность

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

Ниже у каждой ошибки есть причина и решение. Проверяйте только свои ресурсы, например example.ru на VPS.

Проверка один раз и забытый сайт

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

Не обновлены плагины

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

FTP без шифрования на порту 21

FTP (File Transfer Protocol) передаёт логин и пароль открытым текстом. Перейдите на SFTP (SSH File Transfer Protocol) через порт 22 и закройте порт 21.

Открытый порт 3306

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

Нет бэкапов или они лежат на том же сервере

Копия рядом с сайтом пропадёт вместе с ним. Следуйте правилу 3-2-1: 3 копии, 2 типа носителей, 1 копия вне сервера, хранение от 7 до 30 дней. Начните с инструкции, как настроить резервное копирование, и подберите программу для бэкапов.

Сертификат просрочен без автопродления

Сертификат Let’s Encrypt действует 90 дней, и без автопродления браузер покажет предупреждение. Настройте автоматическое продление и проверьте срок командой openssl s_client -connect example.ru:443 -servername example.ru. Заодно проверьте DNS-записи домена: они должны вести на ваш сервер.

Одинаковые пароли

Утечка из одного сервиса открывает доступ ко всем остальным. Задайте администратору уникальный пароль от 12 символов и включите 2FA (двухфакторную аутентификацию).

Частая ошибка. Хозяева сайтов считают проверку законченной после сканера и не смотрят порты, бэкапы и сроки сертификата.

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

Что делать, если проверка нашла вирус или взлом

Не удаляйте подозрительные файлы сразу: сначала закройте доступ злоумышленнику. В первый час смените пароли хостинга, CMS (системы управления сайтом), SSH (Secure Shell) и базы данных. Каждый пароль должен быть от 12 символов, а для администратора включите 2FA (двухфакторную защиту). Включите режим обслуживания и отключите незнакомые SSH-ключи.

Перед очисткой сделайте снимок для разбора: заархивируйте каталог сайта, выгрузите дамп базы и сохраните логи сервера. По ним вы найдёте дыру, через которую зашли. Полное восстановление обычно занимает 1–3 дня.

Как дополнительный фильтр трафика подключите Cloudflare: настройте Cloudflare по инструкции. Если с вашего домена уходил спам, проверьте настройки доменной почты. Если после очистки трафик скачет, узнайте, как распознать DDoS-атаку.

После снимка действуйте в таком порядке:

  • восстановите сайт из чистой копии, сделанной до взлома;
  • найдите свежие файлы командой find /var/www -type f -mtime -7 и проверьте каталог через clamscan -r -i /var/www;
  • удалите лишние файлы и незнакомых пользователей в CMS и на сервере;
  • обновите CMS и плагины, неиспользуемые удалите;
  • запросите повторную проверку в Search Console и Яндекс Вебмастере.

Когда хватает онлайн-проверки, а когда нужен аудит

Для блога или лендинга без регистрации и оплаты хватает бесплатных онлайн-сервисов: быстрая проверка занимает около 15 минут. Вы смотрите сертификат, заголовки и признаки вирусов, а затем повторяете проверку раз в месяц и после каждого обновления CMS (системы управления сайтом).

Магазину example.ru на VPS (виртуальном сервере) одних сервисов мало: нужна ручная проверка на 1–2 часа. Вы сверяете открытые порты и права на файлы (644 и 755), запускаете clamscan -r -i /var/www. Если на сайте принимают платежи или хранят персональные данные, добавьте платный аудит: специалист проверит код и настройки глубже, чем автоматический сканер.

Уровень проверки определяют четыре критерия:

  • данные клиентов: имена, телефоны, адреса требуют аудита;
  • оплата на сайте: платёжную форму проверяют вручную или у специалиста;
  • число администраторов: при двух и более нужны разграничение прав и 2FA (двухфакторная защита);
  • своя инфраструктура: собственный сервер означает ответственность за SSH (удалённый доступ), порты и обновления.

Самостоятельная проверка не подходит, если нет времени на обновления или вы не готовы работать с командной строкой: тогда передайте задачу специалисту. Если нужен контроль настроек, переходите на VPS: узнайте, как выбрать VPS под ваш проект, прочитайте про аренду виртуального сервера и сравните предложения в рейтинге VPS-хостингов. Чем VDS отличается от обычного хостинга, объясняет материал про VDS-хостинг.

Частые вопросы

Как проверить сайт на безопасность бесплатно?
Откройте сайт по HTTPS и прогоните домен через SSL Labs, securityheaders.com и Sucuri SiteCheck. Затем загляните в разделы безопасности Search Console и Яндекс Вебмастера. Вся быстрая проверка занимает около 15 минут.
Как узнать, что мой сайт взломали?
Тревожные признаки: редиректы на чужие страницы, незнакомые страницы в выдаче, предупреждение браузера, резкий рост нагрузки. Проверьте файлы, изменённые за последние 7 дней, командой find /var/www -type f -mtime -7.
Как часто нужно проверять сайт на безопасность?
Плановую проверку делайте раз в месяц. Быструю — после каждого обновления CMS, темы или плагинов, а также после смены хостинга или сервера.
Можно ли проверить чужой сайт на уязвимости?
Пассивные проверки вроде просмотра сертификата допустимы. Сканировать порты и подбирать доступы к чужому сайту без разрешения владельца нельзя. Тестируйте только свои ресурсы или те, где есть письменное согласие.
Как проверить сайт на вирусы онлайн?
Вставьте адрес в Sucuri SiteCheck или VirusTotal. Сервисы покажут, не внесён ли домен в списки опасных и нет ли на странице вредоносных вставок. Внутренние файлы они не видят — их проверяют антивирусом на сервере.
Какой порт должен быть открыт для безопасного сайта?
Для работы сайта нужны порт 443 (HTTPS) и обычно порт 80 для перенаправления на HTTPS. Порт 22 (SSH) оставляют для администрирования, лучше с входом по ключам. Базу данных на порту 3306 закрывают от интернета.
Что значит «сайт не защищён» в браузере?
Браузер предупреждает, что соединение идёт без шифрования или сертификат недействителен: истёк, выдан на другой домен или установлен неверно. Установите или перевыпустите сертификат и включите перенаправление с HTTP на HTTPS.
Достаточно ли SSL-сертификата для безопасности сайта?
Нет. Сертификат шифрует передачу данных между браузером и сервером, но не защищает от уязвимых плагинов, слабых паролей и открытых портов. Нужны также обновления, права на файлы и бэкапы.
Как часто делать резервные копии сайта?
Для магазина и сайта с заказами — ежедневно, для редко меняющегося блога — раз в неделю. Придерживайтесь правила 3-2-1: 3 копии, 2 типа носителей, 1 копия вне сервера. Храните копии от 7 до 30 дней.
Что делать, если нашли вирус на сайте?
Смените все пароли, ограничьте доступ и восстановите сайт из чистой копии. Затем обновите CMS и плагины, удалите лишние файлы и пользователей. После этого запросите повторную проверку в Search Console и Яндекс Вебмастере.

Проверьте себя

  • Сайт открывается по HTTPS, сертификат действителен и продлевается автоматически.
  • На сервере включены только TLS 1.2 и 1.3, в ответе есть HSTS и X-Content-Type-Options.
  • Открыты только нужные порты (80, 443, 22), порты 21 и 3306 закрыты снаружи.
  • CMS, темы и плагины обновлены, лишние удалены.
  • Права на файлы 644, на каталоги 755, пароль администратора — от 12 символов, включена 2FA.
  • Свежая резервная копия лежит вне сервера, восстановление из неё проверено.

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