Вы установили на VPS чистую операционную систему, и теперь важно выполнить несколько действий по запуску вашего сервера. Ниже, о том как производиться первоначальная настройка VPS сервера с Ubuntu 20.04. Эти настройки помогут сделать вашу работу с сервером более комфортной, а защиту ваших данных более надёжной.
Пользователь с привилегиями администратора
При установке операционной системы вы получаете доступ к ней при помощи учётной записи, имеющей права суперпользователя. Имя этого пользователя – root, и он в вашей системе, что называется, “может всё”. Регулярно производить запуск инструкций, зарегистрировавшись в системе учётной записью root, весьма неосмотрительно с точки зрения безопасности. Именно поэтому, необходимо создать учётную запись с ограниченными правами для её использования в повседневной работе.
Для создания нового пользователя введите команду:
# adduser newuser
В данном случае, newuser
– имя нового пользователя, вместо которого вы, конечно же можете использовать какое-то своё.
Далее, необходимо созданного пользователя добавить в группу sudo
, члены которой могут запускать инструкции с привилегиями администратора при помощи утилиты sudo
:
# usermod -aG sudo
newuser
Теперь, подключившись к системе данной учётной записью, вы сможете запускать команды на исполнение, и они будут исполняться с правами администратора:
$ sudo some-command-to-exec
Ну, а если вы имеете возможность выполнять команды без использования root’а, то логично было бы закрыть доступ по SSH пользователю root. Для этого откройте для редактирования конфигурационный файл SSH, например, с помощью редактора nano
:
$ sudo nano /etc/ssh/sshd_config
Снимите комментарий перед строкой PermitRootLogin
, установите в этой строке значение no
, сохраните изменения и закройте файл (если вы используете nano
, нажмите Ctrl+X
, Y
и Enter
).
Для вступления изменений в силу может потребоваться перезапуск сервиса SSH:
$ sudo service ssh restart
Брандмауэр
Для управления межсетевым экраном в операционных системах семейства Linux часто используется утилита iptables. Упрощённым её интерфейсом для настройки брандмауэра является Uncomplicated Firewall или UFW.
Для открытия доступа к серверу со стороны какого-либо приложения, необходимо выдать разрешение этому приложению на доступ, зарегистрировав его в UFW. Список приложений знакомых утилите UFW можно посмотреть набрав команду:
$ sudo ufw app list
Чтобы разрешить подключение к системе какому-нибудь приложению или протоколу, например, SSH
, используйте инструкцию:
$ sudo ufw allow OpenSSH
Если брандмауэр отключен, его нужно включить:
$ sudo ufw enable
И проверить его статус:
$ sudo ufw status
Теперь вы можете настроить данный межсетевой экран так, чтобы он ограничивал доступ к вашему VPS в соответствии с вашими требованиями. Например, вы можете разрешить доступ к нему с одного определённого IP-адреса:
$ sudo ufw allow from
XXX.XXX.XXX.XXX
Или из определённой подсети:
$ sudo ufw allow from XXX.XXX.XXX.0/24
Так же есть возможность ограничить подключения к серверу определённым IP-адресом, при этом разрешив подключение только к определённому порту. Так например, чтобы открыть доступ только к порту 22, то есть только подключение по SSH, используйте команду:
$ sudo ufw allow from
XXX.XXX.XXX.XXX
to any port 22
Если же вы не хотите ограничиваться подключениями только с определённых адресов, вы можете защитить вашу систему установив запрет на соединения с IP-адресов, с которых происходит больше пяти попыток подключиться за последние полминуты. Запустить такую схему защиты можно командой:
$ sudo ufw limit ssh
Аутентификация с использованием SSH-ключей
Авторизация пользователей при помощи SSH-ключей может значительно повысить уровень безопасности вашего VPS. Если вы планируете использовать такой вариант аутентификации, придётся выполнить несколько несложных действий.
Сначала необходимо сгенерировать этот SSH-ключ. Для чего на локальной рабочей станции (не на сервере) в командной строке нужно набрать:
ssh-keygen
В процессе генерации ключа вы можете изменить имя файла ключа и его каталог, а также его пароль passphrase
, а можете оставить эти настройки по умолчанию:
Далее, созданный ключ необходимо скопировать на сервер. Для чего нужно:
Подключиться к вашему VPS по SSH:
ssh newuser@your-server-IP-address
Убедиться, что вы находитесь в вашей домашней директории:
$ pwd
Или перейти в вашу домашнюю директорию, если вы не в ней:
$ cd /home/newuser
Теперь создайте каталог .ssh
:
$ mkdir .ssh
Убедитесь, что каталог создан:
$ ls -la
И установите для него соответствующие права:
$ chmod 700 .ssh/
Перейдите в созданный каталог:
$ cd .ssh
И там создайте файл с именем authorized_keys
и с правами 600
:
$ touch authorized_keys $ chmod 600 authorized_keys
Теперь необходимо открыть его для редактирования. Для использовании редактора nano
введите:
$ sudo nano authorized_keys
Теперь на своей локальной машине найдите файл, в который вы сохранили SSH-ключ (имя этого файла – id_rsa.pub
), откройте его удобным для вас текстовым редактором и скопируйте всё его содержимое (не копируйте при этом пробелы, стоящие после последнего символа).
Скопированный текст нужно вставить в открытый на сервере файл authorized_keys
, после чего сохранить изменения в файле и закрыть его (если вы используете nano
, нажмите Ctrl+X
, Y
и Enter
).
Чтобы убедиться, что изменения в файле сохранились, наберите команду:
$ cat authorized_keys
На этом настройка аутентификации с использованием SSH-ключа завершена. Теперь авторизация на сервере по SSH будет осуществляться без пароля.
Но и это не всё. Вы можете вообще закрыть доступ к VPS через пароль. Для этого откройте для редактирования конфигурационный файл SSH:
$ sudo nano /etc/ssh/sshd_config
Найдите и раскомментируйте строку PasswordAuthentication
, установите её значение в no
. После чего, не забудьте сохранить изменения в файле, перед тем как его закрыть (если вы используете nano
, нажмите Ctrl+X
, Y
и Enter
).
Для вступления изменений в силу перезапустите службу SSH:
$ sudo service ssh restart
Теперь вы знаете, как производится первоначальная настройка VPS сервера с Ubuntu 20.04.