Вступление
Впервые попадая на новый сервер, нужно совершить несколько действий, чтобы обезопасить его. Некоторые из первых задач, которые необходимо выполнить на виртуальном выделенном сервере, включают в себя создание нового пользователя и предоставление ему соответствующих прав, а также конфигурирование SSH.
1. Основная регистрация
Когда IP-адрес и root-пароль установлены, войдите в качестве главного пользователя (root-пользователя).
Постоянно использовать root не рекомендуется. Это руководство поможет создать альтернативного пользователя для постоянной работы.
ssh root@123.45.67.890
Терминал покажет:
The authenticity of host '69.55.55.20 (69.55.55.20)' can't be established.
ECDSA key fingerprint is 79:95:46:1a:ab:37:11:8e:86:54:36:38:bb:3c:fa:c0.
Are you sure you want to continue connecting (yes/no)?
Затем наберите yes и введите ваш root-пароль.
2. Изменение пароля сервера CentOS
На данный момент root-пароль установлен по умолчанию и был выслан при регистрации сервера. Первое, что нужно сделать – изменить пароль по своему усмотрению.
Passwd
CentOS очень придирчив к паролям. К примеру, может появиться извещение BAD PASSWORD («слабый пароль»), после того как был веден новый пароль. Можно установить более сложный пароль или же проигнорировать сообщение: на самом деле, CentOS не станет препятствовать установке слишком короткого или простого пароля, хотя и будет советовать установить более сложный.
3. Создание нового пользователя CentOS
После изменения пароля входить на VPS как root больше не понадобится. На данном этапе нужно создать нового пользователя и передать ему все root-привилегии.
Во-первых, нужно создать нового пользователя. Для него можно выбрать любое имя. В качестве примера используется Demo:
/usr/sbin/adduser demo
Во-вторых, нужно создать пароль для этого пользователя:
passwd demo
4. root-привилегии CentOS
На данный момент все права администратора принадлежат root-пользователю. Теперь нужно передать root-привилегии новому пользователю.
Выполняя какую-либо root-задачу через нового пользователя, перед командой нужно использовать фразу «sudo». Эта утилита полезна по двум причинам: 1) она предотвращает любые ошибки, разрушающие систему; 2) она сохраняет все команды, введенные с «sudo», в файл «/var/log/secure», который при необходимости можно просмотреть.
Далее нужно отредактировать конфигурацию «sudo». Это можно сделать при помощи редактора по умолчанию, который в CentOS называется «vi»
/usr/sbin/visudo
Найдите раздел под названием user privilege specification («настройка пользовательских привилегий»).
Он выглядит так:
# User privilege specification
root ALL=(ALL) ALL
Под подробностями о root-привилегиях внесите следующую строку, которая передаст все права новому пользователю.
Чтоб начать работу с vi, нажмите «а».
demo ALL=(ALL) ALL
Чтоб сохранить и выйти из файла, нажмите Escape, :, w, q и Enter.
5 (доп). Конфигурирование SSH
Теперь нужно усилить защиту сервера. Эти действия не требуют обязательного выполнения. Они обезопасят сервер, сделав вход более сложным.
Откройте конфигурационный файл
sudo vi /etc/ssh/sshd_config
Найдите следующие разделы и внесите необходимую информацию:
Port 25000
Protocol 2
PermitRootLogin no
UseDNS no
Рассмотрим эти разделы по очереди.
Port: хотя порт 22 установлен по умолчанию, можно установить любой номер от 1025 до 65536. В данном примере использован порт 25000. Не забудьте записать новый номер порта. В будущем он понадобится для входа. Это изменение усложнит вход для неавторизованных пользователей.
PermitRootLogin: чтобы запретить root-вход, измените в данной строке yes на no. Теперь можно входить только как новый пользователь.
Введите эту строку внизу документа, заменяя demo реальным именем пользователя:
AllowUsers demo
Теперь нужно сохранить и выйти.
6. Финальная перезагрузка
Перезагрузите SSH, чтобы привести в исполнение новые настройки и порты.
/etc/init.d/sshd reload
Чтоб проверить новые настройки (пока что не выходите из root), откройте новое окно терминала и войдите на виртуальный сервер как новый пользователь.
Не забудьте добавить новый номер порта
ssh -p 25000 demo@123.45.67.890
Появится извещение:
[demo@yourname ~]$
Поставив сервер под защиту SSH, можно усилить его безопасность, установив такие программы, как Fail2Ban или Deny Hosts, чтобы защитить сервер от атак методом подбора ключа.