Настройка Ubuntu Server

Введение
После того, как вы установили Ubuntu Server 16.04 LTS, необходимо сделать несколько простых шагов для первоначальной настройки. Это сделает дальнейшую работу на сервере более удобной, а так же сделает сервер более безопасным.

Подключение от имени root
Первым делом, вам нужно подключиться к серверу по SSH от имени root.
Откройте терминал и выполните команду:

$ ssh root@server_ip

При успешном подключении вы увидите приветствие и краткие сведения о системе.

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

# adduser joe

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

# adduser joe sudo

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

# su - joe

Генерация SSH ключа
На данном этапе вам нужно будет сгенерировать SSH ключ. Ключ состоит из 2 файлов: приватный, который находится на вашей машине и публичный, который будет нужно загрузить на сервер.
Если SSH ключа у вас нет – вам необходимо его сгенерировать. В ином случае – пропустите этот шаг и переходите к следующему.
И так, вам необходимо сгенерировать SSH ключ. Для этого выполните следующую команду (заменив joe@example.com на ваш email):

$ ssh-keygen -t rsa -b 4096 -C "joe@example.com"

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

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

Вариант 1: Используя ssh-copy-id
На локальной машине выполните следующую команду:

$ ssh-copy-id joe@server_ip

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

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

$ mkdir ~/.ssh
$ chmod go-rx ~/.ssh

2. Внутри каталога .ssh создайте файл authorized_keys. Например, используя редактор nano:

$ nano ~/.ssh/authorized_keys

Вставьте в него содержимое публичного ключа.
Нажмите CTRL-x для того, чтобы выйти из редактора, затем y, чтобы сохранить изменения, затем ENTER для подтверждения.
Далее установите необходимы права на файл, чтобы доступ к файлу с ключами был только у его владельца. Для этого выполните следующую команду:

$ chmod go-r ~/.ssh/authorized_keys

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

Настройка SSH сервера
На данном этапе необходимо выполнить несколько изменений в конфигурации SSH сервера, которые сделают его более безопасным.
Для этого откройте файл /etc/ssh/sshd_config:

$ sudo nano /etc/ssh/sshd_config

1. Изменение стандартного порта.
Первым делом, измените стандартный порт. Чтобы боты не пытались подключиться к вашему серверу и не засоряли тем самым лог.
Для этого измените значение Port на что-нибудь нестандартное, например:

Port 2222

2. Запрещение удаленного доступа для root.
Так как для работы на сервере вы будете использовать учетную запись обычного пользователя, то подключаться к серверу через SSH от имени root необходимости нет.
Выставите значение для PermitRootLogin в no.

PermitRootLogin no

3. Отключение парольной аутентификации.
Так как при использовании SSH ключей у вас нет необходимости в аутентификации по паролям – отключите ее.
Выставите значения для PasswordAuthentication в no.

PasswordAuthentication no

Так же убедитесь в том, что ваш сервер использует 2 версию протокола.

Protocol 2

После всех изменений сохраните файл и перезагрузите настройки SSH сервера, чтобы изменения вступили в силу.

$ sudo systemctl reload ssh.service

Если все сделано верно, то при попытке подключиться на стандартный порт 22 вы увидите следующую ошибку:

ssh: connect to host server_ip port 22: Connection refused

А при попытке подключится от имени root (уже на новый порт):

Permission denied (publickey).

Чтобы подключаться к серверу, используя нестандартный порт – укажите номер порта в параметре -p.

$ ssh joe@server_ip -p 2222

Настройка Firewall
UFW (Uncomplicated Firewall) – простой файрволл, который представляет из себя утилиту для более удобного управления iptables.
Если в вашей системе его нет, то установите его командой:

$ sudo apt install ufw

Для начала проверьте статус файрволла:

$ sudo ufw status

Статус должен быть inactive.

Внимание: не активируйте файрволл до того, как укажете необходимые правила. Иначе вы рискуете потерять доступ к серверу.

Настройте правила таким образом, чтобы по умолчанию были запрещены все входящие запросы. Для этого выполните:

$ sudo ufw default deny incoming

А так же разрешите все исходящие:

$ sudo ufw default allow outgoing

Добавьте новое правило, чтобы были разрешены входящие запросы на SSH порт (в нашем случае 2222).

$ sudo ufw allow 2222/tcp

Далее включите файрволл командой:

$ sudo ufw enable

Проверить статус файрволла и его правил можно командой:

$ sudo ufw status

Для более подробной информации нужно использовать команду:

$ sudo ufw status verbose

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

Настройка Ubuntu Server: 1 комментарий

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *