Введение
При развертывании нового сервера на 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).
Выберите нужные инструменты и продолжайте развивать ваш сервер под свои задачи! 🚀