Блог компанії 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, захистивши віддалений доступ, налаштувавши брандмауери, керуючи користувачами, увімкнувши автоматичне оновлення та моніторинг системних журналів. Ці кроки значно скоротять кількість вразливостей і створять міцний фундамент для подальших поліпшень безпеки. Регулярні аудити та постійний моніторинг необхідні для підтримки безпечного середовища для будь-якого сервера у виробництві.