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

Первоначальная настройка сервера с Ubuntu 14.04


Введение

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

Шаг первый — Root-вход

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

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

  1. ssh root@SERVER_IP_ADDRESS

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

О корне

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

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

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

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

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

  1. adduser demo

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

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

Шаг третий — права root

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

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

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

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

  1. gpasswd -a demo sudo

Теперь ваш пользователь может запускать команды с привилегиями суперпользователя! Для получения дополнительной информации о том, как это работает, ознакомьтесь с этим руководством по sudoers.

Шаг четвертый — добавьте аутентификацию с открытым ключом (рекомендуется)

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

Создать пару ключей

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

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

  1. 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):

Нажмите «Возврат», чтобы принять это имя файла и путь (или введите новое имя).

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

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

Это создает закрытый ключ, id_rsa, и открытый ключ, id_rsa.pub, в каталоге .ssh localuser Домашний каталог . Помните, что закрытый ключ не должен передаваться никому, кто не должен иметь доступ к вашим серверам!

Скопируйте открытый ключ

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

Примечание. Метод ssh-copy-id не будет работать в DigitalOcean, если во время создания капли был выбран ключ SSH. Это связано с тем, что DigitalOcean отключает аутентификацию по паролю, если присутствует ключ SSH, а ssh-copy-id использует аутентификацию по паролю для копирования ключа.

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

Вариант 1. Используйте ssh-copy-id

Если на вашем локальном компьютере установлен скрипт ssh-copy-id, вы можете использовать его для установки открытого ключа любому пользователю, для которого у вас есть учетные данные для входа.

Запустите скрипт ssh-copy-id, указав пользователя и IP-адрес сервера, на который вы хотите установить ключ, например:

  1. ssh-copy-id demo@SERVER_IP_ADDRESS

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

Вариант 2. Установка ключа вручную

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

  1. cat ~/.ssh/id_rsa.pub

Это должно напечатать ваш открытый SSH-ключ, который должен выглядеть примерно так:

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

Выберите открытый ключ и скопируйте его в буфер обмена.

Добавить открытый ключ для нового удаленного пользователя

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

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

  1. su - demo

Теперь вы окажетесь в домашнем каталоге вашего нового пользователя.

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

  1. mkdir .ssh
  2. chmod 700 .ssh

Теперь откройте в текстовом редакторе файл .ssh с именем authorized_keys. Мы будем использовать nano для редактирования файла:

  1. nano .ssh/authorized_keys

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

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

Теперь ограничьте права доступа к файлу authorized_keys с помощью этой команды:

  1. chmod 600 .ssh/authorized_keys

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

  1. exit

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

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

Шаг пятый — настройте демон SSH

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

Начните с открытия файла конфигурации в текстовом редакторе с правами root:

  1. nano /etc/ssh/sshd_config

Далее нам нужно найти строку, которая выглядит так:

PermitRootLogin yes

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

Измените эту строку на «нет», чтобы отключить вход в систему root:

PermitRootLogin no

Отключение удаленного входа в систему root настоятельно рекомендуется на каждом сервере!

Когда вы закончите вносить изменения, сохраните и закройте файл, используя метод, который мы рассмотрели ранее (CTRL-X, затем Y, затем ENTER ). ).

Шаг шестой — перезагрузите SSH

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

Введите это, чтобы перезапустить SSH:

  1. service ssh restart

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

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

Для сервера, который мы показали вам, как настроить выше, вы должны подключиться с помощью этой команды. Замените свое собственное имя пользователя и IP-адрес сервера, если это необходимо:

  1. ssh demo@SERVER_IP_ADDRESS

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

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

Помните, если вам нужно запустить команду с привилегиями суперпользователя, введите «sudo» перед ней следующим образом:

  1. sudo command_to_run

Если все в порядке, вы можете выйти из сеанса, набрав:

  1. exit

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

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

Если вы не уверены, что хотите делать со своим сервером, ознакомьтесь со следующим руководством из этой серии, чтобы узнать, как включить fail2ban для снижения эффективности атак методом грубой силы.

Если вы просто хотите исследовать, взгляните на остальную часть нашего стека LEMP, который