Вступление
Создание нового сервера требует выполнения некоторых действий, которые являются частью базовой настройки. Это повысит безопасность и производительность сервера и даст прочную основу для дальнейшей работы.
1: Вход в систему как Root
На начальном этапе для входа на сервер нужно знать его IP-адрес и пароль учетной записи root-пользователя. Как правило, эти данные отправляются электронным письмом.
Пользователь root является администратором Linux с широким диапазоном полномочий. Именно из-за повышенных привилегий этого пользователя использовать его на регулярной основе не рекомендуется. Дело в том, что права данного аккаунта позволяют вносить деструктивные изменения (даже по ошибке).
Данное руководство расскажет, как создать альтернативную учетную запись пользователя с уменьшенным диапазоном прав для повседневной работы, а также научит при необходимости повышать его права.
Итак, войдите на сервер как root. Подключиться к серверу можно с помощью команды ssh в терминале:
ssh root@ip_адрес_сервера
Скорее всего, терминал выведет предупреждение вроде:
The authenticity of host '123.123.123.123 (123.123.123.123)' can't be established.
ECDSA key fingerpring 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: Изменение пароля
Текущий пароль аккаунта root рекомендуется изменить. Для этого наберите:
passwd
После этого введите и подтвердите новый пароль. В процессе ввода пароля на экране ничего не будет отображаться – это сделано для того, чтобы никто не мог подсмотреть количество символов в пароле.
3: Создание нового пользователя
На данном этапе можно перейти к созданию учетной записи нового пользователя для повседневной работы.
В данном руководстве этот пользователь называется demo, но, конечно, его можно назвать как угодно.
adduser demo
Затем нужно ввести некоторую информацию о пользователе, начиная с пароля.
Введите пароль, остальные поля заполните по желанию (чтобы оставить поле незаполненным, нажмите ENTER).
4: Root-привилегии
Теперь на сервере есть новый пользователей с обычными привилегиями. Тем не менее, иногда в повседневной работе необходимо выполнить некоторые задачи администратора.
Чтобы исключить необходимость постоянно переключаться между новым пользователем и root, нужно передать новому пользователю привилегии sudo.
Это позволит ему запускать команды с привилегиями администратора (для этого нужно начинать команды с sudo).
Итак, чтобы передать root-привилегии, используйте команду visudo. Это откроет конфигурационный файл:
visudo
Найдите раздел привилегий. Он выглядит примерно так:
# User privilege specification
root ALL=(ALL:ALL) ALL
Это может показаться сложным сначала; на самом деле, все, что нужно сделать – это внести следующую строку (замените “demo” именем вашего пользователя)
# User privilege specification
root ALL=(ALL:ALL) ALL
demo ALL=(ALL:ALL) ALL
Выполнив это, нажмите CTRL-X, чтобы выйти, Y для сохранения и ENTER для подтверждения каталога файла.
5: Настройка SSH (дополнительно)
При необходимости можно защитить сервер, отредактировав настройки SSH (программа, которая позволяет подключаться удаленно).
Откройте конфигурационный файл как root:
nano /etc/ssh/sshd_config
Изменение порта SSH
Первый параметр, который нужно изменить – это порт, на котором запущен SSH. Найдите строку:
Port 22
Если изменить число в этой строке на любое другое из диапазона от 1025 до 65536, сервис SSH будет подключаться через другой порт. Иногда это очень полезно, поскольку некоторые неавторизованные пользователи пытаются взломать сервер через SSH. Если изменить порт по умолчанию, злоумышленнику придется выполнить дополнительные действия, чтоб выяснить его.
Имейте в виду: если это значение было изменено, то сервер теперь работает на новом порту. В данном руководстве это порт 4444. Это значит, при подключении клиент SSH будет использовать новый нестандартный порт. Итак, измените это значение на свой выбор:
Port 4444
Отключение Root-входа
Теперь нужно найти строку:
PermitRootLogin yes
В данной строке нужно отключить root-доступ через SSH, поскольку это обезопасит сервер. Теперь подключиться к серверу можно только через аккаунт нового пользователя с расширенными привилегиями.
Замените значение данной строки на “no”, чтобы отключить вход root
PermitRootLogin no
Разрешение определенных пользователей
Далее можно указать некоторых пользователей, которые должны иметь доступ к серверу. Пользователи, не внесенные в данный список, не смогут подключаться к серверу по SSH.
Будьте осторожны при настройке этого параметра: здесь можно легко заблокировать себя, если допустить ошибку при вводе имени своего пользователя.
Самостоятельно внесите необходимых пользователей в список при помощи следующего синтаксиса. Не забудьте заменить demo именем вашего пользователя:
AllowUsers demo
Завершив работу с данным файлом, сохраните изменения и закройте его (CTRL-X, затем Y, затем ENTER).
6: Перезагрузка SSH
Внеся все важные изменения в настройки, перезагрузите сервис SSH для их активации.
Наберите:
service ssh restart
Теперь нужно протестировать настройки, прежде чем выйти с сервера. Не стоит отключаться до тех пор, пока вы не убедились, что новые настройки работают должным образом.
Откройте новое окно терминала. В этом окне создайте новое подключение к серверу, но на этот раз используйте не root, а нового пользователя.
Если номер порта SSH был изменен, укажите новый номер; для этого используйте синтаксис -p 4444, где 4444 – номер порта (замените своим значением).
Итак, чтобы подключиться к серверу, используйте следующую команду (не забудьте внести в нее свои данные):
ssh -p 4444 demo@ip_адрес_сервера
Будет запрошен пароль нового пользователя, после чего подключение будет установлено.
Запомните: чтобы запустить команду с привилегиями root, начните ее с sudo:
sudo необходимая_команда
Если все работает должным образом, закройте сессию:
exit
Дальнейшие действия
На данном этапе вы получили надежную основу для сервера. Теперь можете перейти к его защите (например, с помощью программы fail2ban, которая предотвращает атаки методом подбора ключа).
Также можно установить любое программное обеспечение, например LAMP stack или LEMP stack, что позволит запускать веб-сайты.