Первоначальная настройка Debian 12

Debian – одна из самых стабильных и популярных операционных систем из семейства Linux. Данная ОС часто используется как на рабочих станциях, так и на серверах, в том числе и виртуальных. На хостинге UltraVDS теперь доступен для заказа виртуальный выделенный сервер, работающий под управлением Debian 12. Сделать выбор в пользу данного дистрибутива можно из меню Операционная система перед этапом оплаты заказываемого VPS.

Выбор операционной системы пори заказа виртуального сервера - Первоначальная настройка Debian

Инсталляция операционной системы запускается после оплаты сервера. Спустя непродолжительное ожидание вы уже сможете использовать свой новый VPS. Тем не менее, после установки системы на новую виртуальную машину требуется произвести её первоначальную настройку для обеспечения безопасности и удобства работы с сервером. В статье разберём минимальные меры, которые должны помочь сделать систему более защищённой и комфортной в дальнейшей эксплуатации.

Создание пользователя с административными полномочиями

Во-первых, в системе необходимо создать пользователя, которого далее можно будет использовать вместо учётной записи root. Чтобы это сделать, подключитесь к серверу по SSH (Secure Shell) при помощи учётных данных пользователя root. Узнать пароль данного пользователя можно странице созданного сервера в личном кабинете UltraVDS. Также, информацию, необходимую для подключения к удалённой машине, вы получите на адрес электронной почты, используемый вашим аккаунтом на UltraVDS.

Данные для подключения к серверу по SSH

Для создания нового пользователя в командной строке запустите следующую команду, в которой замените your-user на имя создаваемой учётной записи:

# adduser your-user

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

# usermod -aG sudo your-user

Теперь, когда в системе уже присутствует только что созданный администратор, необходимо ограничить возможность подключения по SSH для учётной записи root. Для этого перейдите в каталог /etc/ssh:

# cd /etc/ssh

Затем откройте файл sshd_config при помощи текстового редактора nano:

# nano sshd_config

В файле найдите строку PermitRootLogin и измените значение yes на no. В итоге, строка должна выглядеть так:

PermitRootLogin no

После чего закройте файл с сохранением внесённых изменений. Для этого используйте комбинацию клавиш Ctrl x, затем нажмите y и Enter.

Чтобы внесённые изменения вступили в силу, перезагрузите конфигурацию службы ssh.

# systemctl reload ssh

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

Для того, чтобы выполнять команды, требующие привилегий администратора системы, необходимо использовать ранее созданную учётную запись. В нашем примере — это пользователь your-user. Для повышения полномочий данного пользователя до уровня администратора следует применять утилиту sudo.

По умолчанию данная утилита отсутствует в дистрибутиве Debian 12. Поэтому её следует проинсталлировать. Перед установкой нового программного обеспечения нужно обновить локальный список пакетов в системе:

# apt update

После чего проинсталлируйте утилиту sudo:

# apt install sudo

На данном этапе вы уже можете завершить сеанс учётной записи root при помощи команды exit, либо используя комбинацию клавиш Ctrl d. Если в дальнейшем понадобится выполнить команду, требующую полномочий администратора, используйте утилиту sudo. Например, следующая команда изменит текущее имя хоста на debian-server:

$ sudo hostnamectl hostname debian-server

Настройка брандмауэра

Чтобы контролировать входящий и исходящий сетевой трафик, на новом виртуальном сервере рекомендуется установить и настроить брандмауэр. Довольно часто на Debian и Ubuntu используется такой брандмауэр, как UFW.

UFW (Uncomplicated Firewall) — простой в использовании интерфейс для управления сетевыми правилами на базе iptables. UFW позволяет легко открывать и закрывать порты, задавать доступы для IP-адресов и таким образом контролировать сетевой трафик. Благодаря интуитивным командам, данный интерфейс упрощает настройку брандмауэра, что делает его доступным как для новичков, так и для опытных администраторов.

В чистом образе Debian 12 брандмауэр UFW не установлен. Для его установки запустите команду:

$ sudo apt install ufw

Следующая команда отображает список предустановленных приложений, для которых настроены профили в UFW:

$ sudo ufw app list

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

Список предустановленных приложений, для которых настроены профили в UFW

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

$ sudo ufw allow OpenSSH

Следующая команда активирует брандмауэр в системе, включая его в автозагрузку:

$ sudo ufw enable

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

Запуск брандмауэра UFW - Первоначальная настройка Debian

Убедиться в корректности запуска брандмауэра можно при помощи команды, которая выводит текущее его состояние:

$ sudo ufw status
Вывод состояния брандмауэра UFW - Первоначальная настройка Debian

Аутентификация с помощью ключей SSH

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

Сначала на компьютере, с которого вы планируете подключаться к VPS, создайте пару ключей — открытый и секретный. Для генерации пары SSH-ключей с определённым типом шифрования и длиной ключа откройте командную строку и выполните команду:

ssh-keygen -t rsa -b 4096

Флаг -t указывает тип шифрования, который будет использоваться при генерации ключей. В данном случае выбран алгоритм RSA (Rivest-Shamir-Adleman), один из самых широко используемых алгоритмов для криптографии с открытым ключом. Флаг -b указывает длину ключа в битах. В данном случае мы устанавливаем длину ключа 4096 бит. По умолчанию, если не указать явный размер ключа, для RSA используется длина в 2048 бит. Однако, длина в 4096 бит предпочтительнее для лучшей безопасности в долгосрочной перспективе.

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

В итоге, команда сгенерирует два файла:

  • открытый ключ: ~/.ssh/id_rsa.pub;
  • секретный ключ: ~/.ssh/id_rsa.

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

$ mkdir -p ~/.ssh

После чего перейдите в созданный каталог:

$ cd ~/.ssh

Там создайте файл authorized_keys при помощи следующей команды, в которую необходимо между символами " и " вставить содержимое файла id_rsa.pub:

$ echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDNny9+5coYPvxrGJ..." >> authorized_keys

Файл id_rsa.pub чуть ранее был создан на компьютере, с которого вы подключаетесь к своей виртуальной машине.

Копирование в буфер обмена содержимого файла id_rsa.pub

Затем на удалённой машине перейдите в каталог /etc/ssh:

$ cd /etc/ssh

Откройте для редактирования файл sshd_config:

$ sudo nano sshd_config

В файле найдите следующие строки и удалите символ комментария (#) в начале каждой из них. В результате, строки должны выглядеть следующим образом:

PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys .ssh/authorized_keys2

После сохранения изменений в файле вы получаете возможность подключаться к VPS при помощи SSH-ключей и без использования пароля пользователя. При этом, теперь вы можете дополнительно запретить аутентификацию с использованием пароля. Чтобы это сделать, найдите в файле sshd_config параметр PasswordAuthentication, раскомментируйте его и установите значение no:

PasswordAuthentication no

Затем закройте файл, сохранив внесённые в него изменения, и перезагрузите конфигурацию службы ssh:

$ sudo systemctl reload ssh

Вам также может понравиться