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

4957

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

Введение

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

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

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

Шаг 1 — Вход в систему под именем Root

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

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

$ ssh root@your_server_ip

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

О пользователе Root

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

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

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

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

В этом примере показан процесс создания нового пользователя под именем sammy, которое следует заменить на желаемое имя пользователя:

# adduser sammy

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

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

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

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

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

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

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

# usermod -aG sudo sammy

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

Шаг 4 — Установка простого брандмауэра

Серверы Ubuntu 18.04 могут использовать брандмауэр UFW, чтобы обеспечить возможность подключения только к определенным сервисам. Мы можем легко установить простой брандмауэр с помощью данного приложения.

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

Вы можете проверить это, набрав:

# ufw app list
Output
Available applications:
OpenSSH

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

# ufw allow OpenSSH

Затем мы можем активировать брандмауэр путем ввода:

# ufw enable

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

# ufw status
Output
Status: active

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

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

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

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

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

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

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

$ ssh sammy@your_server_ip

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

$ sudo command_to_run

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

Для повышения безопасности вашего сервера ** мы настоятельно рекомендуем установить SSH-ключи вместо использования аутентификации по паролю**

Если учетная запись Root использует аутентификацию с помощью SSH-ключей

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

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

Самым простым способом копирования файлов с правильными правами и полномочиями является использование команды rsync. Данная команда позволяет копировать каталог .ssh пользователя root, сохранять полномочия и изменять владельцев файлов. Измените выделенные части указанной ниже команды с учетом имени обычного пользователя:

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

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

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

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

$ ssh sammy@your_server_ip

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

$ sudo command_to_run

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

Что дальше?

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

источник