Меры безопасности на VPS
Рекомендации по виртуального сервера от взлома и вредоносного кода.
VPS — это ваш сервер, и безопасность полностью зависит от ваших настроек. Большинство взломов происходит не из-за «дыр» в хостинге, а из-за устаревшего ПО, слабых паролей или вредоносного кода, попавшего через FTP/CMS.
Как обычно происходит заражение
-
Через уязвимости CMS и плагинов
Автоматические сканеры ищут сайты на старых версиях WordPress, Joomla, OpenCart и т.д. Находят уязвимый плагин → загружают вредоносный код (iframe, редирект, майнер). -
Через FTP
Вирус на вашем компьютере крадёт логин/пароль FTP → злоумышленник заходит и внедряет код в файлы. -
Через .htaccess
Добавляется редирект на фишинговые/рекламные сайты или скрытый майнер. -
Через загруженные файлы
В папки uploads/image попадают php-файлы под видом картинок → при открытии выполняются.
Основные меры защиты (сделайте это сразу)
-
Сложные пароли и SSH-ключи
- Пароль root/админа — минимум 16 символов, случайный
- Отключите вход по паролю в SSH, используйте только ключи
sudo nano /etc/ssh/sshd_config PasswordAuthentication no sudo systemctl restart ssh
-
Обновляйте всё регулярно CMS, плагины, темы, серверные пакеты — каждый день:
sudo apt update && sudo apt upgrade -y -
Правильные права доступа
- Файлы: 644
- Папки: 755
- wp-config.php / configuration.php: 600
find /var/www/ -type f -exec chmod 644 {} \; find /var/www/ -type d -exec chmod 755 {} \;
-
Фаервол (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 -
Fail2Ban — защита от brute-force Установка:
sudo apt install fail2ban -yОн автоматически блокирует IP после нескольких неудачных попыток входа.
-
Антивирус и сканеры
- 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 -
Резервные копии Делайте ежедневные бэкапы (не только на сервере, но и локально/в облако). При заражении проще восстановить чистую копию, чем чистить.
Если сайт уже заражён
- Отключите сайт (в панели или через .htaccess)
- Смените все пароли (FTP, админка CMS, SSH, база данных)
- Сделайте скан ClamAV + Rkhunter
- Проверьте вручную:
- Новые/изменённые файлы за последние дни:
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/ваш_сайт/ - Восстановите из бэкапа
- Обновите CMS и плагины
- Проверьте .htaccess на редиректы/iframe
Помощь
Если у вас возникли вопросы или требуется помощь, пожалуйста, свяжитесь с нами через систему тикетов — мы обязательно вам поможем!