В этом туториале описан процесс создания и подключения к виртуальной машине (ВМ), на примере ВМ с операционной системой (ОС) Debian 11.
Создание виртуальной машины
Для создания ВМ необходимо перейти в раздел Облачные сервера -> Виртуальные Машины -> Создать Виртуальную Машину.
На странице создания ВМ необходимо заполнить следующие поля:
Название сервера – это будущее название вашей ВМ в панели управления, а также название внутри установленной ОС.
Root пароль – пароль от главной учетной записи вашей ВМ.
Операционная система – ОС установленная на загрузочный диск вашей ВМ.
Кластер – один из доступных кластеров облака Serliver на котором будет размещаться ВМ.
Конфигурация – ресурсы выделенные на ВМ.
Публичный IP – адрес устанавливающийся на ВМ для взаимодействие с Интернет’ом.
Для этого туториала мы будем использовать ВМ с ОС Debian 11 (Bullseye), минимальным тарифом и публичным IP.
После нажатия на кнопку “Создать” вас перенаправит на обзорную страницу всех ваших ВМ и в течении 5 минут ВМ будет готова к использованию, а индикатор ВМ загорится зеленым цветом.
После того как индикатор ВМ загорелся зеленым цветов вы можете нажать на название ВМ и перейти на страницу обзора конкретной ВМ. На этой странице в разделе “Подключение” написано имя главной учетной записи ВМ, выделенный для ВМ публичный IP (если был указан при создании), а также кнопки для консольного подключения, либо подключения через SSH из браузера.
Консольное подключение – это эмуляция подключенного монитора/клавиатуры/мыши к вашей ВМ. Как правило подобное подключение используется при первичной настройке, либо в случае недоступности ВМ по сети.
SSH подключение (требует публичного IP) – это подключение через специальный защищенный протокол для управления удаленной ОС по сети. Вы можете использовать подобное подключение в его веб реализации, но для более удобной работы рекомендуется использовать специализированные программы, например Putty, SecureCRT, Tera Term и т.д.
Базовая настройка виртуальной машины
После создания ВМ в первую очередь рекомендуем настроить межсетевой экран (фаервол), особенно если у вашей ВМ есть публичный IP.
Настройка межсетевого экрана iptables
Iptables – это программное обеспечение поставляемое вместе с некоторыми дистрибутивами Linux для реализации функций межсетевого экрана.
Для настройки фаервола подключитесь удобным вам способом к консоли вашей ВМ и выведите текущие правила с помощью команды iptables -S
. Вы увидите следующий вывод:
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
Правила в цепочке INPUT говорят о том, что любой адрес в интернете может обращаться к сервисам на вашей ВМ. Лучшей практикой при использовании фаерволов является отбрасывание всего трафика, который явно не разрешен. Чтобы закрыть все порты и самим не потерять доступ к ВМ по ssh необходимо настроить:
- В явном виде разрешить прохождение пакетов для обратного трафика установленных соединений (ESTABLISHED) и вспомогательных соединений (RELATED).
- В явном виде разрешить подключения по SSH
- Запретить весь входящий трафик, который не был разрешен предыдущими правилами
Команды для базовой настройки iptables:
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -P INPUT DROP
Если у вас есть постоянный публичный IP или доверенная подсеть адресов с которых вы будете подключаться к ВМ по ssh, то рекомендуем разрешить только их. Для этого вместо 2’го правила используйте следующие:
iptables -A INPUT -p tcp -s доверенный_адрес/32 --dport 22
Если у вас нет возможности открыть ssh только для доверенных адресов, то рекомендуем дополнительно настроить fail2ban для автоматической блокировки адресов с которых пытаются подобрать учетные данные к вашей ВМ.
Сохранение правил iptables
После настройки правил фаервола необходимо сохранить эти правила в автозагрузку, иначе при перезагрузке ВМ правила вернутся к исходному состоянию. Для этого можно установить утилиту iptables-persistent с помощью следующей команды:
apt install -y iptables-persistent
При установке вам будет предложено сохранить ваши текущие правила в каталог /etc/iptables в файлы rules.v4 и rules.v6. Для последующего сохранения текущих правил можно использовать следующие команды:
iptables-save > /etc/iptables/rules.v4
iptables-save > /etc/iptables/rules.v6
Добавление пользователя с правами администратора
После создания ВМ на ней заведена только главная учетная запись – root. Работать все время от root небезопасно, рекомендуем завести необходимых вам пользователей и раздать им права администратора (sudo).
Для создания нового пользователя можно использовать следующую команду:
adduser myuser
где вместо myuser укажите имя вашего пользователя. После выполнения команды вам будет предложено задать его пароль, а также заполнить информацию о пользователе, что необязательно и можно пропустить нажатиями Enter.
Чтобы добавить пользователю права администратора выполните:
usermod -aG sudo myuser
Теперь вы можете подключаться к вашей ВМ с помощью новой учетной записи. Для выполнения команд с правами администратора необходимо вначале команды использовать sudo.
Отключение root для подключения по ssh
Для безопасности рекомендуется отключить возможность root подключаться по ssh. Для этого необходимо отредактировать конфигурационный файл ssh, например с помощью текстового редактора nano с правами администратора.
sudo nano /etc/ssh/sshd_config
В файле необходимо найти строку PermitRootLogin, разрешающую подключение пользователя root и заменить yes на no.
После этого необходимо перезапустить сервис ssh:
sudo systemctl restart sshd.service