После создания нового сервера необходимо внести некоторые изменения в конфигурацию, чтобы повысить безопасность вашего сервера.
Создать нового пользователя
Как пользователь root, у вас есть привилегии делать с сервером все, что вы хотите - без ограничений. Из-за этого лучше избегать использования учетной записи пользователя root для каждой задачи на вашем сервере. Давайте начнем с создания нового пользователя. Замените username
на нужное имя пользователя:
adduser username
Выберите новый безопасный пароль и ответьте на вопросы соответственно (или просто нажмите ENTER, чтобы использовать значение по умолчанию).
Предоставление прав пользователя root
Новые учетные записи пользователей не имеют привилегии за пределы своей домашней папки и не могут выполнять команды , которые изменяют сервер (например install
, update
или upgrade
). Чтобы избежать использования учетной записи root, мы предоставим пользователю привилегии root. Есть два способа сделать это:
Добавление пользователя в группу sudo
Самый простой способ - добавить пользователя в sudo
группу. Замените username
на нужное имя пользователя:
adduser username sudo
Это добавит пользователя в группу sudo
. Эта группа имеет право запускать команды с доступом sudo.
Изменение файла sudoers
Другой способ - поместить вашего пользователя в sudoers
файл. Если на вашем сервере есть несколько пользователей с привилегиями root, то этот подход несколько лучше, потому что, если кто-то испортит sudo
группу, вы все равно сможете запускать команды с привилегиями root для работы на сервере.
Сначала запустите эту команду:
visudo
Это откроет sudoers
файл. Этот файл содержит определения групп и пользователей, которые могут запускать команды с привилегиями root.
root ALL=(ALL:ALL) ALL
После этой строки напишите свое имя пользователя и предоставьте ему полные права суперпользователя. Заменить username
соответственно:
username ALL=(ALL:ALL) ALL
Сохраните и закройте файл ( Ctrl + O и Ctrl + X в нано).
Тестирование вашего нового пользователя
Для входа в новую учетную запись пользователя без logout
и login
просто позвоните:
su username
Проверьте разрешения sudo с помощью этой команды:
sudo apt-get update
Оболочка спросит ваш пароль. Если sudo был настроен правильно, то ваши репозитории должны быть обновлены. В противном случае просмотрите предыдущие шаги.
Теперь выйдите из системы от нового пользователя:
exit
Установка Sudo завершена.
Защита SSH
Следующая часть этого руководства посвящена обеспечению безопасности входа ssh на сервер. Сначала измените пароль root:
passwd root
Выберите что-то сложное, чтобы угадать, но вы можете запомнить.
Ключ SSH
Ключи SSH - более безопасный способ входа в систему. Если вас не интересуют ключи SSH, перейдите к следующей части руководства.
Используйте следующий Vultr Doc для создания ключа SSH: Как мне генерировать ключи SSH?
После того, как вы получите свой открытый ключ , снова войдите в систему с вашим новым пользователем.
su username
Теперь создайте .ssh
каталог и authorized_keys
файл в домашнем каталоге этой учетной записи пользователя.
cd ~
mkdir .ssh
chmod 700 .ssh
touch .ssh/authorized_keys
Добавьте открытый authorized_keys
файл, который вы сгенерировали из другого учебника, в файл.
nano .ssh/authorized_keys
Сохраните файл, затем измените права доступа к этому файлу.
chmod 600 .ssh/authorized_keys
Вернитесь к пользователю root.
exit
Конфигурация SSH
Теперь мы сделаем демон SSH более безопасным. Давайте начнем с файла конфигурации:
nano /etc/ssh/sshd_config
Изменить SSH входящий порт
Этот шаг изменит порт, используемый для доступа к серверу, он не является обязательным, но рекомендуется.
Найти строку с Port
конфигом, должно выглядеть так:
Port 22
Теперь измените этот порт на любой порт, который вы хотите. Должно быть больше 1024.
Port 4422
Отключить root ssh логин
Этот шаг отключит root-вход через SSH, это совершенно необязательно, но настоятельно рекомендуется .
Найдите эту строку:
PermitRootLogin yes
... и измените его на:
PermitRootLogin no
Это сделает сервер более защищенным от ботов, которые используют грубую силу и / или общие пароли с пользователем root
и портом 22.
Отключить X11 вперед
Этот шаг отключит пересылку X11, не делайте этого, если вы используете программу удаленного рабочего стола для доступа к вашему серверу.
Найдите строку X11:
X11Forwarding yes
... и это изменится на:
X11Forwarding no
Перезапустите демон SSH
Теперь, когда мы внесли изменения для обеспечения безопасности входа в систему SSH, перезапустите службу SSH:
service ssh restart
Это перезапустит и перезагрузит настройки сервера.
Тестирование изменений
Не отключая текущий сеанс SSH, откройте новый терминал или окно PuTTY и протестируйте еще один вход в систему по SSH.
ssh -p 4422 username@SERVER_IP_OR_DOMAIN
Если все получится, мы успешно ужесточили безопасность вашего сервера. Наслаждайтесь!