При развертывании нового VPS-сервера следует выполнить несколько операций, которые позволят повысить его безопасность и функциональность.

Вход как суперпользователь

Для Linux

Перед началом работы авторизуйтесь на сервере как пользователь root. Чтобы это сделать, Вам понадобится публичный IP-адрес сервера и пароль учетной записи администратора (root). Если они известны, введите в консоли команду, заменив переменную IP-адресом своего сервера:

ssh root@194.61.0.6

* IP-адрес дан в качестве примера, на его место нужно подставить актуальный.

Если появится предупреждение о проверке подлинности – примите его. Затем система запросит пароль или приватный ключ. Если вы впервые входите с помощью пароля, система предложит задать новый.

После ввода пароля авторизация пройдет успешно, позволяя настроить сервер на CentOS.

Для Windows

Пользователи Windows также могут удалённо подключиться к серверу. Это удобнее всего сделать с помощью программы Putty, которую нужно предварительно установить на компьютер.

Настройка и защита сервера на CentOS 7 - установка putty

Когда программа будет установлена, достаточно ее запустить и выполнить ряд действий.

1. Открыть раздел «Session» («Сеанс») и в поле «Host Name» («Имя хоста») ввести IP-адрес (или имя хоста сервера). В поле «Порт» следует ввести порт, на котором был запущен сервер.
Настройка и защита сервера на CentOS 7
2. Затем следует нажать «Open» («Соединиться»), после чего программа сделает запрос на добавление ключа сервера в список доверенных. Подтвердите это нажатием «Да».

3. Останется ввести свои логин (в нашем случае root) и пароль. Вставка скопированной информации в Putty осуществляется щелчком правой кнопкой мыши (сочетание Ctrl+V не работает).
4. После успешной авторизации откроется окно терминала, позволяющее выполнять нужные операции на удаленном сервере.

Ограничение прав суперпользователя

Пользователь root в дистрибутивах Linux обладает неограниченными правами. Однако, не стоит работать под ним постоянно.

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

Новый пользователь

Для начала создадим дополнительный профиль пользователя с именем «demo»:

adduser demo

Назначим для него пароль (в данном примере — «123»):

passwd 123

Далее, вводим новый пароль и повторяем его после следующего запроса.

Представление дополнительных привилегий

Созданный выше аккаунт «demo» получил стандартные права. В то же время, нам часто придется заниматься глубокой настройкой VPS-сервера, для чего понадобятся root-права.

Чтобы не изменять постоянно стандартный аккаунт на профиль администратора, можно сделать из demo «суперпользователя».

Для запуска команд с правами администратора, перед ними достаточно дописать команду sudo.

Далее – добавим профиль demo в группу «wheel». В CentOS пользователи этой группы могут пользоваться командой sudo. Сделать это можно следующей командой:

# gpasswd -a demo wheel

Все готово – после входа в CentOS как «demo» можно пользоваться расширенными правами, не боясь подвергнуть риску безопасность системы неосторожными действиями.

Как добавить открытый ключ

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

Создание пары ключей

Для создания новой пары ключей SSH достаточно ввода команды:

ssh-keygen

В терминале появится такой результат:

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/newluser/.ssh/id_rsa):

Подтвердите нажатием кнопки Enter принятие этого имени файла и пути к нему (при желании можно ввести другое название).

Система предложит задать пароль для защиты ключа. Впрочем, этот шаг необязательный и можно обойтись без пароля.

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

Как скопировать открытый ключ

Когда пара SSH-ключей будет успешно сгенерирована, понадобится скопировать на новый сервер открытый ключ.

Для Linux

Сделать это можно с помощью скрипта ssh-copy-id, который нужно предварительно установить на CentOS 7 или CentOS 8. Он поможет установить открытый ключ каждому авторизованному пользователю.

Запустите в консоли команду:

ssh-copy-id

После ее выполнения введите имя пользователя и IP-адрес сервера, на который вы хотите добавить ключ:

ssh-copy-id demo@194.61.0.6

* IP-адрес дан в качестве примера, на его место нужно подставить актуальный.

Когда пароль будет введен, открытый ключ добавится в файл удаленного пользователя по пути .ssh/authorized_keys. Соответствующий закрытый ключ будет использоваться для входа на сервер.

Для Windows

В случае с Windows для облегчения входа можно воспользоваться программой PuTTY, позволяющей подключиться к серверу по ключу SSH.

Для создания ключа потребуется включить инструмент PuTTYgen («Генератор ключей PuTTY»), в котором нужно выполнить следующую последовательность действий.

1. Следует обязательно выбрать тип «SSH-2 RSA». Если в главном окне он отсутствует, его нужно выбрать в меню «Key» («Ключ»). Нажать кнопку «Generate» («Генерировать»). В процессе генерации нужно немного подвигать мышкой, чтобы создалось достаточно энтропии.
Настройка и защита сервера на CentOS 7 - генератор ключей

2. Когда ключ будет создан, останется нажать кнопки «Save Public Key» («Открытый ключ») и «Save Private Key» («Личный ключ»), чтобы сохранить публичный и приватный ключ.
Настройка и защита сервера на CentOS 7 - генератор ключей

3. Следующий шаг заключается в передаче открытого ключа на сервер. Понадобится авторизоваться посредством пароля и добавить открытый ключ в файл по пути «.ssh/authorized_keys» (дописать его в конце), c помощью команды:

vi .ssh/autorized_keys

4. Затем можно запустить PuTTY, выбрать раздел «Connection» («Соединение»), перейти в «SSH» и далее «Auth» («Аутентификация»). В новом поле необходимо нажать «Browse» («Обзор») и вставить в поле приватный ключ.
Настройка и защита сервера на CentOS 7 - вставка ключей

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

Как настроить «демон» SSH

Через созданный профиль «demo» можно защитить сервер, изменив его конфигурацию в Daemon SSH (программе для удаленного входа в систему). Это позволит предотвратить несанкционированный удаленный доступ SSH к корневой учетной записи другим пользователям.

Сначала откройте файл конфигурации из текстового редактора vi как «суперпользователь»:

vi /etc/ssh/sshd_config

Здесь предоставляется возможность отключить авторизацию в CentOS как root-пользователь через ключи SSH.

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

В открывшемся файле нужно найти строку:

#PermitRootLogin yes

Сделайте ее активной, удалив «#» и заменив «yes» на «no». В итоге получится:

PermitRootLogin no

Это закроет прямой вход пользователя root.

Перезапуск SSH-сервера

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

systemctl reload sshd

Перед тем, как покинуть сервер, рекомендуется проверить, правильно ли он настроен.

Закройте и откройте терминал, чтобы в нем создать новое соединение с нашим сервером. Однако, в данном случае вместо входа в профиль «root», используйте уже созданный «demo».

К настроенному удаленному серверу можно подключиться командой (Замените логин и IP-адрес своими):

ssh demo@194.61.0.6

* IP-адрес дан в качестве примера, на его место нужно подставить актуальный.

Теперь введите пароль своего нового пользователя, чтобы войти систему с его привилегиями. Не забывайте, что перед запуском команды с правами администратора нужно вначале прописывать слово «sudo»:

sudo command_to_run

Если все прошло как нужно, остается завершить сеанс командой:

exit

Что касается входа через Windows, для перезапуска сервера также можно использовать клиент Putty, где после авторизации останется ввести выше предложенные команды.

Таким образом, базовая настройка VPS-сервера с установленной Centos 7 или CentOS 8 завершена успешно.