Меры безопасности на VPS

Рекомендации по виртуального сервера от взлома и вредоносного кода.

VPS — это ваш сервер, и безопасность полностью зависит от ваших настроек. Большинство взломов происходит не из-за «дыр» в хостинге, а из-за устаревшего ПО, слабых паролей или вредоносного кода, попавшего через FTP/CMS.

Как обычно происходит заражение

  1. Через уязвимости CMS и плагинов
    Автоматические сканеры ищут сайты на старых версиях WordPress, Joomla, OpenCart и т.д. Находят уязвимый плагин → загружают вредоносный код (iframe, редирект, майнер).

  2. Через FTP
    Вирус на вашем компьютере крадёт логин/пароль FTP → злоумышленник заходит и внедряет код в файлы.

  3. Через .htaccess
    Добавляется редирект на фишинговые/рекламные сайты или скрытый майнер.

  4. Через загруженные файлы
    В папки uploads/image попадают php-файлы под видом картинок → при открытии выполняются.

Основные меры защиты (сделайте это сразу)

  1. Сложные пароли и SSH-ключи

    • Пароль root/админа — минимум 16 символов, случайный
    • Отключите вход по паролю в SSH, используйте только ключи
      sudo nano /etc/ssh/sshd_config
      PasswordAuthentication no
      sudo systemctl restart ssh
      
  2. Обновляйте всё регулярно CMS, плагины, темы, серверные пакеты — каждый день:

    sudo apt update && sudo apt upgrade -y
    
  3. Правильные права доступа

    • Файлы: 644
    • Папки: 755
    • wp-config.php / configuration.php: 600
      find /var/www/ -type f -exec chmod 644 {} \;
      find /var/www/ -type d -exec chmod 755 {} \;
      
  4. Фаервол (UFW или iptables) Разрешайте только нужные порты (22/SSH, 80/HTTP, 443/HTTPS):

    sudo ufw allow OpenSSH
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    sudo ufw enable
    sudo ufw status
    
  5. Fail2Ban — защита от brute-force Установка:

    sudo apt install fail2ban -y
    

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

  6. Антивирус и сканеры

    • ClamAV — сканирование файлов:
    sudo apt install clamav clamav-daemon -y
    sudo freshclam
    sudo clamscan -r /var/www
    
    • Rkhunter — поиск руткитов:
    sudo apt install rkhunter -y
    sudo rkhunter --update
    sudo rkhunter --check
    
    • Lynis — аудит безопасности:
    sudo apt install lynis -y
    sudo lynis audit system
    
  7. Резервные копии Делайте ежедневные бэкапы (не только на сервере, но и локально/в облако). При заражении проще восстановить чистую копию, чем чистить.

Если сайт уже заражён

  1. Отключите сайт (в панели или через .htaccess)
  2. Смените все пароли (FTP, админка CMS, SSH, база данных)
  3. Сделайте скан ClamAV + Rkhunter
  4. Проверьте вручную:
    • Новые/изменённые файлы за последние дни:
    find /var/www/ваш_сайт/ -type f -mtime -7 -ls
    
    • PHP-код в папках uploads/image:
    find /var/www/ваш_сайт/uploads/ -type f -iname "*.php"
    
    • Подозрительные строки в файлах:
    grep -ril "base64_decode\|eval\|gzinflate\|fromCharCode" /var/www/ваш_сайт/
    
  5. Восстановите из бэкапа
  6. Обновите CMS и плагины
  7. Проверьте .htaccess на редиректы/iframe

Помощь

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

Обновлено:
Нужна помощь?Наши инженеры бесплатно помогут с любым вопросом за считанные минутыНаписать нам