Найти в Дзене
Code404

Начальная настройка сервера на примере Ubuntu 20.04

При развертывании нового сервера на Ubuntu 20.04 важно провести начальную настройку, чтобы обеспечить его безопасность, стабильность и удобство управления. В этот процесс входят ключевые шаги, такие как настройка учетных записей, базовые меры защиты и оптимизация рабочих параметров. Эти действия создадут надежную основу для дальнейшей работы с сервером. Для начала работы с сервером вам потребуется его публичный IP-адрес, а также учетные данные для аутентификации. В зависимости от настроек, это может быть пароль root или приватный ключ SSH. Если вы еще не подключились к серверу, выполните вход под учетной записью root, используя следующую команду (замените your_server_ip на фактический IP-адрес вашего сервера): ssh root@your_server_ip При первом подключении система может вывести предупреждение об аутентичности хоста — примите его, чтобы продолжить. Далее возможны несколько вариантов: Этот этап необходим для дальнейшей настройки сервера и обеспечения его безопасности. root — это суперпол
Оглавление

Введение

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

Шаг 1 — Подключение к серверу с правами root

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

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

ssh root@your_server_ip

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

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

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

Что такое root?

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

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

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

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

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

Для создания нового пользователя выполните следующую команду (замените sammy на желаемое имя пользователя):

adduser sammy

Система попросит вас задать пароль для нового пользователя. Введите надежный пароль и подтвердите его.

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

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

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

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

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

Чтобы предоставить пользователю административные привилегии, выполните следующую команду (замените sammy на имя вашего пользователя):

usermod -aG sudo sammy

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

sudo apt update

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

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

Для защиты сервера от несанкционированного доступа рекомендуется настроить брандмауэр. В Ubuntu 20.04 используется UFW (Uncomplicated Firewall), который позволяет контролировать входящие соединения и разрешать доступ только к определенным сервисам.

1. Проверка доступных профилей в UFW

Некоторые приложения автоматически регистрируют свои профили в UFW, что позволяет управлять их доступом по имени. Например, OpenSSH — сервис, который используется для подключения к серверу — уже зарегистрирован. Чтобы просмотреть доступные профили, выполните команду:

ufw app list

Вывод может выглядеть так:

Available applications:
OpenSSH

2. Разрешение SSH-подключений

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

ufw allow OpenSSH

3. Включение брандмауэра

Теперь можно активировать UFW:

ufw enable

Система запросит подтверждение. Введите y и нажмите ENTER.

4. Проверка текущего состояния UFW

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

ufw status

Пример вывода:

Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)

Теперь брандмауэр блокирует все входящие соединения, кроме SSH. Если в будущем вы установите дополнительные сервисы (например, веб-сервер или базу данных), вам потребуется вручную разрешить доступ к ним в UFW.

Шаг 5 — Активация SSH-доступа для нового пользователя

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

Настройка SSH-доступа для нового пользователя зависит от метода аутентификации root-пользователя на сервере:

1. Если root-пользователь входил по паролю, новый пользователь может подключаться по SSH с таким же методом. Попробуйте выполнить команду с локального компьютера (замените sammy на имя вашего пользователя и your_server_ip на IP-адрес сервера):

ssh sammy@your_server_ip

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

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

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

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

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

sudo whoami

Если команда возвращает sammy, значит, все настроено правильно, и новый пользователь может выполнять административные команды при необходимости.

Что дальше?

Поздравляем! Вы успешно выполнили базовую настройку сервера Ubuntu 20.04, повысив его безопасность и удобство работы. Теперь у вас есть:

Созданный стандартный пользователь для повседневных задач.
Настроенные административные права через sudo для выполнения привилегированных команд.
Активированный брандмауэр UFW, защищающий сервер от несанкционированного доступа.
Настроенный SSH-доступ для безопасного подключения.

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

  • Настройка веб-сервера (Nginx или Apache).
  • Установка базы данных (MySQL, PostgreSQL).
  • Развертывание контейнеризации (Docker, Kubernetes).
  • Настройка среды разработки (Python, Node.js, PHP).

Выберите нужные инструменты и продолжайте развивать ваш сервер под свои задачи! 🚀