Улучшение безопасности на сервере под управлением Ubuntu

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

Работать из под рута не очень правильно как минимум с точки зрения безопасности, соответственно, в таком случае нужно создать пользователя для работ на сервере, отличного от root + ограничить возможность работы по ssh для самого рута.

Чтобы сделать это нам нужно проделать следующие действия:

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

1) Создаем нового пользователя:

adduser newuser

где newuser имя нашего пользователя.

2) В зависимости от версии и настроек Ubuntu, после команды выше система может предложить ввести пароль для этого пользователя, а может и не предложить. Если система не дала возможности ввести пароль, то пишем в консоль:

passwd newuser

далее вводим пароль для этого пользователя.

3) Теперь нам необходимо присвоить ему права, аналогичные правам пользователя root, для этого вводим в консоль:

/usr/sbin/visudo

Нам откроется редактор, в котором находим строку:

root ALL=(ALL:ALL) ALL

и ниже добавляем:

newuser ALL=(ALL:ALL) ALL

4) Сохраняем файл с помощью сочетания клавиш 'cntrl+x', соглашаемся на перезапись файла 'Y'.

5) Теперь нужно запретить пользователю root подключаться через ssh, для этого скорректируем настройки ssh, введем комманду:

nano /etc/ssh/sshd_config

Откроется конфиг ssh, найдем строку:

PermitRootLogin yes

изменим значение yes на no, чтобы в итоге строка выглядела так:

PermitRootLogin no

6) Сохраняем файл как в 4 пункте.

7) Перезагружаем ssh службы с помощью комманды:

service ssh restart

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

sudo su

После которой ввести пароль от этого пользователя (выход из «режима рута» exit).

Либо перед каждой командой писать sudo, например: sudo rm -rf ./example/

Полезную информацию по этому поводу можно посмотреть по следующим ссылкам:

  1. https://www.digitalocean.com/community/tutorials/how-to-add-and-delete-users-on-ubuntu-12-04-and-centos-6
  2. http://oles.pp.ru/blog/nastroyka_vps_servera_s_ubuntu_12_04/2014-07-19-104