Реклама ООО Таймвэб
Реклама ООО Таймвэб
Реклама ООО Таймвэб

Настройка VDS на Ubuntu 14.04. Часть 2. Первичная настройка ОС

1 комментарий

Мы продолжаем цикл статей о настройке VDS с операционной системой Ubuntu 14.04
Первая часть нашего цикла, напомним, описывает подготовку к работе с сервером: установку необходимого ПО для подключения по SSH, установление удаленного SSH-соединения с VDS, создание RSA-ключей на локальном компьютере (сегодня мы как раз расскажем о том, как скопировать созданные ключи на Ваш сервер). 
Эта статья будет посвящена основным действиям, которые потребуется произвести на сервере сразу после установки операционной системы для обеспечения безопасности сервера и последующей комфортной настройки. 

ПРИМЕЧАНИЕ. Прежде чем мы приступим к дальнейшей работе, обратите внимание на следующие моменты:
1) Знаки # или $, которые Вы можете встретить в начале строки с той или иной командой, не являются частью самой команды, вводить их не нужно. Эти знаки используются для обозначения, выполняется ли команда от имени суперпользователя - root (#), или от имени дополнительного пользователя ($). Дополнительного пользователя мы создадим немного позднее.
2) Путь в строке консоли отображается примерно следующим образом:
user@myserver:~$
user - Ваше имя пользователя;
после @ - имя хоста (сервера);
после двоеточия - текущий адрес (например, ~ - домашняя директория пользователя);
$ или # - знак привилегий (пользователь или суперпользователь).

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

# apt-get update && sudo apt-get upgrade -y

После обновления дистрибутива рекомендуем Вам установить нужный часовой пояс (например, Europe/Moscow) и настроить автоматическую синхронизацию времени на сервере (NTP). Для этого введите следующие команды:

# dpkg-reconfigure tzdata
# apt-get install ntp
ОБРАТИТЕ ВНИМАНИЕ!  Если Вы решили установить панель управления сервером, пропустите указанные ниже действия, чтобы избежать конфликта при установке панели. Установку панели управления сервером рекомендуется выполнять на “чистую” ненастроенную операционную систему. 

В связи с особенностями устройства операционной системы Linux, работа от суперпользователя root не рекомендуется, так как при ошибке в команде могут произойти необратимые повреждения файлов и системы. Поэтому мы настоятельно рекомендуем Вам создать дополнительного пользователя-администратора VDS, например, admin (Вы можете указать любое другое имя пользователя, в командах ниже мы будем использовать admin для примера).
Для этого необходимо выполнить следующее:

1) Создать новую группу:

# groupadd admin

2) Добавить пользователя, предоставив ему возможность выполнять действия от root:

# useradd -g admin -G sudo -s /bin/bash -m admin

3) Установить пользователю пароль:

# passwd admin

После выполнения данных процедур необходимо проверить работу пользователя.
Для этого рекомендуем Вам выполнить вход на сервер от имени пользователя-администратора:

в Linux и MacOS: выполните в терминале команду, указав вместо admin имя созданного пользователя, а вместо server-host - IP-адрес Вашего сервера.

ssh admin@server-host

В Windows: соединитесь с сервером, используя PuTTY, и при запросе логина в консоли login as - укажите имя созданного пользователя.

После установления соединения выполните команду смены пользователя на root:

sudo su

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

Далее отключаем дистанционный доступ для суперпользователя в файле /etc/ssh/sshd_config, открыв файл командой:

sudo nano /etc/ssh/sshd_config

В файле необходимо найти строку PermitRootLogin и заменить ее текущее значение на: PermitRootLogin no

Перезапускаем службу SSH:

sudo service ssh restart

Копирование RSA-ключей на сервер

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

Копирование ключей из операционных систем Linux и MacOS

Выполните команду:

ssh-copy-id admin@server-host

указав вместо admin Ваше имя пользователя, а вместо server-host - IP-адрес Вашего сервера.

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

ssh admin@server-host

Копирование ключей из операционной системы Windows

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

mkdir ~/.ssh
chmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 0644 ~/.ssh/authorized_keys

Откройте созданный файл с помощью текстового редактора:

nano ~/.ssh/authorized_keys

Вставьте в него скопированный ранее текст public key из окна PuTTYgen и сохраните файл.

Теперь нам потребуется утилита pageant, которую можно скачать с сайта PuTTY.
Запустите pageant - его иконка появится в трее. Щелкните по ней правой кнопкой мыши и выберите Add Key. В открывшемся окне укажите путь к приватному ключу mykey.ppk, сохраненному ранее, и нажмите Open. (Если при создании ключа Вы указывали кодовую фразу, pageant запросит ее на данном этапе.)

Готово. Для проверки работы авторизации по ключу снова запустите утилиту PuTTY и подключитесь по SSH к Вашему серверу. Если все настроено корректно, Вы увидите подобный вывод в окне консоли:

Authenticating with public key "rsa-key-20151220" from agent
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться

Защита сервера от атак

Для защиты VDS или VPS сервера от атак, нацеленных на получение доступа к серверу методом перебора пароля, рекомендуем Вам установить приложение fail2ban.

Для установки fail2ban выполните следующую команду:

sudo apt-get install -y fail2ban

В целом дополнительная настройка необязательна - согласно параметрам, установленным по умолчанию, программа будет блокировать на 10 минут IP-адреса, с которых осуществлено 6 неудачных попыток входа.

Просмотреть настройки Вы можете в файле /etc/fail2ban/jail.conf. Если Вы решите вносить какие-либо изменения, необходимо создать дублирующий файл с настройками - jail.local. Сделать это можно следующей командой:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Внести изменения можно через текстовый редактор:

sudo nano /etc/fail2ban/jail.local

После внесения правок перезапустите приложение:

sudo service fail2ban restart

Дополнительную информацию о настройке fail2ban можно найти, например, здесь: http://help.ubuntu.ru/wiki/fail2ban

Однако перебор паролей - только один из вариантов возможных атак на Ваш сервер. Для фильтрации запросов и защиты сервера рекомендуем Вам использовать firewall. Наиболее часто используемым в Ubuntu является UFW.
Установить его можно при помощи следующей команды:

sudo apt-get install ufw

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

sudo ufw allow ssh

После этого Вы можете включить его:

sudo ufw enable

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

sudo ufw disable

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

Запрет входящих соединений выполняется командой:

sudo ufw default deny incoming

Разрешить все исходящие соединения:

sudo ufw default allow outgoing

Включить логи (журналирование) можно следующей командой:

sudo ufw logging on

Проверить статус сетевой защиты:

sudo ufw status

Отображение более подробной информации о статусе:

sudo ufw status verbose

Открыть порт (например, 22):

sudo ufw allow 22

Закрыть порт:

sudo ufw deny 22

Удалить существующее правило (на примере правила выше):

sudo ufw delete deny 22

Открыть определенный порт для определенного IP:

sudo ufw allow from <ip address> to <protocol> port <port number>

Сбросить все установленные правила:

sudo ufw reset

Открыть доступ для определенного IP:

sudo ufw allow from <ip address>

Коротко дополнительная информация о UFW представлена в соответствующем разделе справки Ubuntu; также рекомендуем Вам обратиться к мануалу приложения для более подробного изучения команд и алгоритмов. Для этого выполните команду:

man ufw

Для упрощения работы (после аренды виртуального сервера) рекомендуем Вам также установить следующие приложения:

  • wget и curl - позволяют скачивать файлы из командной строки, выполнять запросы и посылать информацию;
  • git - система управления версиями. Часть бесплатного программного обеспечения доступна через него;
  • mc - псевдографический файловый менеджер с широким функционалом (например, FTP-клиентом);
  • unzip и unrar - распаковка архивов.   

Установить любое из приложений можно следующим образом:

sudo apt-get install -y имя_пакета

Рекомендуем Вам подробнее изучить информацию в различных источниках в Сети об упоминавшихся утилитах - это позволит Вам увереннее себя чувствовать при работе с тем или иным приложением и яснее понимать особенности его функционирования.

На этом мы завершаем очередную часть нашего цикла, призванную помочь Вам осуществить множество полезных действий на сервере, а именно:

  • скопировать RSA-ключи на сервер и начать безопасно авторизовываться на сервере по ключу;
  • обновить дистрибутив и произвести настройки времени на сервере;
  • создать пользователя-администратора, от чьего имени будет производиться работа на VDS;
  • обезопасить сервер от атак, установив fail2ban и файрвол UFW;
  • установить дополнительные приложения для последующей удобной работы с сервером.

Если у Вас возникли какие-либо вопросы, мы будем рады Вам помочь.

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

 

echo -e "Все про серверы, сети, хостинг и еще раз серверы" >/dev/pts/0

Комментарии

Иван Попелышев +3
29 марта в 2016
В putty в connection->SSH->Auth можно прописать ключ и включить forwarding, не обязательно использовать pageant.
С помощью соцсетей
У меня нет аккаунта Зарегистрироваться
С помощью соцсетей
У меня уже есть аккаунт Войти
Инструкции по восстановлению пароля высланы на Ваш адрес электронной почты.
Пожалуйста, укажите email вашего аккаунта
Ваш баланс 10 ТК
1 ТК = 1 ₽
О том, как заработать и потратить Таймкарму, читайте в этой статье
Чтобы потратить Таймкарму, зарегистрируйтесь на нашем сайте