Останнім часом кількість користувачів Linux повільно, але впевнено зростає, оскільки дедалі більше людей переходять із Windows на open source.
У світі серверів ці зміни ще більш очевидні: як досвідчені професіонали, так і новачки вибирають дистрибутив Linux як першу операційну систему для сервера, таке рішення є безальтернативним, у деяких випадках.
Безумовно, базова безпека VPS сервера на Linux вище ніж VPS на Windows. Однак важливо пам'ятати, що ваш сервер на Linux буде повністю безпечним лише в тому випадку, якщо він правильно налаштований.
Тому в цій статті ми поділимося декількома корисними порадами, які допоможуть зробити ваш VPS сервер більш захищеним.
Поновлюйте дистрибутив вчасно
Насамперед, дуже важливо завжди підтримувати вашу систему у актуальному стані. Встановлення частих оновлень програмного забезпечення може бути досить нудним і часом, але в жодному разі не можна нехтувати цим!
Такі періодичні оновлення можуть виправляти та усувати потенційні вразливості, такі як бекдори. Нещодавно було виявлено, що понад 50% всіх існуючих установок WordPress містили небезпечну вразливість, залишаючи їх вразливими до кібератак.
Ось як ви можете оновити дистрибутив Linux.
Оновлення Debian або Ubuntu
Почнемо з оновленням списку пакетів:
apt-get update
Оновіть пакети:
apt-get upgrade
Оновлення CentOS
yum update
Якщо ви не забудете регулярно оновлювати свою систему, ви зможете уникнути будь-яких проблем безпеки.
Використовуйте нестандартний (не за замовчуванням) порт SSH
За замовчуванням порт прослуховування служби SSH встановлено на порт 22. Якщо залишити це значення без змін, ваш VPS-сервер може стати метою для онлайн-хакерів, оскільки порт 22 зазвичай є основною метою, коли йдеться про автоматичні атаки.
Щоб змінити порт, потрібно лише змінити файл конфігурації служби, як показано нижче:
nano /etc/ssh/sshd_config
Повинен з'явитися наступний текст (або аналогічний, залежно від конфігураційного файлу):
# Які порти, IP-адреси та протоколи ми слухаємо Port 22
Все, що вам потрібно зробити тут, просто замінити номер 22 на інший номер порту.
ВАЖЛИВО: Ніколи не використовуйте номер порту, який вже використовується у вашій системі!
Після зміни порту збережіть та вийдіть із файлу конфігурації, а потім перезапустіть службу:
systemctl restart sshd
Це автоматично застосує зміни. Майте на увазі, що вам потрібно вказувати новий порт кожного разу, коли ви просите SSH-з'єднання з вашим сервером.
Створити користувача з обмеженими правами
Наша наступна порада передбачає створення користувача з обмеженими правами. Взагалі, вам не потрібні права root для виконання завдань від імені звичайного користувача. Ви можете легко створити нового користувача з обмеженими правами та захистити свій сервер за допомогою наступної команди:
adduser CustomUserName
Далі заповніть запитану інформацію (ім'я, пароль та інші дані). Цьому новому користувачеві буде дозволено увійти до системи через SSH. Тепер, коли ви встановлюєте з'єднання, ви можете використовувати свої новостворені облікові дані.
Після успішного входу в систему для виконання будь-яких операцій, які потребують дозволу root, просто введіть наступну команду:
su root
Потім введіть пароль і активний логін буде переключений на користувача root.
Вимкніть вхід користувача root
Наявність доступу root означає наявність більшості дозволів в операційній системі. Ми наполегливо рекомендуємо вам вимкнути прямий доступ користувача root за протоколом SSH.
Якщо залишити в якості типу доступу для вашого сервера лише root-доступ, це може призвести до незворотного пошкодження!
ВАЖЛИВО: Перш ніж вимкнути функцію входу в систему root, обов'язково створіть іншого користувача, як ми згадували в попередньому розділі!
Щоб вимкнути доступ до сервера через користувача root, можна виконати такі дії.
Змініть файл конфігурації SSH
Спочатку відкрийте файл конфігурації SSH, як ми згадували у початковому розділі цієї статті, за допомогою наступної команди:
nano /etc/ssh/sshd_config
Далі знайдіть цей розділ:
# Аунтефікація: LoginGraceTime 120 PermitRootLogin yes StrictModes yes
Знайдіть рядок - PermitRootLogin і замініть yes на no
Щоб застосувати зміни, потрібно просто перезапустити службу SSH:
systemctl restart sshd
Після завершення ви помітите, що підключення до сервера через користувача root будуть автоматично відхилені.
Використовуйте ключі безпеки для ідентифікації
Використання ключів безпеки (ключів SSH) має ряд переваг у сфері безпеки.
По-перше, ви можете отримати доступ до свого терміналу без введення пароля. По-друге, ви можете повністю відключити процес входу до системи з паролем, а це означає, що для підключення до сервера пароль не буде потрібно.
Цей крок захищає сервер від деяких можливих атак, таких як атаки грубої сили (brute force).
Встановити fail2ban
Ще одна чудова річ, яку ви можете зробити для захисту свого сервера, - це встановити Fail2ban.
Це легке програмне забезпечення запобігає вторгненню, оскільки воно призначене для блокування невідомих IP-адрес, які намагаються проникнути у вашу систему та отримати доступ до неї. Щоб інсталювати пакет програмного забезпечення, можна використовувати наступну команду.
Як встановити Fail2ban для Ubuntu та Debian
apt-get install fail2ban
Як встановити Fail2ban для CentOS
yum install epel-release yum install fail2ban
Після успішного встановлення пакета вам потрібно буде змінити його конфігураційний файл, щоб налаштувати його у вашій системі.
ВАЖЛИВО: Перш ніж вносити будь-які зміни до файлу конфігурації, ми настійно рекомендуємо створити резервну копію оригіналу за допомогою наступної команди:
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.backup
Після того, як ви зробили резервну копію вихідного файлу, відкрийте файл конфігурації Fail2ban за допомогою цієї команди та налаштуйте параметри:
nano /etc/fail2ban/jail.conf
Коли ви закінчите редагування конфігураційного файлу, перезапустіть службу за допомогою:
service fail2ban restart
Будь-яку додаткову інформацію про програмне забезпечення ви можете знайти у офіційної документації Fail2ban.
Налаштуйте внутрішній брандмауер
Дистрибутиви Linux включають службу брандмауера під назвою "iptables". За замовчуванням він не має активних правил. Щоб переконатися, що він є у вашій системі, введіть наступну команду:
iptables -L
Ми рекомендуємо створити та налаштувати деякі правила брандмауера відповідно до ваших потреб. Однак, служба брандмауера налаштовується по-різному для кожного дистрибутива Linux. Вам необхідно ознайомитись з офіційною документацією для вибраної вами ОС Linux, щоб внести відповідні зміни.
Зробіть резервну копію вашого VPS
SIDATA вже надає безкоштовно резервну копію на 7 днів.
Для створення резервних копій на більший період замовте послугу – Хмарне сховище, вартість від 0,5 грн. за 1 Гб та зробіть резервну копію.
Наявність резервної копії даних на вашому VPS сервері може допомогти вам повністю відновити будь-яку інформацію, яку можна втратити через хакерську атаку або несправність фізичного сервера.