Поиск по сайту:

Первоначальная настройка сервера с Ubuntu 18.04


Введение

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

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

Шаг 1 — Вход в систему как root

На вновь установленных серверах обычно настроена только учетная запись root, и именно ее вы будете использовать для входа на сервер в первый раз.

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

Для начала вам нужно войти на свой сервер. Убедитесь, что вы знаете общедоступный IP-адрес вашего сервера. Для аутентификации вам потребуется либо пароль учетной записи, либо закрытый ключ SSH для учетной записи пользователя root, если вы настроили ключ SSH для аутентификации на сервере. Если вы еще не вошли на свой сервер, вы можете следовать нашему руководству о том, как подключиться к вашей капле с помощью SSH, которое подробно описывает этот процесс.

Если вы еще не подключены к своему серверу, войдите в систему как пользователь root с помощью следующей команды. Обязательно замените выделенную часть команды общедоступным IP-адресом вашего сервера:

  1. ssh root@your_server_ip

Примите предупреждение о подлинности хоста, если оно появляется. Если вы используете аутентификацию по паролю, укажите свой пароль root для входа в систему. В качестве альтернативы, если вы используете ключ SSH, защищенный парольной фразой, вам может быть предложено ввести парольную фразу при первом использовании ключа в каждом сеансе. Кроме того, если вы впервые входите на сервер с паролем, вам также может быть предложено изменить пароль root.

На следующем шаге вы настроите новую учетную запись системного пользователя с ограниченными привилегиями и настроите этого пользователя для выполнения административных команд через sudo.

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

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

В следующем примере создается новый пользователь с именем sammy, но вы должны заменить его именем пользователя по вашему выбору:

  1. adduser sammy

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

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

На следующем шаге вы настроите привилегии sudo для этого пользователя. Это позволит пользователю выполнять административные задачи как пользователь root через программу sudo.

Шаг 3 — Предоставление административных привилегий

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

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

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

Следующая команда изменит настройки пользователя по умолчанию, включая группу sudo в списке групп, к которым уже принадлежит пользователь. Обратите внимание на аргумент -a, который означает добавление. Без этой опции текущие группы, к которым привязан пользователь, были бы заменены на sudo, что привело бы к неожиданным последствиям. Аргумент -G указывает usermod изменить настройки группы пользователя.

От имени пользователя root выполните эту команду, чтобы добавить нового пользователя в группу sudo (замените выделенное слово новым пользователем):

  1. usermod -aG sudo sammy

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

Шаг 4 — Настройка базового брандмауэра

UFW (Uncomplicated Firewall) — это инструмент настройки брандмауэра, который поставляется с серверами Ubuntu. Вы можете использовать брандмауэр UFW, чтобы убедиться, что на вашем сервере разрешены только подключения к определенным службам.

Примечание. Если ваши серверы работают в DigitalOcean, вы можете дополнительно использовать облачные брандмауэры DigitalOcean вместо брандмауэра UFW. Мы рекомендуем использовать только один брандмауэр за раз, чтобы избежать конфликтующих правил, которые могут быть трудны для отладки.

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

Выполните следующую команду, чтобы получить список всех текущих доступных профилей:

  1. ufw app list
Output
Available applications: OpenSSH

Вам нужно убедиться, что брандмауэр разрешает SSH-соединения, чтобы вы могли снова войти в систему в следующий раз. Вы можете разрешить эти подключения, набрав:

  1. ufw allow OpenSSH

После этого вы можете включить брандмауэр с помощью:

  1. ufw enable

Введите \y” и нажмите ENTER, чтобы продолжить. Вы можете увидеть, что соединения SSH по-прежнему разрешены, набрав:

  1. ufw status
Output
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)

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

Шаг 5 — Включение внешнего доступа для вашего обычного пользователя

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

Примечание. Пока вы не убедитесь, что можете войти в систему и использовать sudo в качестве нового пользователя, мы рекомендуем оставаться в системе как пользователь root. Таким образом, если у вас возникнут проблемы, вы сможете устранить неполадки и внести необходимые изменения как root. Если вы используете дроплет DigitalOcean и у вас возникли проблемы с корневым SSH-подключением, вы можете войти в дроплет с помощью консоли DigitalOcean.

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

Если корневая учетная запись использует аутентификацию по паролю

Если вы вошли в свою корневую учетную запись используя пароль, это означает, что аутентификация по паролю включена для SSH. Вы можете использовать SSH для своей новой учетной записи пользователя, открыв новый сеанс терминала и используя SSH с вашим новым именем пользователя:

  1. ssh sammy@your_server_ip

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

  1. sudo command_to_run

Вам будет предложено ввести пароль обычного пользователя при первом использовании sudo в каждом сеансе (и периодически после этого).

Чтобы повысить безопасность вашего сервера, мы настоятельно рекомендуем настроить ключи SSH вместо аутентификации по паролю. Следуйте нашему руководству по настройке ключей SSH в Ubuntu 18.04, чтобы узнать, как настроить аутентификацию на основе ключей.

Если корневая учетная запись использует аутентификацию по ключу SSH

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

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

Самый простой способ скопировать файлы с правильным владельцем и разрешениями — использовать команду rsync. Это скопирует каталог .ssh пользователя root, сохранит разрешения и изменит владельцев файлов — и все это одной командой. Обязательно измените выделенные части следующей команды, чтобы они соответствовали имени вашего обычного пользователя:

Примечание. Команда rsync обрабатывает источники и адресаты, заканчивающиеся косой чертой, иначе, чем без косой черты. При использовании rsync ниже убедитесь, что исходный каталог (~/.ssh) не содержит косой черты в конце (проверьте, не используете ли вы ~ /.ssh/).

Если вы случайно добавите косую черту в конце команды, rsync скопирует содержимое каталога ~/.ssh корневой учетной записи в sudo домашний каталог пользователя вместо копирования всей структуры каталогов ~/.ssh. Файлы будут находиться в неправильном месте, и SSH не сможет их найти и использовать.

  1. rsync --archive --chown=sammy:sammy ~/.ssh /home/sammy

Теперь откройте новый сеанс терминала и попробуйте войти под своим новым именем пользователя:

  1. ssh sammy@your_server_ip

Вы должны иметь возможность войти в новую учетную запись пользователя без запроса пароля SSH удаленного пользователя для аутентификации. Если для вашего SSH-ключа была задана ключевая фраза, вас могут попросить разблокировать SSH-ключ, указав этот пароль при первом использовании ключа в сеансе терминала.

Помните, если вам нужно запустить команду с правами администратора, введите sudo перед ней, например:

  1. sudo command_to_run

Вам будет предложено ввести пароль обычного пользователя при первом использовании sudo в каждом сеансе (и периодически после этого).

Куда пойти отсюда?

На данный момент у вас есть прочная основа для вашего сервера. Теперь вы можете установить любое необходимое вам программное обеспечение на свой сервер.

Если вы хотите лучше познакомиться с командами Linux, вы можете посетить нашу страницу тегов Ubuntu 18.04, чтобы найти дополнительные руководства, основанные на этом дистрибутиве.