Сервери Linux VPS пропонують кращу безпеку, ніж системи Windows, завдяки вбудованій моделі безпеки Linux. Однак жодна система не є невразливою. Хакери щодня активно сканують мільйони серверів у пошуках вразливостей для експлуатації конфіденційних даних або використання серверів для масштабних атак.
Навчитися захищати сервер Linux потребує свідомої конфігурації. Нові встановлення VPS поставляються зі стандартними налаштуваннями, які пріоритизують доступність над безпекою. Розуміння того, як захищати реалізацію сервера Linux, убезпечує від розвивальних загроз, одночасно зберігаючи функціональність системи. Цей посібник показує 20 важливих кроків для захисту інфраструктури сервера Linux і трансформації вашої вразливої системи у фортецю, яка відбиває поширені атаки.
Що таке Linux VPS?

Linux VPS (Virtual Private Server) працює на хмарних платформах із виділеними ресурсами, відокремленими від інших користувачів. На відміну від спільного хостингу, де одна скомпрометована облікова запис може вплинути на інших, безпечний хостинг VPS ізолює ваше середовище. Однак зловмисники все ще атакують незахищені сервери VPS, щоб викрасти дані, встановити шкідливе ПЗ або запустити атаки на інші системи.
Коли ви замовляєте купити хостинг Linux VPS операційна система поставляється з попередньо встановленою базовою конфігурацією. Ці стандартні налаштування пріоритизують простоту використання над безпекою, залишаючи ваш сервер вразливим перед автоматизованими атаками, які сканують на поширені вразливості. Впровадження безпеки хмарних даних на серверах VPS вимагає активних заходів поза базовою інсталяцією.
Чому варто захищати ваш Linux VPS
Незахищені сервери стають мішенями протягом кількох годин після виходу в мережу. Організації нині стикаються з в середньому 1876 кібератак на тиждень, що становить збільшення на 75% порівняно з попереднім роком. Розуміння того, як захищати інфраструктуру сервера Linux, убезпечує від цих постійних загроз, які можуть скомпрометувати вашу систему.
Найнебезпечніше те, що складні атаки часто залишаються непомітними. Зловмисники можуть отримати доступ до ваших даних, контролювати комунікацію або використовувати ресурси вашого сервера без очевидних ознак вторгнення. Безпечний хостинг VPS вимагає активних заходів, тому що зловмисники не повідомляють про свою присутність — до того часу, як ви помітите незвичайну активність, значна шкода може бути вже завдана.
Модель безпеки Linux (LSM)

Linux включає вбудовані функції безпеки, які забороняють несанкціонований доступ до критичних компонентів системи. Модель безпеки Linux із діаграмою показує, як контроль доступу захищає файли, процеси та взаємодію користувачів. Це створює кілька шарів безпеки, які ускладнюють експлуатацію порівняно з іншими операційними системами.
Однак LSM не можуть запобігти атакам, викликаним неправильною конфігурацією, слабкими паролями або застарілим ПЗ. Вони забезпечують основу для того, як захищати сервер Linux, але вимагають належного впровадження, щоб бути ефективними для хостингу Ubuntu VPS та інших дистрибутивів Linux.
20 способів захисту Linux VPS

Ці заходи безпеки прогресують від базових змін конфігурації до розширених систем моніторингу. Оволодіння способами захисту середовищ сервера Linux вимагає систематичного впровадження цих кроків, щоб створити безпечний сервер Linux, який протистоїть поширеним векторам атак.
Кожна техніка спрямована на конкретні вразливості, які зазвичай використовують зловмисники. Методи охоплюють базові налаштування, необхідні для кожного сервера, та складні системи моніторингу для виявлення передових загроз. Деякі заходи забезпечують миттєвий захист, а інші створюють довгострокову стійкість безпеки. Порядок впровадження має значення – базові кроки посилення безпеки мають передувати передовим інструментам моніторингу. Разом ці 20 стратегій створюють перекривні шари безпеки, які значно зменшують поверхню атаки вашого сервера.
1. Тримайте програмне забезпечення в актуальному стані
Застаріле програмне забезпечення містить відомі вразливості безпеки, які використовують зловмисники. Розробники програмного забезпечення регулярно випускають патчі, які усувають ці вразливості. Оновлення – ваш перший рядок захисту для забезпечення безпеки серверних систем Linux.
Налаштуйте автоматичні оновлення для критичних патчів безпеки:
# Ubuntu/Debian
sudo apt update && sudo apt upgrade -y
# CentOS/RHEL
sudo yum update -y
Встановіть сповіщення електронною поштою про доступні оновлення, щоб бути в курсі патчів безпеки, які потребують ручного розгляду.
2. Відключіть вхід від імені адміністратора
Кожен сервер 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 username@server-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 можуть бути заражені шкідливим кодом, який крадеcиacті дані, займається майнингом крипто валют або надає зловмисникам доступ через чорні ходи. Програмне забезпечення проти шкідливого коду виявляє та видаляє ці загрози до того, як вони скомпрометують вашу систему.
Установіть 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. Налагодьте розділення диска
Розділення диска відокремлює системні файли від користувацьких даних, обмежуючи шкоду, якщо один розділ буде скомпрометований. Це також запобігає тому, щоб вичерпання місця на диску в одній områі не вплинуло на всю систему.
Рекомендована схема розділення:
/boot – 500МБ (файли завантаження)
/ – 20GB (системні файли)
/home – 50GB (дані користувача)
/var – 10 ГБ (логи та бази даних)
/tmp – 2GB (тимчасові файли)
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 option запобігає запуску шкідливих виконуваних файлів, 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, ці основні кроки забезпечують необхідну безпеку.