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

Свежий сервер Debian 8 нуждается в предварительной настройке. Это повысит безопасность, производительность и практичность сервера, а также создаст надёжную основу для дальнейшей работы.

1: Root-логин

Чтобы войти на сервер, используйте внешний IP-адрес и пароль root-пользователя.

Чтобы войти на сервер как пользователь root, используйте следующую команду, заменив фразу SERVER_IP_ADDRESS своим внешним IP-адресом:

ssh root@SERVER_IP_ADDRESS

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

Что такое root?

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

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

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

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

Для этого используйте следующую команду, заменив условное имя (demo) своим именем пользователя.

adduser demo

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

3: Права root

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

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

Установка sudo

Debian 8 не поставляется с предустановленной командой sudo, потому её нужно установить при помощи стандартного менеджера пакетов apt-get.

Обновите список пакетов:

apt-get update

Затем используйте эту команду для установки sudo:

apt-get install sudo

Как передать права sudo

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

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

usermod -a -G sudo demo

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

4: Авторизация на основе SSH-ключей

Настройка авторизации основе SSH-ключей может значительно повысить безопасность сервера, поскольку SSH-ключ практически невозможно взломать.

Создание SSH-ключей

Если у вас еще нет пары SSH-ключей, создайте их сейчас. Если SSH-ключи были созданы ранее, переходите к следующему подразделу.

Итак, чтобы сгенерировать пару ключей, введите следующую команду в терминал на локальной машине (т.е., на компьютере):

ssh-keygen

На экране появится такой вывод (в примере используется условное имя пользователя localuser):

ssh-keygen output
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/localuser/.ssh/id_rsa):

Нажмите return, чтобы принять это имя файла и путь или введите новое имя. Затем будет запрошена парольная фраза для защиты ключа. Её устанавливать необязательно.

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

Эта команда создаст закрытый (id_rsa) и открытый ключ (id_rsa.pub) в каталоге .ssh домашнего каталога пользователя.

Примечание: Закрытый ключ следует хранить в секрете.

Копирование открытого ключа

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

Если ключи созданы согласно инструкциям предыдущего раздела, используйте для этого следующую команду в терминале на локальной машине (id_rsa.pub):

cat ~/.ssh/id_rsa.pub

Это выведет открытый ключ на экран; вывод имеет примерно такой вид:

id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBGTO0tsVejssuaYR5R3Y/i73SppJAhme1dH7W2c47d4gOqB4izP0+fRLfvbz/tnXFz4iOP/H6eCV05hqUhF+KYRxt9Y8tVMrpDZR2l75o6+xSbUOMu6xN+uVF0T9XzKcxmzTmnV7Na5up3QM3DoSRYX/EP3utr2+zAqpJIfKPLdA74w7g56oYWI9blpnpzxkEd3edVJOivUkpZ4JoenWManvIaSdMTJXMy3MtlQhva+j9CgguyVbUkdzK9KKEuah+pFZvaugtebsU+bllPTB0nlXGIJk98Ie9ZtxuY3nCKneB+KjKiXrAvXUPCI9mWkYS/1rggpFmu3HbXBnWSUdf localuser@machine.local

Скопируйте ключ в буфер обмена.

Передача ключа удалённому пользователю

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

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

su - demo

Итак, теперь вы находитесь в домашнем каталоге нового пользователя.

Создайте новый каталог .ssh и ограничьте доступ к нему:

mkdir .ssh
chmod 700 .ssh

Теперь откройте в каталоге .ssh файл authorized_keys:

nano .ssh/authorized_keys

В этот файл вставьте открытый ключ. Нажмите CTRL-X и Y, чтобы сохранить и закрыть файл, а затем ENTER, чтобы подтвердить имя файла.

Ограничьте доступ к этому файлу:

chmod 600 .ssh/authorized_keys

Затем введите эту команду, чтобы вернуться к пользователю root:

exit

Теперь новый пользователь может входить в систему при помощи SSH-ключей.

5: Настройка SSH

Измените настройки SSH, чтобы повысить безопасность сервера.

Откройте конфигурационный файл в редакторе как пользователь root:

nano /etc/ssh/sshd_config

Изменение порта SSH (опционально)

Для начала рекомендуется изменить стандартный порт SSH. Найдите в файле следующую строку:

sshd_config — Original Port
Port 22

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

Изменив порт SSH, запомните новый порт, поскольку он понадобится в дальнейшем. Для примера в данном руководстве используется порт 4444 (выберите любой удобный порт). То есть, теперь при входе в систему нужно указывать этот нестандартный порт.

sshd_config — Updated Port
Port 4444

Отключение root-логина

Теперь нужно найти следующую строку:

sshd_config — Original PermitRootLogin
PermitRootLogin yes

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

Отредактируйте значение этой директивы, заменив его на no:

sshd_config — Updated PermitRootLogin
PermitRootLogin no

Примечание: Отключение удалённого root-логина – рекомендованная мера предосторожности для каждого сервера.

Внеся все необходимые изменения, сохраните и закройте файл, нажав CTRL-X, Y, а затем ENTER.

6: Перезапуск SSH

После внесения всех изменений в настройки нужно перезапустить сервис SSH.

Для этого используйте команду:

systemctl restart ssh

Прежде чем отключиться от сервера, необходимо протестировать настройки.

Откройте новый терминал. В этом окне попробуйте создать новое подключение к серверу. На этот раз вместо root используйте для входа учётную запись нового пользователя.

Если стандартный порт SSH был изменен, нужно сообщить об этом клиенту. Для этого используется синтаксис:

-p 4444

Замените 4444 выбранным ранее номером порта.

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

ssh -p 4444 demo@SERVER_IP_ADDRESS

Примечание: При подключении через PuTTY не забудьте обновить номер порта сессии.

Будет запрошен пароль нового пользователя. Чтобы запустить команду с привилегиями администратора, просто начните её с команды sudo.

sudo command_to_run

Если всё работает должным образом, введите:

exit

Готово! Начальная настройка сервера Debian 8 завершена.

Tags: , ,

2 комментария

Добавить комментарий для Ирина Отменить ответ