Сразу после покупки сервера или установки самостоятельно, на нём установлена только Ubuntu Server 16.04 со стандартными настройками. Это удобно для новых пользователей, но оставляет известные дыры в безопасности. Чтобы обезопасить систему от хакеров и ошибок пользователей, нужно правильно настроить сервер.
Требования
- Сервер или VPS с Ubuntu 16.04 и OpenSSH.
- Устройство с поддержкой SSH.
На ПК с Linux, SSH поддерживается по умолчанию через терминал.
На Android советуем JuiceSSH.
На Windows советуем Remote Terminal.
ВАЖНО: Все команды в этой статье выполняются в терминале. Для Linux, терминал запускается из меню приложений или комбинацией клавиш (в Ubuntu, Ctrl+Alt+T), в остальных ОС — запуском соответствующего приложения. Чтобы выполнить команду, введите её в терминал и нажмите Enter.
Глоссарий
Права суперпользователя. Они же root-права или права root. Самый высокий уровень доступа в ОС Linux, который позволяет редактировать любые файлы на своё усмотрение.
Создание пользователя
По умолчанию, на сервере есть только пользователь root, с правами суперпользователя без контролирующего механизма. Это плохо, так как малейшая ошибка может привести к повреждению файлов и настроек сервера. Поэтому, чтобы правильно и безопасно настроить сервер, нужно создать своего пользователя.
1. Подключаемся к серверу по протоколу ssh как пользователь root. Для этого, выполняем команду:
ssh root@IP_адрес_вашего_сервера
https://unihost.com/help/wp-content/...2697158805.png
2. Видим запрос пароля. Пароль должен был предоставить хостинг, в котором вы покупали сервер — скорее всего, в e-mail. Вводим пароль (символы не будут отображаться на экране, поэтому вводите осторожно) и нажимаем Enter.
https://unihost.com/help/wp-content/...2697271262.png
3. Видим экран приветствия:
https://unihost.com/help/wp-content/...2697389271.png
4. Создаём пользователя командой:
adduser имя_пользователя
https://unihost.com/help/wp-content/...2697501183.png
5. Видим отчет, в котором Ubuntu рассказывает, как именно был добавлен пользователь. В конце нас просят придумать пароль для пользователя. Придумываем, вводим, нажимаем Enter.
https://unihost.com/help/wp-content/...2697567157.png
6. Ubuntu просит повторить пароль, чтобы избежать фатальных опечаток. Вводим его снова и нажимаем Enter.
https://unihost.com/help/wp-content/...2697912529.png
7. Ubuntu хочет собрать информацию о пользователе: полное имя, номер кабинета, рабочий телефон, домашний телефон и комментарий. Можете заполнять, можете просто нажимать Enter в пустой строке. В конце нужно нажать “Y”, а потом Enter, чтобы подтвердить, что информация правильная.
https://unihost.com/help/wp-content/...2698584149.png
Пользователь создан. Теперь нужно проверить, работает ли он. Для этого, закрываем окно терминала и открываем новое.
1. Заходим в систему под новым пользователем. Выполняем команду:
ssh имя_пользователя@IP_адрес_сервера
https://unihost.com/help/wp-content/...2698373725.png
2. Видим запрос пароля. Вводим пароль и нажимаем Enter.Вход под новым пользователем
https://unihost.com/help/wp-content/...2698419480.png
3. Видим экран приветствия.
https://unihost.com/help/wp-content/...2698489643.png
4. Закрываем окно терминала.
Теперь у нас есть новый пользователь. Но у него еще нет прав root, которые нужны для установки программ и смены настроек сервера. В то же время, у пользователя root такие права есть, но они ничем не ограничены и потому опасны.
Выдача прав root новому пользователю
1. Заходим на сервер как root-пользователь. Для этого, выполняем команду:
ssh root@IP_адрес_вашего_сервера
https://unihost.com/help/wp-content/...2697158805.png
2. Видим запрос пароля. Вводим пароль и жмем Enter. Видим экран приветствия.
https://unihost.com/help/wp-content/...2697389271.png
3. Выполняем команду:
usermod -aG sudo имя_пользователя
https://unihost.com/help/wp-content/...2699216666.png
Теперь у нового пользователя есть права root, для доступа к которым нужно повторно ввести пароль. Дальше настраивать сервер и работать с ним нужно именно через нового пользователя.
Установка и настройка файрвола
Файрвол — это программа, которая защищает компьютер от нежелательных соединений. Например, с хакером, который пытается получить доступ на сервер. Но так как файрвол изначально не знает, как именно будет использоваться сервер, нужно его сначала настроить.
1. Заходим в систему под своим пользователем. Выполняем команду
ssh имя_пользователя@IP_адрес_сервера
https://unihost.com/help/wp-content/...2698373725.png
2. Видим запрос пароля. Вводим пароль и нажимаем Enter.
https://unihost.com/help/wp-content/...2698419480.png
3. Видим экран приветствия. Теперь нам нужно скачать с репозитория свежий список доступных для установки пакетов (программ). Выполняем команду обновления списка пакетов:
sudo apt-get update
https://unihost.com/help/wp-content/...2699888106.png
4. Команды с sudo перед ними требуют права суперпользователя, о чем нам тут же скажет Ubuntu. Вводим пароль от пользователя еще раз и нажимаем Enter.
https://unihost.com/help/wp-content/...2700022158.png
5. Видим отчет Ubuntu об обновлении пакетов. Выполняем команду для установки файрвола UFW:
sudo apt-get install ufw
https://unihost.com/help/wp-content/...2700170420.png
6. Видим отчет об установке и предварительной настройке программы.
https://unihost.com/help/wp-content/...0%BA%D0%B5.png
7. Запрашиваем список программ, которым UFW собирается блокировать доступ в сеть. Для этого выполняем команду:
sudo ufw app list
https://unihost.com/help/wp-content/...2701150955.png
8. Видим в списке OpenSSH. Это плохо, так как без OpenSSH мы не сможем подключаться к серверу. Разрешаем OpenSSH доступ в Интернет командой:
sudo ufw allow OpenSSH
https://unihost.com/help/wp-content/...2701171373.png
9. Видим отчет об обновлении правил файрвола.
https://unihost.com/help/wp-content/...2701236528.png
10. Включаем файрвол. Для этого выполняем команду:
sudo ufw enable
https://unihost.com/help/wp-content/...2701327114.png
11. Ubuntu скажет нам, что SSH-соединение может быть отключено после включения файрвола. Но мы уже исправили это, поэтому нажимаем “Y” и Enter.
https://unihost.com/help/wp-content/...2701403295.png
12. Проверяем состояние файрвола командой:
sudo ufw status
https://unihost.com/help/wp-content/...2701485850.png
Теперь файрвол установлен, а ваш проект в безопасности как от хакеров, так и от ошибок пользователей. Можно приступать к установке специализированного ПО и настройке сервера для его задач.
Требования
- Сервер или VPS с Ubuntu 16.04 и OpenSSH.
- Устройство с поддержкой SSH.
На ПК с Linux, SSH поддерживается по умолчанию через терминал.
На Android советуем JuiceSSH.
На Windows советуем Remote Terminal.
ВАЖНО: Все команды в этой статье выполняются в терминале. Для Linux, терминал запускается из меню приложений или комбинацией клавиш (в Ubuntu, Ctrl+Alt+T), в остальных ОС — запуском соответствующего приложения. Чтобы выполнить команду, введите её в терминал и нажмите Enter.
Глоссарий
Права суперпользователя. Они же root-права или права root. Самый высокий уровень доступа в ОС Linux, который позволяет редактировать любые файлы на своё усмотрение.
Создание пользователя
По умолчанию, на сервере есть только пользователь root, с правами суперпользователя без контролирующего механизма. Это плохо, так как малейшая ошибка может привести к повреждению файлов и настроек сервера. Поэтому, чтобы правильно и безопасно настроить сервер, нужно создать своего пользователя.
1. Подключаемся к серверу по протоколу ssh как пользователь root. Для этого, выполняем команду:
ssh root@IP_адрес_вашего_сервера
https://unihost.com/help/wp-content/...2697158805.png
2. Видим запрос пароля. Пароль должен был предоставить хостинг, в котором вы покупали сервер — скорее всего, в e-mail. Вводим пароль (символы не будут отображаться на экране, поэтому вводите осторожно) и нажимаем Enter.
https://unihost.com/help/wp-content/...2697271262.png
3. Видим экран приветствия:
https://unihost.com/help/wp-content/...2697389271.png
4. Создаём пользователя командой:
adduser имя_пользователя
https://unihost.com/help/wp-content/...2697501183.png
5. Видим отчет, в котором Ubuntu рассказывает, как именно был добавлен пользователь. В конце нас просят придумать пароль для пользователя. Придумываем, вводим, нажимаем Enter.
https://unihost.com/help/wp-content/...2697567157.png
6. Ubuntu просит повторить пароль, чтобы избежать фатальных опечаток. Вводим его снова и нажимаем Enter.
https://unihost.com/help/wp-content/...2697912529.png
7. Ubuntu хочет собрать информацию о пользователе: полное имя, номер кабинета, рабочий телефон, домашний телефон и комментарий. Можете заполнять, можете просто нажимать Enter в пустой строке. В конце нужно нажать “Y”, а потом Enter, чтобы подтвердить, что информация правильная.
https://unihost.com/help/wp-content/...2698584149.png
Пользователь создан. Теперь нужно проверить, работает ли он. Для этого, закрываем окно терминала и открываем новое.
1. Заходим в систему под новым пользователем. Выполняем команду:
ssh имя_пользователя@IP_адрес_сервера
https://unihost.com/help/wp-content/...2698373725.png
2. Видим запрос пароля. Вводим пароль и нажимаем Enter.Вход под новым пользователем
https://unihost.com/help/wp-content/...2698419480.png
3. Видим экран приветствия.
https://unihost.com/help/wp-content/...2698489643.png
4. Закрываем окно терминала.
Теперь у нас есть новый пользователь. Но у него еще нет прав root, которые нужны для установки программ и смены настроек сервера. В то же время, у пользователя root такие права есть, но они ничем не ограничены и потому опасны.
Выдача прав root новому пользователю
1. Заходим на сервер как root-пользователь. Для этого, выполняем команду:
ssh root@IP_адрес_вашего_сервера
https://unihost.com/help/wp-content/...2697158805.png
2. Видим запрос пароля. Вводим пароль и жмем Enter. Видим экран приветствия.
https://unihost.com/help/wp-content/...2697389271.png
3. Выполняем команду:
usermod -aG sudo имя_пользователя
https://unihost.com/help/wp-content/...2699216666.png
Теперь у нового пользователя есть права root, для доступа к которым нужно повторно ввести пароль. Дальше настраивать сервер и работать с ним нужно именно через нового пользователя.
Установка и настройка файрвола
Файрвол — это программа, которая защищает компьютер от нежелательных соединений. Например, с хакером, который пытается получить доступ на сервер. Но так как файрвол изначально не знает, как именно будет использоваться сервер, нужно его сначала настроить.
1. Заходим в систему под своим пользователем. Выполняем команду
ssh имя_пользователя@IP_адрес_сервера
https://unihost.com/help/wp-content/...2698373725.png
2. Видим запрос пароля. Вводим пароль и нажимаем Enter.
https://unihost.com/help/wp-content/...2698419480.png
3. Видим экран приветствия. Теперь нам нужно скачать с репозитория свежий список доступных для установки пакетов (программ). Выполняем команду обновления списка пакетов:
sudo apt-get update
https://unihost.com/help/wp-content/...2699888106.png
4. Команды с sudo перед ними требуют права суперпользователя, о чем нам тут же скажет Ubuntu. Вводим пароль от пользователя еще раз и нажимаем Enter.
https://unihost.com/help/wp-content/...2700022158.png
5. Видим отчет Ubuntu об обновлении пакетов. Выполняем команду для установки файрвола UFW:
sudo apt-get install ufw
https://unihost.com/help/wp-content/...2700170420.png
6. Видим отчет об установке и предварительной настройке программы.
https://unihost.com/help/wp-content/...0%BA%D0%B5.png
7. Запрашиваем список программ, которым UFW собирается блокировать доступ в сеть. Для этого выполняем команду:
sudo ufw app list
https://unihost.com/help/wp-content/...2701150955.png
8. Видим в списке OpenSSH. Это плохо, так как без OpenSSH мы не сможем подключаться к серверу. Разрешаем OpenSSH доступ в Интернет командой:
sudo ufw allow OpenSSH
https://unihost.com/help/wp-content/...2701171373.png
9. Видим отчет об обновлении правил файрвола.
https://unihost.com/help/wp-content/...2701236528.png
10. Включаем файрвол. Для этого выполняем команду:
sudo ufw enable
https://unihost.com/help/wp-content/...2701327114.png
11. Ubuntu скажет нам, что SSH-соединение может быть отключено после включения файрвола. Но мы уже исправили это, поэтому нажимаем “Y” и Enter.
https://unihost.com/help/wp-content/...2701403295.png
12. Проверяем состояние файрвола командой:
sudo ufw status
https://unihost.com/help/wp-content/...2701485850.png
Теперь файрвол установлен, а ваш проект в безопасности как от хакеров, так и от ошибок пользователей. Можно приступать к установке специализированного ПО и настройке сервера для его задач.