Базовая настройка сервера Ubuntu 16.04

Базовая настройка сервера Ubuntu 16.04

Базовая настройка сервера Ubuntu - это несколько тапов настройки, которые должны быть выполнены на ранней стадии, после создания сервера. Данная процедура повысит безопасность и удобство использования вашего сервера и даст прочную основу для последующих действий.

Шаг 1 - Root Login

Для входа на сервер вам необходимо знать IP-адрес сервера, логин и пароль. Дале выполните следующую команду.

ssh root@ip_адрес_сервера

После этого система спросит у вас пароль для сервера, введите его и нажмите Enter. Если вы впервые входите на сервер, то система попросит вас сменить пароль для root пользователя.

Шаг 2 - Создание нового пользователя

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

Пример ниже создает нового пользователя с именем admin.

usermod -aG sudo admin

После запуска этой команды, система попросит вас ввести настоящие имя и фамилию, пароль и т.д.

Шаг 3 - Root права

Теперь у нас есть новая учетная запись с правами обычного пользователя, однако могут возникнуть ситуации, когда нам понадобятся права администратора.

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

Для того, что бы дать нашему пользователю эти привелегии, необходимо добавить его в группу пользователей "sudo". По умолчанию в Ubuntu 16.04 пользователям, принадлежащим группе "sudo", доступна одноименная команда.

Итак, в качестве root пользователя выполните следующую команду:

usermod -aG sudo admin

По сути это и есть базовая настройка сервера Ubuntu. Но для большей безопасности давайте выполним следующие настройки.

Шаг 4 - Добавляем публичный ключ авторизации

Генерируем Key Pair

Если у вас нет еще SSH ключа, то выполните следующие команды:

ssh-keygen
ssh-keygen output
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/localuser/.ssh/id_rsa):

Нажмите Enter не вводя ничего в данное поле.

Далее вам зададут несколько вопросов, вы вольны отвечать на них или же оставить поля пустыми.

Копирование публичного ключа

Есть два способа скопировать публичный SSH ключ на сервер. В данной статье мы используем команду ssh-copy-id.

ssh-copy-id admin@ip_адрес_сервера

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

Шаг 5 - Отключение авторизации

Теперь нам необходимо отключить авторизацию на сервере, оставив возможным только авторизацию по SSH ключу.

Откройте файл настроек SSH вашего сервера с правами администратора:

sudo nano /etc/ssh/sshd_config

Найдите строку PasswordAuthentification, раскомментируйте ее, удалив символ # и установите значение на no.

PasswordAuthentication no

Ниже добавьте еще две команды:

PubkeyAuthentication yes
ChallengeResponseAuthentication no

На этом все. Нажимаем Ctrl+X, далее Y.

Перезапустите SSH демона командой:

sudo systemctl reload sshd

Шаг 6 - Настраиваем брандмауэр
Ubuntu

Ubuntu 16.04 может использовать UFW брандмауэр для проверки разрешен ли данный тип подключения.

Теперь различные приложения будут регистрировать свои профили с помощью UFW после установки. Эти профили позволяют управлять этими приложениями по имени. Рассмотрим это на примере OpenSSH.

sudo ufw app list

Результатом данной команды будет:

Output
Available applications:
  OpenSSH

Нам необходимо убедиться, что на сервере разрешено подключаться по SSH. Для этого выполним команду:

sudo ufw allow OpenSSH

И теперь активируем брандмауэр:

sudo ufw enable

Для продолжен необходимо будет нажать клавишу "Y". Посмотретьразрешенные подключения можно следующей командой:

sudo ufw status

Результат:

Output
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)

На этом все. Надеюсь эта статья вам помогла в базовой настройке сервера под Ubuntu 16.04.