При установке чистой операционной системы Debian 11 необходимо сделать несколько несложных шагов по её настройке, которые являются частью базовой конфигурации виртуального сервера. Эти настройки позволят повысить уровень безопасности вашего VPS и дадут вам твёрдую основу для дальнейших с ним манипуляций.
Далее мы изучим, как авторизоваться на сервере пользователем root, создать новую учётную запись с полномочиями суперпользователя, а также произвести начальные настройки брандмауэра.
Подключение к серверу пользователем root
Для первого подключения к виртуальному серверу вам нужно знать его IP-адрес. Также вы должны знать пароль для учётной записи root. Эти данные вы можете увидеть в личном кабинете вашего VPS.
Непосредственно подключение к VPS осуществляется из командной строки следующей инструкцией:
ssh root@194.87.214.253
В данном примере:
root
– имя учётной записи, под именем которой производится подключение;194.87.214.253
– IP-адрес сервера.
При первом подключении система может выдать вам предупреждение о подлинности хоста. Чтобы принять данное предупреждение, наберите yes
.
Пользователь root
– это административная учётная запись в среде Linux, имеющая очень широкие полномочия. Из-за того, что данный пользователь владеет такими повышенными привилегиями, крайне нежелательно использовать его на регулярной основе. Связано это с тем, учётная запись root
может быть применена для внесения в вашу систему деструктивных изменений вплоть до потери работоспособности.
На следующем этапе первоначальной настройки сервера мы создадим альтернативного пользователя с полномочиями меньшего уровня. Такую учётную запись можно будет более безопасно использовать в повседневной работе.
Создание нового пользователя
После того, как вы зарегистрировались в системе с помощью пользователя root
, необходимо создать новую учётную запись, которую вы будете использовать далее.
Для создания нового пользователя наберите следующую команду:
# adduser new-user
Здесь new-user
– имя новой учётной записи, в качестве которого вы можете выбрать какое-либо своё. При создании нового пользователя система попросит сначала дважды ввести пароля для этой учётной записи. После этого нужно будет ответить на несколько вопросов, которые будет задавать система. Что-либо вводить при этом необязательно, можно просто нажимать Enter
.
Предоставление привилегий администратора
Теперь, когда мы создали новую учётную запись, необходимо наделить её администраторскими полномочиями, чтобы выполнять задачи, требующие их наличия. Выполнение инструкции от имени суперпользователя производится при помощи команды sudo
. Для того, чтобы наш новый пользователь мог запускать команду sudo
, его необходимо добавить в соответствующую группу.
# usermod -aG sudo new-user
Теперь вы сможете выполнять команды от имени учётной записи root
, зарегистрировавшись при этом в системе под вашим новым пользователем. Но сначала вы должны проинсталлировать sudo
на свой VPS обновив списки пакетов:
# apt update
# apt install sudo
На практике применение данной команды выглядит как добавление слова sudo
перед исполняемой инструкцией:
$ sudo your_executable_command
Базовая настройка брандмауэра
В операционных системах семейства Debian используется межсетевой экран, разрешающий определённые подключения к серверу. Такой брандмауэр называется Uncomplicated Firewall (UFW). С его помощью вы сможете произвести настройки политики безопасности, а также, управлять её исключениями.
Установка брандмауэра производится следующей командой:
$ sudo apt install ufw
После завершения инсталляции у вас появится возможность управлять наборами правил межсетевого экрана для установленных приложений. Для большинства распространённых программ профили по умолчанию поставляются в комплекте с UFW. Дополнительные профили можно регистрировать в брандмауэре в процессе дальнейшей настройки.
Список всех доступных профилей приложений доступен по команде:
$ sudo ufw app list
Чтобы разрешить подключения к вашему серверу по SSH, запустите на выполнение следующую команду:
$ sudo ufw allow OpenSSH
Активация межсетевого экрана производится при помощи команды:
$ sudo ufw enable
Чтобы увидеть текущее состояние брандмауэра, наберите:
$ sudo ufw status
Вывод данной команды говорит нам о том, что межсетевой экран блокирует все соединения с сервером кроме SSH.
Настроить брандмауэр можно таким образом, чтобы это соответствовало вашим требованиям. Например, вы можете разрешить доступ к VPS только с хостов со строго определёнными IP-адресами:
$ sudo ufw allow from XXX.XXX.XXX.XXX
Таким же образом можно ограничить доступ к серверу какой-либо определённой подсетью:
$ sudo ufw allow from XXX.XXX.XXX.0/24
Плюс ко всему у вас есть возможность разрешить подключения только к строго определённому порту. Например, использование следующей команды открывает доступ к серверу только для подключений по SSH, где используется порт 22.
$ sudo ufw allow from XXX.XXX.XXX.XXX to any port 22
Авторизация с использованием SSH-ключей
Чтобы повысить уровень безопасности вашего виртуального сервера, можно настроить на нём авторизацию при помощи SSH-ключей.
Для этого сначала необходимо создать SSH-ключ. На вашей рабочей станции, с которой вы подключаетесь к серверу, в командной строке наберите:
ssh-keygen
Данная команда как раз и генерирует SSH-ключ. При генерации ключа вы можете изменить или оставить по умолчанию имя файла ключа и его расположение. Также необходимо будет дважды набрать парольную фразу, если она нужна. В случае, если вы хотите подключаться к серверу без использования каких-либо паролей, вместо ввода парольной фразы просто нажимайте Enter
.
В результате на вашей рабочей станции появятся два файла: публичный ключ сервера id_rsa.pub
и ваш приватный ключ id_rsa
.
После этого подключитесь к вашему VPS и перейдите в домашнюю директорию:
$ cd ~
Там создайте каталог .ssh
:
$ mkdir .ssh
Созданному каталогу назначьте необходимые права:
$ chmod 700 .ssh/
Далее, перейдите в директорию .ssh
и создайте в ней файл authorized_keys
. Данному файлу назначьте права 600
:
$ cd .ssh
$ touch authorized_keys
$ chmod 600 authorized_keys
После чего откройте его для редактирования:
$ nano authorized_keys
В этот файл необходимо скопировать содержимое файла id_rsa.pub
с вашей локальной рабочей станции. При этом не следует копировать пробелы, расположенные после последнего символа. После чего закройте файл authorized_keys
с сохранением внесённых изменений.
Результатом произведённых настроек должна стать возможность подключаться к вашему VPS без использования пароля учётной записи.
Чтобы совсем закрыть доступ к серверу для авторизации с использованием паролей, отредактируйте файл /etc/ssh/sshd_config:
$ cd /etc/ssh/
$ sudo nano sshd_config
В этом файле следует раскомментировать строку PasswordAuthentication
и установить её значение в no
. После чего перезапустите службу SSH:
$ sudo service ssh restart
Не мог скопировать содержимое файла публичного ключа, как не пытался, т.к. не мог захватить все символы мышкой. Может для вас это не представляет трудности , а для меня, как пользователя Виндовс- представляет. Воспользовался командой- ssh-copy-id username@remote_host
2023-03-23 at 04:17