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

Первоначальная настройка сервера с Rocky Linux 9


Введение

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

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

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

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

  1. ssh root@your_server_ip

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

О корне

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

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

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

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

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

  1. adduser sammy

Затем установите надежный пароль для пользователя sammy:

  1. passwd sammy

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

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

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

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

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

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

  1. usermod -aG wheel sammy

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

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

Брандмауэры обеспечивают базовый уровень безопасности для вашего сервера. Эти приложения несут ответственность за запрет трафика на каждый порт на вашем сервере, за исключением тех портов/служб, которые вы явно одобрили. В Rocky Linux есть служба под названием firewalld для выполнения этой функции. Инструмент под названием firewall-cmd используется для настройки политик firewalld брандмауэра.

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

Сначала установите firewalld:

  1. dnf install firewalld -y

Конфигурация firewalld по умолчанию разрешает подключения ssh, поэтому вы можете немедленно включить брандмауэр:

  1. systemctl start firewalld

Проверьте статус службы, чтобы убедиться, что она запущена:

  1. systemctl status firewalld
Output
● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2022-09-13 18:26:19 UTC; 1 day 2h ago Docs: man:firewalld(1) Main PID: 15060 (firewalld) Tasks: 4 (limit: 10938) Memory: 28.1M CPU: 6.127s CGroup: /system.slice/firewalld.service └─15060 /usr/bin/python3 -s /usr/sbin/firewalld --nofork --nopid

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

Теперь, когда служба запущена и работает, вы можете использовать утилиту firewall-cmd для получения и установки информации о политике для брандмауэра.

Сначала давайте перечислим, какие сервисы уже разрешены:

  1. firewall-cmd --permanent --list-all
Output
public (active) target: default icmp-block-inversion: no interfaces: eth0 eth1 sources: services: cockpit dhcpv6-client ssh ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:

Чтобы просмотреть дополнительные службы, которые можно включить по имени, введите:

  1. firewall-cmd --get-services

Чтобы добавить службу, которая должна быть разрешена, используйте флаг --add-service:

  1. firewall-cmd --permanent --add-service=http

Это добавит службу http и разрешит входящий TCP-трафик на порт 80. Конфигурация обновится после перезагрузки брандмауэра:

  1. firewall-cmd --reload

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

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

Теперь, когда у вас есть обычный пользователь без полномочий root для повседневного использования, вам нужно убедиться, что вы можете использовать его для 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 в Rocky Linux 9, чтобы узнать, как настроить аутентификацию на основе ключей.

Если корневая учетная запись использует аутентификацию по ключу 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

Теперь, вернувшись в новый терминал на вашем локальном компьютере, откройте новый сеанс SSH с пользователем без полномочий root:

  1. ssh sammy@your_server_ip

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

  1. sudo command_to_run

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

Заключение

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