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

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


Введение

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

Шаг первый — вход в систему как root

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

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

  1. ssh root@your_server_ip

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

О корне

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

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

Шаг второй — создание нового пользователя

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

Примечание. В некоторых средах пакет с именем unscd может быть установлен по умолчанию, чтобы ускорить запросы к серверам имен, таким как LDAP. Самая последняя версия, доступная в настоящее время в Debian, содержит ошибку, из-за которой некоторые команды (например, команда adduser ниже) создают дополнительный вывод, который выглядит следующим образом:

sent invalidate(passwd) request, exiting
sent invalidate(group) request, exiting

Эти сообщения безвредны, но если вы хотите их избежать, безопасно удалить пакет unscd, если вы не планируете использовать такие системы, как LDAP, для получения информации о пользователях:

  1. apt remove unscd

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

  1. adduser sammy

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

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

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

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

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

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

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

  1. usermod -aG sudo sammy

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

Шаг четвертый — настройка базового брандмауэра

Серверы Debian могут использовать брандмауэры, чтобы разрешить подключение только к определенным службам. Хотя брандмауэр iptables установлен по умолчанию, Debian настоятельно не рекомендует какой-либо конкретный брандмауэр. В этом руководстве мы установим и будем использовать брандмауэр UFW, чтобы устанавливать политики и управлять исключениями.

Мы можем использовать менеджер пакетов apt для установки UFW. Обновите локальный индекс, чтобы получить последнюю информацию о доступных пакетах, а затем установите брандмауэр, набрав:

  1. apt update
  2. apt install ufw

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

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

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

  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.

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

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

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

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

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

Обязательно измените выделенные части команды ниже, чтобы они соответствовали имени вашего обычного пользователя:

  1. cp -r ~/.ssh /home/sammy
  2. chown -R sammy:sammy /home/sammy/.ssh

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

  1. ssh sammy@your_server_ip

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

  1. sudo command_to_run

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

Шаг шестой — завершение дополнительной настройки

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

Установка справочных страниц

Debian предоставляет обширные руководства для большинства программ в виде man страниц. Однако команда man не всегда включается по умолчанию в минимальных установках.

Установите пакет man-db, чтобы установить команду man и ручные базы данных:

  1. sudo apt install man-db

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

  1. man command

Например, чтобы просмотреть руководство по команде top, введите:

  1. man top

Большинство пакетов в репозиториях Debian содержат справочные страницы как часть их установки.

Изменение редактора по умолчанию

Debian предлагает широкий выбор текстовых редакторов, некоторые из которых включены в базовую систему. Команды со встроенной поддержкой редактора, такие как visudo и systemctl edit, передают текст команде editor, которая сопоставляется с системным редактором по умолчанию. Настройка редактора по умолчанию в соответствии с вашими предпочтениями поможет вам упростить настройку системы и избежать разочарований.

Если предпочитаемый вами редактор не установлен по умолчанию, сначала установите его с помощью apt:

  1. sudo apt install your_preferred_editor

Затем вы можете просмотреть текущее значение по умолчанию и изменить выбор с помощью команды update-alternatives:

  1. sudo update-alternatives --config editor

Команда отображает таблицу известных ей редакторов с предложением изменить значение по умолчанию:

Output
There are 8 choices for the alternative editor (providing /usr/bin/editor). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/bin/joe 70 auto mode 1 /bin/nano 40 manual mode 2 /usr/bin/jmacs 50 manual mode 3 /usr/bin/joe 70 manual mode 4 /usr/bin/jpico 50 manual mode 5 /usr/bin/jstar 50 manual mode 6 /usr/bin/rjoe 25 manual mode 7 /usr/bin/vim.basic 30 manual mode 8 /usr/bin/vim.tiny 15 manual mode Press <enter> to keep the current choice[*], or type selection number:

Звездочка в крайнем левом столбце указывает на текущий выбор. Чтобы изменить значение по умолчанию, введите номер \Selection для предпочитаемого вами редактора и нажмите Enter. Например, чтобы использовать nano в качестве редактора по умолчанию с учетом приведенной выше таблицы, мы выберет 1:

Output
Press <enter> to keep the current choice[*], or type selection number: 1 update-alternatives: using /bin/nano to provide /usr/bin/editor (editor) in manual mode

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

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

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