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

Вступление

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

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

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

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

ssh root@

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

О корне

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

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

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

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

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

adduser

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

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

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

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

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

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

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

usermod -aG sudo

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

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

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

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

apt update
apt install ufw

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

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

ufw app list
OutputAvailable applications:
 . . .
 OpenSSH
 . . .

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

ufw allow OpenSSH

После этого мы можем включить брандмауэр, набрав:

ufw enable

Введите «+ a » и нажмите « ENTER» для продолжения. Вы можете увидеть, что SSH-соединения все еще разрешены, набрав:

ufw status
OutputStatus: active

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

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

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

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

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

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

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

ssh @

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

sudo

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

Для повышения безопасности вашего сервера * мы настоятельно рекомендуем устанавливать ключи SSH вместо использования аутентификации по паролю *. Следуйте нашему руководству по setting up SSH-ключей в Debian 9, чтобы узнать, как настроить ключ аутентификация

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

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

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

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

cp -r ~/.ssh /home/
chown -R : /home//.ssh

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

ssh @

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

sudo

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

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

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

Установка man-страниц

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

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

sudo apt install man-db

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

man

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

man top

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

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

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

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

sudo apt install

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

sudo update-alternatives --config editor

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

OutputThere 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 +:

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

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

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

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