Блог компании 3v-Hosting
Настройка базового уровня безопасности для вашего Linux VPS
7 мин.
Обеспечьте безопасность вашего Linux VPS (Virtual Private Server) прямо сейчас, чтобы защитить веб-сервисы, базы данных и облачные приложения от киберугроз. VPS - это серверная среда с удаленным доступом, поэтому применяйте базовые меры безопасности, чтобы снизить риск несанкционированного доступа, утечки данных и сбоев в работе сервисов.
В этой статье мы рассмотрим основные шаги по защите Linux VPS, включая укрепление SSH, настройку брандмауэра, управление пользователями, обновление программного обеспечения и стратегии мониторинга. Эти меры обеспечивают надежную основу безопасности для любого сервера на базе Linux.
Защита удаленного доступа с помощью усиления SSH
Одним из первых шагов в обеспечении безопасности VPS является настройка SSH (Secure Shell), поскольку это основной метод удаленного доступа к серверу.
Измените порт SSH по умолчанию
По умолчанию SSH работает на порту 22, который часто становится мишенью для атак методом перебора. Изменение этого порта снижает количество автоматических атак. Чтобы изменить порт, откройте файл конфигурации SSH:
sudo nano /etc/ssh/sshd_config
Найдите строку:
#Port 22
Измените ее на нестандартный порт, например 2222:
Port 2222
Перезапустите службу SSH:
sudo systemctl restart sshd
Отключите вход root
Разрешение входа root в систему через SSH представляет собой серьезный риск для безопасности. Вместо этого создайте обычного пользователя с привилегиями sudo и отключите доступ root.
Добавьте нового пользователя:
sudo adduser secureuser
sudo usermod -aG sudo secureuser
Отключите SSH-логин root. Отредактируйте /etc/ssh/sshd_config и установите:
PermitRootLogin no
Перезапустите службу SSH:
sudo systemctl restart sshd
Использование аутентификации по ключу SSH
Использование SSH-ключей вместо паролей значительно повышает безопасность. Сгенерируйте пару ключей SSH на локальной машине:
ssh-keygen -t rsa -b 4096
Скопируйте открытый ключ на сервер:
ssh-copy-id -p 2222 secureuser@your_vps_ip
Отключите проверку подлинности пароля в файле /etc/ssh/sshd_config:
PasswordAuthentication no
Перезапустите службу SSH:
sudo systemctl restart sshd
Настройка брандмауэра
Брандмауэр помогает блокировать несанкционированный доступ, позволяя при этом функционировать необходимым службам.
Использование UFW (Uncomplicated Firewall)
Установите UFW, если он еще не установлен:
sudo apt install ufw
Разрешите необходимые службы:
sudo ufw allow 2222/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Включите брандмауэр:
sudo ufw enable
Проверьте состояние брандмауэра:
sudo ufw status verbose
Другие полезные статьи в нашем Блоге:
- Работа с журналами Linux: journalctl, grep, awk и sed
- Топ-5 программ для виртуальных машин на базе Linux для ваших потребностей в виртуализации
- ТОП 6 Linux дистрибутивов для VPS
- Ручное перемонтирование fstab без перезагрузки Linux сервера
Следите за обновлениями системы
Регулярные обновления помогают устранить уязвимости.
Обновление системы
На системах на базе Debian:
sudo apt update && sudo apt upgrade -y
На системах на базе RHEL:
sudo yum update -y
Включение автоматических обновлений безопасности
Для Debian/Ubuntu:
sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades
Управление доступом и разрешениями пользователей
Создайте ограниченного пользователя
Вместо того чтобы выполнять все действия от имени root, используйте стандартную учетную запись пользователя с привилегиями sudo.
sudo adduser newuser
sudo usermod -aG sudo newuser
Используйте принцип наименьших привилегий
Ограничьте права доступа с помощью chmod и chown, чтобы пользователи имели доступ только к необходимым файлам.
Например:
chmod 700 /home/user/private_folder
chown user:user /home/user/private_folder
Установка и настройка Fail2Ban
Fail2Ban помогает защититься от атак методом грубой силы, запрещая IP-адреса с несколькими неудачными попытками входа.
Установите Fail2Ban:
sudo apt install fail2ban
Создайте локальный файл конфигурации:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Отредактируйте файл /etc/fail2ban/jail.local и настройте параметры SSH:
[sshd]
включено = true
порт = 2222
maxretry = 5
bantime = 600
Перезапустите Fail2Ban:
sudo systemctl restart fail2ban
Мониторинг активности системы
Включите мониторинг журналов
Проверка журналов помогает обнаружить подозрительные действия. Просмотрите журналы аутентификации:
sudo cat /var/log/auth.log
Отслеживайте системные журналы:
sudo journalctl -xe
Используйте средства обнаружения вторжений
Установите такие инструменты, как rkhunter, для поиска руткитов:
sudo apt install rkhunter
sudo rkhunter --update
sudo rkhunter --check
Заключение
Установите базовый уровень безопасности для вашего Linux VPS, защитив удаленный доступ, настроив брандмауэры, управляя пользователями, включив автоматическое обновление и мониторинг системных журналов. Эти шаги значительно сократят количество уязвимостей и создадут прочный фундамент для дальнейших улучшений безопасности. Регулярные аудиты и постоянный мониторинг необходимы для поддержания безопасной среды для любого сервера в производстве.