Скидка 50% на все тарифы, ограниченное время. От $2.48/mo
14 мин осталось
Безопасность и сети

Как защитить Linux VPS | 20 способов защитить сервер VPS

Рекса Сайрус By Рекса Сайрус 14 мин. чтения Обновлено 2 окт. 2025 г.
Защищённый сервер Linux VPS с иконками щита и графика.

Серверы Linux VPS обеспечивают более высокий уровень защиты по сравнению с системами Windows благодаря встроенной модели безопасности Linux Security Model. Тем не менее абсолютно защищённых систем не существует. Злоумышленники ежедневно сканируют миллионы серверов в поисках уязвимостей, чтобы похитить данные или задействовать ресурсы серверов в масштабных атаках.

Грамотная защита Linux-сервера требует осознанной настройки. Свежая установка VPS поставляется с параметрами по умолчанию, которые делают упор на доступность, а не на безопасность. Правильная конфигурация защищает от актуальных угроз, не нарушая работу системы. В этом руководстве — 20 необходимых шагов, которые превратят уязвимый Linux-сервер в надёжно защищённую инфраструктуру, устойчивую к распространённым атакам.

Что такое Linux VPS?

Инфографика по безопасности Linux VPS
Linux VPS (Virtual Private Server) работает на облачной платформе с выделенными ресурсами, изолированными от других пользователей. В отличие от виртуального хостинга, где компрометация одного аккаунта может затронуть остальных, безопасный VPS-хостинг полностью разделяет окружения. Тем не менее незащищённые VPS-серверы по-прежнему остаются мишенью: злоумышленники крадут данные, устанавливают вредоносное ПО или используют серверы для атак на другие системы.

Когда вы заказываете купить Linux VPS хостинг, операционная система поставляется предустановленной с базовыми настройками. Эти конфигурации по умолчанию ориентированы на удобство использования, а не на безопасность, оставляя сервер открытым для автоматизированных атак, сканирующих типичные уязвимости. Защита данных на VPS-серверах требует активных мер, выходящих за рамки базовой установки.

Почему стоит защитить свой Linux VPS

Инфографика угроз безопасности VPS 

Незащищённые серверы становятся мишенью уже через несколько часов после запуска. Сегодня организации сталкиваются в среднем с 1 876 кибератаками в неделю, что на 75% больше, чем годом ранее. Понимание того, как защитить инфраструктуру Linux-сервера, позволяет противостоять этим постоянным угрозам, способным скомпрометировать систему.

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

Модель безопасности Linux (LSM)

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

Тем не менее, LSM не могут предотвратить атаки, вызванные неправильной конфигурацией, слабыми паролями или устаревшим программным обеспечением. Они закладывают основу для защиты сервера Linux, но требуют грамотной реализации, чтобы быть эффективными для Хостинг Ubuntu VPS и других дистрибутивов Linux.

20 способов защитить Linux VPS

20 способов защитить Linux VPS
Эти меры безопасности выстроены от базовых изменений конфигурации до продвинутых систем мониторинга. Чтобы по-настоящему защитить серверные среды Linux, нужно последовательно применять каждый из этих шагов и выстраивать защиту системно.

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

1. Регулярно обновляйте программное обеспечение

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

Настройте автоматическую установку критических патчей безопасности:

# Ubuntu/Debian

sudo apt update && sudo apt upgrade -y

# CentOS/RHEL  

sudo yum update -y

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

2. Отключите вход под root

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

Создайте нового администратора перед тем, как отключить доступ под root:

# Create new user

sudo adduser adminuser

sudo usermod -aG sudo adminuser

# Disable root login in SSH configuration

sudo nano /etc/ssh/sshd_config

# Change: PermitRootLogin no

sudo systemctl restart sshd

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

3. Создайте пару ключей SSH

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

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

Создайте пару ключей SSH для безопасной аутентификации:

ssh-keygen -t rsa -b 4096

ssh-copy-id username@server-ip

Длина ключей SSH может достигать 4096 бит, что делает их несравнимо надёжнее даже самых сложных паролей.

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

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

Установите и настройте двухфакторную аутентификацию:

sudo apt install libpam-google-authenticator

google-authenticator

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

5. Смените порт SSH

Стандартный порт SSH (22) постоянно атакуют автоматизированные сканеры. Смена порта на нестандартный снижает количество таких атак. Учитывая, что средняя стоимость утечки данных в мире достигла $4,88 млн в 2024 году, даже простые меры вроде смены порта дают реальную защиту от автоматизированных угроз.

Для большинства дистрибутивов Linux:

sudo nano /etc/ssh/sshd_config

# Find: #Port 22

# Change to: Port 2222 (choose a port between 1024-65535)

sudo systemctl restart sshd

Для Ubuntu 23.04 и более поздних версий:

sudo nano /lib/systemd/system/ssh.socket

# Update ListenStream=2222

sudo systemctl daemon-reload

sudo systemctl restart ssh.service

Важно: Проверьте новый порт, не закрывая текущую сессию:

# Test connection in a new terminal

ssh username@server-ip -p 2222

Обновите правила брандмауэра, чтобы разрешить новый порт:

sudo ufw allow 2222

sudo ufw delete allow 22  # Remove old rule after testing

Не забудьте указывать новый порт при подключении: ssh имя_пользователя@ip-сервера -p 2222

6. Отключите неиспользуемые сетевые порты и IPv6

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

Просмотр открытых портов:

sudo netstat -tulpn

# Alternative command

sudo ss -tulpn

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

Отключите IPv6, если он не нужен:

sudo nano /etc/sysctl.conf

# Add these lines:

net.ipv6.conf.all.disable_ipv6 = 1

net.ipv6.conf.default.disable_ipv6 = 1

net.ipv6.conf.lo.disable_ipv6 = 1

# Apply changes

sudo sysctl -p

# Verify IPv6 is disabled

cat /proc/sys/net/ipv6/conf/all/disable_ipv6

# Should return 1

Обновите конфигурацию сети (укажите актуальный файл netplan):

# Find netplan configuration files

ls /etc/netplan/

# Edit your specific configuration file

sudo nano /etc/netplan/[your-config-file].yaml

# Comment out IPv6 configuration lines

sudo netplan apply

7. Настройте брандмауэр

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

Быстрая настройка UFW:

sudo ufw default deny incoming

sudo ufw default allow outgoing

sudo ufw allow ssh

sudo ufw enable

Основные правила брандмауэра:

Назначение Команда Результат
Разрешить HTTP sudo ufw allow 80 Веб-трафик разрешён
Разрешить HTTPS sudo ufw allow 443 Защищённый веб-трафик
Разрешить нестандартный порт SSH sudo ufw allow 2222 SSH на нестандартном порту
Заблокировать конкретный IP sudo ufw deny from 192.168.1.100 IP полностью заблокирован

Проверить статус брандмауэра:

sudo ufw status verbose

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

8. Установка антивирусных программ и средств защиты от вредоносного ПО

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

Установите ClamAV для полноценного сканирования на вирусы:

sudo apt install clamav clamav-daemon clamav-freshclam

sudo freshclam

sudo systemctl enable clamav-freshclam

sudo systemctl start clamav-freshclam

Запустите ручное сканирование критически важных директорий:

sudo clamscan -r /home --infected --remove --bell

sudo clamscan -r /var/www --infected --remove

Для усиленной защиты установите Maldet вместе с ClamAV:

# Verify URL availability before downloading

wget http://www.rfxn.com/downloads/maldetect-current.tar.gz

tar -xzf maldetect-current.tar.gz

cd maldetect-*

sudo ./install.sh

# Note: Always verify download URLs from official sources before use

Настройте ежедневное автоматическое сканирование через cron:

# Add to crontab: Daily scan at 2 AM

0 2 * * * /usr/bin/clamscan -r /home --quiet --infected --remove

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

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

Установите и настройте Chkrootkit для обнаружения руткитов:

sudo apt install chkrootkit

sudo chkrootkit | grep INFECTED

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

sudo apt install rkhunter

sudo rkhunter --update

sudo rkhunter --propupd

sudo rkhunter --check

Настройте автоматическое еженедельное сканирование на руткиты:

# Add to crontab: Weekly rootkit scan every Sunday at 3 AM

0 3 * * 0 /usr/bin/rkhunter --cronjob --update --quiet

0 4 * * 0 /usr/bin/chkrootkit | grep INFECTED > /var/log/chkrootkit.log

Если обнаружены руткиты, немедленно изолируйте сервер и рассмотрите полную переустановку ОС: руткиты крайне сложно удалить полностью, не нарушив целостность системы.

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

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

Быстрая установка:

sudo apt install fail2ban

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

sudo nano /etc/fail2ban/jail.local

Основные настройки защиты SSH:

[sshd]

enabled = true

port = ssh

maxretry = 3

bantime = 3600

findtime = 600

Основные параметры конфигурации:

Значение Цена Значение
maxretry 3 Неудачных попыток до блокировки
время блокировки 3600 Длительность блокировки (1 час)
найти время 600 Временной интервал (10 минут)

Запуск и включение автозапуска:

sudo systemctl start fail2ban

sudo systemctl enable fail2ban

Проверка заблокированных IP:

sudo fail2ban-client status sshd

11. Включите SELinux

Security-Enhanced Linux (SELinux) обеспечивает обязательный контроль доступа, ограничивая возможности программ даже в случае их компрометации. Это дополнительный уровень защиты поверх стандартных разрешений Linux.

Проверьте и включите SELinux:

sestatus

sudo setenforce enforcing

Политики SELinux предотвращают доступ скомпрометированных приложений к неавторизованным системным ресурсам. Следуйте этим краткое руководство по работе с SELinux для оптимальной настройки.

12. Защита файлов, папок и электронной почты

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

Шифрование файлов с помощью GPG:

gpg --cipher-algo AES256 --compress-algo 1 --s2k-mode 3 --s2k-digest-algo SHA512 --s2k-count 65536 --symmetric filename

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

chmod 600 sensitive-file    # Owner read/write only

chmod 700 private-directory # Owner access only

13. Регулярное резервное копирование

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

Создайте скрипты автоматического резервного копирования:

#!/bin/bash

tar -czf /backup/$(date +%Y%m%d)-system.tar.gz /home /etc /var/log

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

14. Разбиение диска на разделы

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

Рекомендуемая схема разделов:

/boot     – 500 МБ (загрузочные файлы)

/         – 20 ГБ (системные файлы)

/home     – 50 ГБ (пользовательские данные)

/var      – 10 ГБ (логи и базы данных)

/tmp      – 2 ГБ (временные файлы)

swap      – 2 ГБ (виртуальная память)

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

# Add to /etc/fstab for permanent mounting

echo "tmpfs /tmp tmpfs defaults,noexec,nosuid,nodev,size=2G 0 0" >> /etc/fstab

echo "tmpfs /var/tmp tmpfs defaults,noexec,nosuid,nodev,size=1G 0 0" >> /etc/fstab

# Применить немедленно

sudo mount -a

Проверьте безопасность разделов:

mount | grep -E "(noexec|nosuid|nodev)"

df -h  # Check disk usage by partition

Параметр noexec параметр запрещает запуск вредоносных исполняемых файлов, nosuid отключает биты set-user-ID, и nodev запрещает создание файлов устройств во временных директориях.

15. Мониторинг журналов сервера

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

Ключевые журналы для мониторинга:

Файл журнала Назначение Команда
/var/log/auth.log (Debian/Ubuntu)<br>/var/log/secure (CentOS/RHEL) Попытки входа sudo tail -f /var/log/auth.log<br>sudo tail -f /var/log/secure
/var/log/syslog (Debian/Ubuntu)<br>/var/log/messages (CentOS/RHEL) Системные сообщения sudo tail -f /var/log/syslog<br>sudo tail -f /var/log/messages
/var/log/apache2/access.log (Debian/Ubuntu)<br>/var/log/httpd/access_log (CentOS/RHEL) Веб-трафик sudo tail -f /var/log/apache2/access.log<br>sudo tail -f /var/log/httpd/access_log
/var/log/fail2ban.log Заблокированные IP sudo tail -f /var/log/fail2ban.log

Быстрый анализ логов:

# Failed login attempts (adjust path for your distribution)

sudo grep "Failed password" /var/log/auth.log | tail -10

# Successful logins

sudo grep "Accepted" /var/log/auth.log | tail -10

# Large file transfers (adjust path for your web server)

sudo awk '{print $10}' /var/log/apache2/access.log | sort -n | tail -10

Автоматический мониторинг логов:

# Install logwatch for daily summaries

sudo apt install logwatch

sudo logwatch --detail Med --mailto [email protected] --service All

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

16. Используйте надёжные пароли

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

Требования к паролю:

  • Не менее 12 символов
  • Сочетание заглавных и строчных букв, цифр и специальных символов
  • Без словарных слов и личных данных
  • Уникальный для каждой учётной записи

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

17. Используйте SFTP вместо FTP

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

Настройка доступа только по SFTP:

sudo nano /etc/ssh/sshd_config

# Add: Subsystem sftp internal-sftp

Отключите стандартные службы FTP, чтобы устранить угрозу безопасности:

sudo systemctl disable vsftpd

sudo systemctl stop vsftpd

18. Включите автообновление CMS

Системы управления контентом (WordPress, Drupal, Joomla) регулярно выпускают патчи безопасности. Автоматические обновления гарантируют своевременное устранение критических уязвимостей.

Для WordPress добавьте в wp-config.php:

define('WP_AUTO_UPDATE_CORE', true);

add_filter('auto_update_plugin', '__return_true');

add_filter('auto_update_theme', '__return_true');

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

19. Запретите анонимную загрузку файлов через FTP

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

Настройте vsftpd для обязательной аутентификации:

sudo nano /etc/vsftpd.conf

# Отключить анонимный доступ

anonymous_enable=NO

# Включить локальную аутентификацию пользователей

local_enable=YES

write_enable=YES

local_umask=022

# Ограничить пользователей их домашними директориями

chroot_local_user=YES

allow_writeable_chroot=YES

# Настройки безопасности

ssl_enable=YES

ssl_tlsv1=YES

ssl_sslv2=NO

ssl_sslv3=NO

Перезапустите службу FTP:

sudo systemctl restart vsftpd

sudo systemctl enable vsftpd

Создайте учётные записи пользователей FTP с ограниченными правами:

sudo adduser ftpuser

sudo usermod -d /var/ftp/uploads ftpuser

sudo chown ftpuser:ftpuser /var/ftp/uploads

sudo chmod 755 /var/ftp/uploads

Отслеживайте журналы доступа FTP на предмет подозрительной активности:

sudo tail -f /var/log/vsftpd.log

20. Настройка защиты от брутфорса

Добавьте к Fail2Ban дополнительные уровни защиты от брутфорса — это надёжнее противостоит сложным автоматизированным атакам.

Настройте дополнительные средства защиты:

# Limit SSH connection attempts

sudo nano /etc/ssh/sshd_config

# Add: MaxAuthTries 3

# Add: ClientAliveInterval 300

# Add: ClientAliveCountMax 2

Используйте DenyHosts вместе с Fail2Ban для комплексной защиты.

Заключение

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

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

Все эти меры безопасности работают в связке: ни одна из них сама по себе не даёт полной защиты. Применение всех 20 стратегий создаёт перекрывающиеся уровни защиты, которые существенно снижают уязвимость сервера к распространённым атакам. Нужна ли вам защита файлового сервера Linux или общая защита хостинга VPS — эти базовые шаги обеспечивают необходимый уровень безопасности.

Часто задаваемые вопросы

Как часто нужно обновлять Linux VPS?

Критические патчи безопасности — устанавливайте сразу. Полные обновления системы — по расписанию раз в неделю.

Действительно ли нужно менять порт SSH?

Да. Смена порта SSH сокращает количество автоматизированных атак более чем на 90%.

Можно ли внедрить все 20 мер безопасности одновременно?

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

Как понять, что сервер был скомпрометирован?

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

Что делать, если после настройки безопасности я потерял доступ к серверу?

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

Достаточно ли этих мер для продакшн-серверов?

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

Поделиться

Другие статьи блога

Читать дальше.

Обложка руководства Cloudzy по настройке MikroTik L2TP VPN: ноутбук подключается к серверной стойке через светящийся сине-золотой цифровой туннель с иконками щитов.
Безопасность и сети

Настройка MikroTik L2TP VPN (с IPsec): руководство по RouterOS (2026)

В этой конфигурации MikroTik L2TP VPN протокол L2TP отвечает за туннелирование, а IPsec — за шифрование и целостность данных. Их совместное использование даёт совместимость с нативными клиентами без сторонних реш

Рекса СайрусРекса Сайрус 9 мин. чтения
Окно терминала с предупреждением SSH об изменении идентификатора удалённого хоста, заголовок руководства по исправлению ошибки и брендинг Cloudzy на тёмно-бирюзовом фоне.
Безопасность и сети

Предупреждение: идентификатор удалённого хоста изменился. Как это исправить

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

Рекса СайрусРекса Сайрус 10 мин чтения
Иллюстрация к руководству по устранению неполадок сервера DNS: предупредительные символы и синий сервер на тёмном фоне, тема — ошибки разрешения имён Linux
Безопасность и сети

Временная ошибка разрешения имён: что это значит и как её исправить?

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

Рекса СайрусРекса Сайрус 12 мин чтения

Готовы к деплою? От $2.48/мес.

Независимый облачный провайдер с 2008 года. AMD EPYC, NVMe, 40 Gbps. Возврат средств в течение 14 дней.