В эпоху цифровых технологий защита вашего виртуального частного сервера (VPS)
имеет первостепенное значение для защиты ваших данных и инфраструктуры. Это
подробное руководство по защите вашего Linux VPS от
киберугрозам.
Держите систему под контролем
Обновлено
Один из ключевых аспектов защиты вашего Linux VPS —
убедитесь, что ваша система обновлена. Устаревшее программное обеспечение может
содержать уязвимости, которыми могут воспользоваться злоумышленники. Вот как
сделайте это:
Использовать пакетный менеджер
Большинство Linux дистрибутивов включают менеджер пакетов. Например, если
если вы используете систему на базе Debian, выполните следующие команды
для обновления пакетов:
sudo apt update
sudo apt upgrade
Если вы используете систему CentOS, воспользуйтесь yum:
sudo yum update
Настройте автоматически
Обновления
Настройка автоматических обновлений с помощью unattended-upgrades на
Системы на базе Debian:
На системах на базе Debian, таких как Ubuntu, можно использовать
пакет unattended-upgrades для автоматизации процесса обновлений.
- Установите unattended-upgrades:
sudo apt install unattended-upgrades
- Настройте параметры автоматического обновления. Измените конфигурацию
:
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
- Включите автоматическое обновление пакетов безопасности:
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}-security";
"${distro_id}:${distro_codename}-updates";
"${distro_id}:${distro_codename}-proposed";
"${distro_id}:${distro_codename}-backports";
};
- Включите и запустите службу unattended-upgrades:
sudo dpkg-reconfigure -plow unattended-upgrades
Эта команда запросит подтверждение изменений. Выберите «Да», чтобы
включить автоматическое обновление.
Настройка автоматических обновлений с помощью yum-cron на
CentOS:
На CentOS для автоматических обновлений используйте yum-cron:
- Установите yum-cron:
sudo yum install yum-cron
- Запустите и добавьте в автозагрузку службу yum-cron:
sudo systemctl enable yum-cron
sudo systemctl start yum-cron
Используйте
Надёжные пароли и ключи SSH для безопасной аутентификации
Для защиты вашего Linux VPS используйте надёжные методы аутентификации.
Независимо от того, подключаетесь ли вы с клиента Linux или Windows, вот как это сделать
используйте надёжные пароли и ключи SSH эффективно:
Использование Strong
Пароли
При создании учётных записей на вашем VPS убедитесь, что пароли
сложным: содержащим заглавные и строчные буквы, цифры и специальные
символов. Избегайте легко угадываемых паролей.
Использование ключа SSH
Аутентификация
Для клиента Linux:
- Чтобы создать пару ключей на клиенте Linux, используйте ssh-keygen
команда:
ssh-keygen -t rsa -b 2048
Открытый ключ по умолчанию сохраняется в ~/.ssh/id_rsa.pub.
- Скопируйте ваш публичный ключ на VPS:
ssh-copy-id user@your_server_ip
- Отключить вход по паролю SSH на VPS на сервере SSH
файл конфигурации (/etc/ssh/sshd_config):
PasswordAuthentication no
Для клиента Windows:
- На Windows используйте PowerShell для аналогичных задач:
ssh-keygen
- Скопируйте публичный ключ на VPS с помощью PowerShell. Замените
IP-ADDRESS-OR-FQDN на адрес удалённого сервера:
адрес:
type $env:USERPROFILE\.ssh\id_rsa.pub | ssh root@{IP-ADDRESS-OR-FQDN} "cat >> .ssh/authorized_keys"
- Отключить вход по паролю SSH на VPS на сервере SSH
файл конфигурации (/etc/ssh/sshd_config):
PasswordAuthentication no
Настройте межсетевой экран
Для защиты Linux VPS необходимо настроить межсетевой экран, который контролирует
входящий и исходящий трафик. Вот как это сделать:
повысить уровень безопасности:
Используйте ufw (Uncomplicated Firewall) на Debian/Ubuntu или
firewalld на CentOS:
- Установите инструмент управления межсетевым экраном, если он ещё не установлен.
Для ufw на Debian/Ubuntu:
sudo apt install ufw
Для firewalld на CentOS:
sudo yum install firewalld
- Добавьте правила, разрешающие SSH, до включения межсетевого экрана — иначе вы можете
потерять доступ к серверу:
Для ufw на Debian/Ubuntu:
sudo ufw allow OpenSSH
Для firewalld на CentOS:
sudo firewall-cmd --permanent --add-service=ssh
- Включите межсетевой экран и задайте правила по умолчанию:
Для ufw на Debian/Ubuntu:
sudo ufw enable
sudo ufw default deny incoming
sudo ufw default allow outgoing
Для firewalld на CentOS:
sudo systemctl start firewalld
sudo systemctl enable firewalld
- Перезагрузите межсетевой экран, чтобы изменения вступили в силу.
Для ufw на Debian/Ubuntu:
sudo ufw reload
Для firewalld на CentOS:
sudo systemctl reload firewalld
Отключите вход под root
Для защиты Linux VPS необходимо ограничить доступ root. Вот как
отключить вход под root для повышения безопасности:
- Создайте нового пользователя: войдите на VPS под учётной записью root, затем создайте
новую учётную запись с привилегиями sudo. Замените newuser на желаемое
имя пользователя:
adduser newuser
usermod -aG sudo newuser
- Создайте каталог .ssh, файл authorized_keys и настройте права доступа для
нового пользователя:
mkdir -p /home/newuser/.ssh
touch /home/newuser/.ssh/authorized_keys
chmod 600 /home/newuser/.ssh/authorized_keys
chown -R newuser:newuser /home/newuser/.ssh
-
Обязательно сгенерируйте публичный ключ и скопируйте его в
VPS. -
Войдите под новым пользователем.
-
Отключитесь от VPS (если вы подключены как root) и войдите
снова, используя новую учётную запись. Это позволит выполнять
административные задачи через sudo. -
Редактирование конфигурации SSH:
Откройте файл конфигурации сервера SSH на вашем VPS. Обычно он находится по пути /etc/ssh/sshd_config:
обычно расположен по пути /etc/ssh/sshd_config:
sudo nano /etc/ssh/sshd_config
Найдите строку PermitRootLogin и установите значение no:
PermitRootLogin no
Сохраните файл и закройте текстовый редактор.
- Перезапуск службы SSH:
После внесения изменений перезапустите службу SSH, чтобы
новые настройки вступили в силу:
На Debian/Ubuntu:
sudo systemctl restart ssh
На CentOS:
sudo systemctl restart sshd
Усиление защиты SSH
Конфигурация
Для защиты вашего Linux VPS необходимо дополнительно усилить конфигурацию SSH
и убедиться, что правила UFW актуальны.
Вот как настроить параметры SSH и обновить правила UFW:
правила:
- Разрешите новый порт SSH в UFW:
Если вы используете UFW (Uncomplicated Firewall), сначала разрешите новый порт SSH
до того, как вносить изменения в порт по умолчанию:
# Allow the new SSH port (e.g., 2222)
sudo ufw allow 2222/tcp
- Удалите OpenSSH из правил UFW:
После смены порта SSH удалите старую запись OpenSSH
сервис (порт 22 по умолчанию) из правил UFW, чтобы разрешить только новый
порт SSH:
# Remove the old OpenSSH service (default port 22)
sudo ufw delete allow OpenSSH
- Смена порта SSH:
По умолчанию SSH использует порт 22. Смена порта усложняет задачу
автоматическим ботам при поиске вашего SSH-сервера
и тем самым добавляет дополнительный уровень защиты.
Откройте файл конфигурации сервера SSH:
sudo nano /etc/ssh/sshd_config
Найдите строку Port 22 и замените номер порта на другой,
свободный, например 2222:
Port 2222
- Включение повторной аутентификации по ключу:
Можно задать временной лимит для повторной аутентификации по ключу,
чтобы дополнительно защитить сессию SSH. Если сессия будет
оставлена без внимания, она автоматически завершится по истечении заданного времени.
Добавьте или измените следующие строки в файле конфигурации сервера SSH,
затем сохраните файл:
ClientAliveInterval 300
ClientAliveCountMax 2
- Перезагрузка правил UFW и сервиса SSH:
sudo ufw reload
sudo systemctl restart ssh
- После внесения необходимых изменений можно установить новое соединение SSH
с помощью следующей команды:
ssh -p <new_port> user@your_server_ip
Настройка Fail2Ban
Защита Linux VPS включает в себя противодействие атакам перебором паролей
и другим видам вредоносной активности. Fail2Ban хорошо справляется
с этой задачей. Вот как его настроить:
- Установка Fail2Ban:
Начните с обновления списка пакетов, чтобы убедиться, что у вас есть
актуальные версии доступных пакетов:
Для систем на базе Debian (например, Ubuntu):
sudo apt update
Для CentOS:
sudo yum update
Установка Fail2Ban:
Для систем на базе Debian:
sudo apt install fail2ban
Для CentOS:
sudo yum install fail2ban
- Настройка Fail2Ban:
Основной конфигурационный файл Fail2Ban находится по адресу
/etc/fail2ban/jail.conf. Вы можете создать файл переопределения
по адресу /etc/fail2ban/jail.local для настройки параметров
без изменения конфигурации по умолчанию. Откройте этот файл:
sudo nano /etc/fail2ban/jail.local
Добавьте следующую конфигурацию, чтобы блокировать IP-адреса на 10 минут
(600 секунд) после шести неудачных попыток входа. При необходимости
скорректируйте параметры:
[sshd]
enabled = true
maxretry = 6
findtime = 600
bantime = 600
Сохраните файл и закройте текстовый редактор.
- Запуск и включение Fail2Ban:
Запустите Fail2Ban и добавьте его в автозагрузку:
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
- Проверка статуса Fail2Ban:
Вы можете проверить статус Fail2Ban, чтобы убедиться, что он работает
корректно:
sudo fail2ban-client status
Вы должны увидеть, что он отслеживает сервис SSH.
Шесть методов, описанных здесь, обеспечивают надёжную защиту
от потенциальных угроз. Регулярное обновление системы,
использование надёжной аутентификации, настройка файрволов, усиление защиты SSH
и внедрение Fail2Ban помогут укрепить ваш VPS и сохранить спокойствие
в постоянно подключённом мире. Если у вас есть вопросы,
обратитесь в нашу службу поддержки: отправив заявку
тикет.
Также в разделе «Безопасность»
Похожие руководства.
Нужна помощь с чем-то другим?
Среднее время ответа — менее 1 часа. Живые специалисты, не боты.