Початкова настройка сервера c ubuntu, digitalocean

Після створення нового сервера необхідно зробити декілька кроків по його базовому налаштуванні. Це підвищить безпеку і зручність використання вашого сервера і закладе міцний фундамент для подальших дій.

Крок 1 - Логін з рутовий обліковим записом

Завершіть процес входу, прийнявши попередження про справжність хоста (host authenticity), якщо воно виникне, а потім ідентифікуючи себе як root користувача (за допомогою пароля або секретного ключа). Якщо ви вперше заходите на сервер з використанням пароля, вам буде запропоновано змінити пароль облікового запису root.

Про облікового запису root

Наступний крок полягає в створенні альтернативної користувальницької облікового запису з обмеженими привілеями для повсякденної роботи. Ми продемонструємо, як при необхідності отримати розширені повноваження під час використання цього облікового запису.

Крок 2 - Створення нового користувача

Виконавши вхід за допомогою облікового запису root-користувачів ви можете створити новий обліковий запис, яку можна буде використовувати для входу на сервер в подальшому.

У цьому прикладі ми створюємо новий обліковий запис користувача з ім'ям "sammy". Ви можете використовувати будь-яке інше ім'я облікового запису, замінивши текст, виділений червоним:

Вам зададуть кілька питань, першим з яких буде пароль для нового облікового запису.

Задайте надійний пароль і, за бажанням, заповніть додаткову інформацію. Вводити додаткову інформацію не обов'язково, ви можете просто натиснути ENTER в будь-якому полі, яке хочете пропустити.

Крок 3 - Привілеї користувача "root"

Щоб додати ці привілеї нашої нового облікового запису, необхідно додати її в групу "sudo". За замовчуванням, в Ubuntu 16.04 користувачі, що входять до групи "sudo", можуть використовувати команду sudo.

З-під root-користувачів виконайте наступну команду для додавання вашого нового користувача в групу sudo (замініть виділене червоним на ім'я вашої нової облікового запису):

Тепер ваш користувач зможе виконувати команди з привілеями супер-користувача! Ви можете знайти більш детальну інформацію про те, як це працює в статті про фото Sudoers.

Для подальшого підвищення безпеки вашого сервера, ви можете виконати наступні кроки.

Створення пари ключів

Щоб створити нову пару ключів, виконайте наступну команду в терміналі на вашій локальній машині (тобто на вашому комп'ютері):

Якщо ваш локальний користувач називається "localuser", ви побачите висновок такого вигляду:

Далі вам буде запропоновано ввести кодову фразу для захисту ключа. Ви можете ввести кодову фразу або залишити її порожній.

В результаті цього, в піддиректорії .ssh домашньої директорії користувача localuser буде створений закритий ключ id_rsa і відкритий ключ id_rsa.pub. Не передавайте закритий ключ нікому, хто не повинен мати доступ до ваших серверів!

Після створення пари SSH-ключів, вам необхідно скопіювати відкритий ключ на ваш новий сервер. Ми опишемо два простих способи зробити це.

Після того, як ви введете пароль, ваш відкритий ключ буде додано до файл .ssh / authorized_keys на вашому сервері. Відповідний закритий ключ тепер може бути використаний для входу на сервер.

Варіант 2. Ручний перенесення ключа

Якщо ви створили пари ключів SSH, як описано в попередньому пункті, виконайте наступну команду в терміналі на вашій локальній машині для друку відкритого ключа (id_rsa.pub):

В результаті виконання даної команди на екран буде виведений ваш відкритий SSH-ключ, що виглядає приблизно так:

Виділіть відкритий ключ і скопіюйте його в буфер обміну.

На сервері. здійснивши вхід з обліковим записом root-користувачів, виконайте наступні команди для перемикання на нового користувача (замініть demo на ваше ім'я користувача):

Тепер ви перебуваєте в домашній директорії нового користувача.

Створіть нову директорію під назвою .ssh і обмежте права на доступ до неї за допомогою наступних команд:

Натисніть CTRL-X для закриття файлу, потім y для збереження внесених змін, потім ENTER для підтвердження імені файлу.

Тепер обмежте права на доступ до файлу authorized_keys за допомогою наступної команди:

Введіть наступну команду один раз для повернення до користувача root.

Крок 5 - Відключення входу по паролю

Тепер, коли ви можете використовувати SSH-ключі для входу на сервер, ми можемо ще більше убезпечити сервер шляхом відключення аутентифікації по паролю. В результаті цього здійснювати доступ до сервера по SSH можна буде тільки з використанням вашого відкритого ключа. Іншими словами, для входу на ваш сервер (за винятком використання консолі), вам необхідно буде мати закритий ключ, парний відкритому ключу, встановленому на сервері.

Увага:
Вимикайте аутентифікацію за паролем тільки в тому випадку, якщо ви встановили відкритий ключ так, як описано на кроці 4. В іншому випадку ви можете втратити доступ до вашого сервера.

Для відключення аутентифікації по паролю виконайте такі кроки.

sshd_config - Відключення входу по паролю

У цьому ж файлі дві інші настройки, необхідні для відключення аутентифікації по паролю, вже мають коректні настройки за замовчуванням, не змінюйте ці настройки, якщо ви раніше не змінювали цей файл:

sshd_config - Важливі налаштування за замовчуванням

Після внесення змін до цього файл, збережіть і закрийте його (CTRL-X. Потім Y. далі ENTER)

Перезапустіть демон SSH:

Тепер аутентифікація по паролю відключена. Ваш сервер доступний для входу через SSH тільки за допомогою ключа.

Тепер, перед тим, як вийти з сервера, перевірте свої налаштування. Не відключати від сервера до тих пір, поки не переконаєтеся, що можете зайти на нього через SSH.

Якщо ви налаштували аутентифікацію з використанням відкритого ключа для вашого користувача, слідуючи інструкціям на кроці 4 і 5, для входу буде використаний ваш закритий ключ.

Увага:
Якщо ви створили пару ключів з використанням кодової фрази, сервер запросить цю кодову фразу в процесі входу. Якщо ви не задавали цю кодову фразу, ви ввійдете на сервер автоматично.

Після надання аутентифікаційних даних, ви ввійдете на сервер за допомогою облікового запису вашого нового користувача.

Якщо вам необхідно виконати команду з привілеями root наберіть "sudo" перед командою:

Крок 7 - Налаштування базового файрволу

Сервери на Ubuntu 16.04 можуть використовувати файрвол UFW для вирішення з'єднань обраних сервісів. Ми легко можемо налаштувати цей базовий файрвол.

Різні програми можуть створювати свої профілі для UFW при установці. Ці профілі дозволяють UFW управляти цими додатками за їхніми іменами. Сервіс OpenSSH, який ми використовуємо для з'єднання з сервером, також має свій профіль в UFW.

Переконатися в цьому можна виконавши команду:

Нам необхідно переконатися, що файрвол дозволяє SSH-з'єднання, і ми зможемо зайти на сервер в наступний раз. Ми можемо дозволити SSH-з'єднання за допомогою такої команди:

Далі включимо файрвол командою:

Наберіть y і натисніть ENTER для продовження. Ви можете переконатися, що SSH-з'єднання дозволені, наступною командою:

Якщо ви встановлюєте і налаштовуєте додаткові додатки і сервіси, вам буде необхідно налаштувати файрвол для дозволу вхідного трафіку для цих додатків. Ви можете ознайомитися з найбільш поширеними операціями з UFW в цій статті.

Що далі?

Тепер у вас є добре налаштований сервер. Далі ви можете встановлювати на нього будь-яке необхідне програмне забезпечення.

Схожі статті