One place for hosting & domains

      Первоначальная

      Первоначальная настройка сервера с CentOS 8


      Введение

      При создании нового сервера CentOS 8 необходимо выполнить ряд действий по настройке незамедлительно в рамках процесса базовой настройки. Это поможет повысить уровень безопасности и удобство работы с сервером и послужит прочной основой последующих действий.

      Шаг 1 — Вход с привилегиями root

      Чтобы войти на сервер, вам нужно знать публичный IP-адрес вашего сервера. Также вам потребуется пароль или, если вы установили ключ SSH для аутентификации, приватный ключ для учетной записи root. Если вы еще не выполнили вход на сервер, вы можете воспользоваться нашей документацией по подключению к вашему Droplet с помощью SSH, которая подробно описывает этот процесс.

      Если вы еще не подключились к серверу, выполните вход в систему с привилегиями root, используя следующую команду (замените выделенную часть команды на публичный IP-адрес вашего сервера):

      Примите предупреждение об аутентичности хоста, если оно появится на экране. Если вы используете аутентификацию по паролю, укажите пароль root для входа в систему. Если вы используете ключ SSH с защитой по фразе-паролю, вам может быть предложено ввести фразу-пароль в первый раз при использовании ключа в каждом сеансе. Если вы первый раз выполняете вход на сервер с помощью пароля, вам также может быть предложено изменить пароль root.

      Подробнее о root

      Пользователь root — это пользователь с правами администратора в среде Linux, который имеет очень широкий набор привилегий. Из-за такого широкого набора привилегий учетной записи root не рекомендуется использовать ее на регулярной основе. Это связано с тем, что часть возможностей, получаемых с помощью учетной записи root, включает возможность внесения очень разрушительных изменений, даже если это происходит непреднамеренно.

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

      Шаг 2 — Создание нового пользователя

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

      Этот пример создает нового пользователя с именем sammy, но вы должны заменить это имя на любое предпочитаемое вами имя:

      Далее мы установим надежный пароль для пользователя sammy:

      Вам будет предложено ввести пароль дважды. После этого ваш пользователь будет готов к работе, но сначала мы предоставим этому пользователю дополнительные права на использование команды sudo. Это позволит нам запускать команды с правами root при необходимости.

      Шаг 3 — Предоставление административных прав

      Теперь у нас есть новая учетная запись пользователя со стандартными правами. Однако иногда может потребоваться выполнение административных задач.

      Чтобы не выполнять выход из стандартной учетной записи и выполнять вход в систему с учетной записью root, мы можем настроить так называемого «суперпользователя» или добавить привилегии root для стандартной учетной записи. Это позволит нашему обычному пользователю запускать команды с правами администратора, указав слово sudo перед каждой командой.

      Чтобы добавить эти права для нового пользователя, нам нужно добавить нового пользователя в группу wheel. По умолчанию в CentOS 8 пользователям, которые принадлежат к группе wheel, разрешается использовать команду sudo.

      Используя права root, запустите эту команду, чтобы добавить нового пользователя в группу wheel (замените выделенный текст на новое имя пользователя):

      Теперь, когда вы войдете в систему со стандартным пользователем, вы можете ввести sudo перед командами для выполнения действий с правами суперпользователя.

      Шаг 4 — Настройка базового брандмауэра

      Брандмауэры обеспечивают базовый уровень безопасности для вашего сервера. Эти приложения отвечают за отклонение трафика для каждого порта на сервере, за исключением тех портов/служб, для которых вы открыли прием трафика. CentOS имеет службу firewalld для выполнения этой функции. Инструмент с именем firewall-cmd используется для настройки политик брандмауэра firewalld.

      Примечание. Если ваши серверы запущены в DigitalOcean, вы можете использовать в качестве опции облачные брандмауэры DigitalOcean вместо брандмауэра UFW. Мы рекомендуем использовать только один брандмауэр в один момент времени, чтобы избежать конфликтов, которые могут затруднять отладку.

      Сначала установите firewalld:

      Конфигурация firewalld по умолчанию позволяет использовать соединения ssh, поэтому мы можем запустить брандмауэр немедленно:

      • systemctl start firewalld

      Проверьте состояние службы, чтобы убедиться в ее запуске:

      • systemctl status firewalld

      Output

      ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2020-02-06 16:39:40 UTC; 3s ago Docs: man:firewalld(1) Main PID: 13180 (firewalld) Tasks: 2 (limit: 5059) Memory: 22.4M CGroup: /system.slice/firewalld.service └─13180 /usr/libexec/platform-python -s /usr/sbin/firewalld --nofork --nopid

      Обратите внимание на значение active и enabled, что означает, что она будет запускаться по умолчанию при перезагрузке сервера.

      Теперь, когда служба запущена и работает, мы можем использовать утилиту firewall-cmd для получения и установки информации о политике для брандмауэра.

      Сначала мы перечислим службы, которые уже разрешены:

      • firewall-cmd --permanent --list-all

      Output

      public (active) target: default icmp-block-inversion: no interfaces: eth0 eth1 sources: services: cockpit dhcpv6-client ssh ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:

      Чтобы посмотреть дополнительные службы, которые вы можете активировать по имени, введите:

      • firewall-cmd --get-services

      Чтобы добавить разрешенную службу, используйте флаг --add-service:

      • firewall-cmd --permanent --add-service=http

      Это позволит добавить службу http и откроет для входящего трафика TCP порт 80. Конфигурация обновится после перезагрузки брандмауэра:

      Не забудьте, что вы должны явно открыть брандмауэр (со службами или портами) для любых дополнительных служб, которые вы можете настроить позднее.

      Шаг 5 — Активация внешнего доступа для стандартного пользователя

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

      Примечание. Пока вы не убедитесь, что вы можете войти в систему и использовать sudo с новым пользователем, мы рекомендуем не выходить из учетной записи root. Таким образом, если у вас есть проблемы, вы можете устранить их и внести необходимые изменения в качестве root. Если вы используете DigitalOcean Droplet и сталкиваетесь с проблемами при использовании подключения SSH в учетной записи root, вы можете войти в Droplet, используя консоль DigitalOcean.

      Процесс настройки доступа SSH для нового пользователя зависит от того, использует ли учетная запись с правами root на сервере пароль или ключи SSH для аутентификации.

      Если учетная запись root использует аутентификацию по паролю

      Если вы выполнили вход в учетную запись root с помощью пароля, тогда для SSH активирована аутентификация по паролю. Вы можете использовать SSH для новой учетной записи пользователя, запустив новую сессию терминала и используя SSH с новым именем:

      После ввода пароля для обычного пользователя вы сможете выполнить вход. Если вам нужно запустить команду с правами администратора, введите sudo перед командой следующим образом:

      Вам будет предложено использовать пароль обычного пользователя при использовании sudo в первый раз для каждого сеанса (и периодически после этого).

      Чтобы повысить уровень безопасности вашего сервера, мы настоятельно рекомендуем настроить ключи SSH вместо использования аутентификации по паролю. Следуйте указаниям по настройке ключей SSH в CentOS 8 из нашего руководства, чтобы узнать, как настроить аутентификацию на основе ключей.

      Если учетная запись root использует аутентификацию по ключу SSH

      Если вы выполнили вход в учетную запись root с помощью ключей SSH, тогда аутентификация по паролю для SSH отключена. Вам потребуется добавить копию открытого ключа в файл ~/.ssh/authorized_keys нового пользователя для успешного входа.

      Поскольку ваш открытый ключ уже включен в файл ~/.ssh/authorized_keys учетной записи root на сервере, мы можем скопировать структуру этого файла и директории для нашей новой учетной записи.

      Самый простой способ копирования файлов с правильным правами владения и разрешениями — воспользоваться командой rsync. Она будет копировать директорию .ssh учетной записи root, сохранит разрешения и изменит владельцев файлов, все в одной команде. Обязательно измените выделенные ниже части согласно имени вашего стандартного пользователя:

      Примечание. Команда rsync использует источники и пункты назначения, оканчивающиеся на завершающий слеш, иначе, чем те, которые этот завершающий слеш не имеют. При использовании rsync ниже убедитесь, что директория источника (~/.ssh) не включает завершающий слеш (убедитесь, что вы не используете ~/.ssh/​​​).

      Если вы случайно добавите в команду завершающий слеш, rsync будет копировать содержимое директории ~/.ssh учетной записи root в домашнюю директорию пользователя sudo вместо копирования всей структуры директории ~/.ssh. Файлы будут находиться в неправильном месте, и SSH не сможет найти и использовать их.

      • rsync --archive --chown=sammy:sammy ~/.ssh /home/sammy

      Теперь, вернувшись в новый терминал на локальном компьютере, откройте новый сеанс SSH с пользователем без прав root:

      Вы должны выполнить вход в новую учетную запись без использования пароля. Если вам нужно запустить команду с правами администратора, введите sudo перед командой следующим образом:

      Вам будет предложено использовать пароль обычного пользователя при использовании sudo в первый раз для каждого сеанса (и периодически после этого).

      Заключение

      Теперь у вас есть надежное основание для вашего сервера. Вы можете переходить к установке программного обеспечения, которое требуется на вашем сервере.



      Source link

      Первоначальная настройка сервера с ОС Ubuntu 18.04


      Введение

      При создании нового сервера Ubuntu 18.04 необходимо выполнить ряд операций конфигурирования в рамках ранней стадии базовой настройки. Это повысит уровень безопасности и удобства использования вашего сервера, а также создаст прочную основу для дальнейших действий.

      Примечание: Ниже представлено руководство по выполнению в ручном режиме всех рекомендуемых нами операций для новых серверов Ubuntu 18.04. Выполнение данной процедуры в ручном режиме позволит получить и отработать базовые навыки администрирования системы для полного понимания действий, осуществляемых на сервере. В качестве альтернативы, при необходимости более быстрого запуска и работы вы можете запустить наш скрипт первоначальной настройки сервера для автоматизации данных операций.

      Шаг 1 — Вход в систему под именем Root

      Для входа на сервер необходимо знать публичный IP-адрес сервера. Также понадобится пароль или, если для аутентификации установлен SSH-ключ, закрытый ключ для учетной записи пользователя root. Если вы еще не вошли на сервер, вы можете использовать инструкции из нашего руководства подключение к Droplet с помощью SSH, где содержится подробное описание процесса.

      Если вы еще не подключены к серверу, войдите в систему под именем root, используя следующую команду (замените выделенную часть команды на публичный IP-адрес вашего сервера):

      Подтвердите предупреждение о подлинности хоста, если оно появится на экране. Если вы используете аутентификацию по паролю, укажите пароль учетной записи root для входа в систему. Если вы используете SSH-ключ, защищенный кодовой фразой, то при первом использовании ключа в каждом сеансе вам может быть предложено ввести кодовую фразу. Если вы впервые входите на сервер с помощью пароля, вам также может быть предложено сменить пароль root.

      О пользователе Root

      Пользователь root является администратором в среде Linux и имеет весьма широкие права. Ввиду расширенных прав учетной записи root не рекомендуется использовать ее на постоянной основе, поскольку некоторые права, предоставляемые учетной записи root, дают возможность вносить деструктивные изменения, в том числе случайно.

      Следующим шагом является создание альтернативной учетной записи пользователя с меньшим влиянием на повседневную работу. Мы расскажем, как получить расширенные права, когда они вам потребуются.

      Шаг 2 — Создание нового пользователя

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

      В этом примере показан процесс создания нового пользователя под именем sammy, которое следует заменить на желаемое имя пользователя:

      Вам будут заданы несколько вопросов, начиная с пароля учетной записи.

      Введите надежный пароль и, при желании, укажите дополнительную информацию. Если это не требуется, нажмите ENTER в поле, которое вы хотите пропустить.

      Шаг 3 — Предоставление прав администратора

      Теперь у нас есть новая учетная запись пользователя с правами обычной учетной записи. Однако иногда нам может потребоваться выполнение задач администратора.

      Чтобы избежать необходимости выхода из учетной записи обычного пользователя и входа в систему под именем root, мы можем настроить так называемые права "superuser" или root для нашей обычной учетной записи. Это позволит обычному пользователю запускать команды с правами администратора путем добавления слова sudo перед каждой командой.

      Чтобы назначить данные права нашему новому пользователю, необходимо добавить нового пользователя в группу sudo. По умолчанию на сервере Ubuntu 18.04 пользователям группы sudo разрешается использовать команду sudo.

      Запустите данную команду под именем root, чтобы добавить нового пользователя в группу sudo (замените выделенное слово на имя нового пользователя):

      Теперь после входа в систему в качестве обычного пользователя вы можете вводить sudo перед командами для выполнения действий с правами superuser.

      Шаг 4 — Установка простого брандмауэра

      Серверы Ubuntu 18.04 могут использовать брандмауэр UFW, чтобы обеспечить возможность подключения только к определенным сервисам. Мы можем легко установить простой брандмауэр с помощью данного приложения.

      Примечание: Если ваши серверы работают на DigitalOcean, вы можете использовать брандмауэры DigitalOcean Cloud Firewalls вместо UFW. Мы рекомендуем использовать только один брандмауэр, чтобы избежать трудноустранимых конфликтов.

      Различные приложения могут регистрировать свои профили при установке UFW. Данные профили позволяют UFW управлять приложениями по имени. Сервис OpenSSH, позволяющий подключиться к нашему серверу, имеет зарегистрированный профиль в UFW.

      Вы можете проверить это, набрав:

      Output

      Available applications: OpenSSH

      Необходимо убедиться, что брандмауэр разрешает SSH-соединения, чтобы можно было войти в систему в следующий раз. Мы можем разрешить эти соединения путем ввода:

      Затем мы можем активировать брандмауэр путем ввода:

      Введите "y" и нажмите ENTER, чтобы продолжить. Можно увидеть, что SSH-соединения разрешены, путем ввода:

      Output

      Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)

      Поскольку брандмауэр в настоящее время блокирует все подключения, кроме SSH, при установке и настройке дополнительных сервисов вам необходимо настроить параметры брандмауэра, чтобы разрешить соответствующий входящий трафик. Ознакомьтесь с общими операциями UFW в настоящем руководстве.

      Шаг 5 — Предоставление внешнего доступа для обычного пользователя

      После создания обычного пользователя для повседневной работы необходимо убедиться, что мы можем использовать SSH непосредственно в учетной записи.

      Примечание: До проверки возможности входа в систему и использования sudo с новым пользователем мы рекомендуем оставаться в системе под именем root. В таком случае при появлении проблем их можно устранить и внести необходимые изменения под именем root. Если вы используете DigitalOcean Droplet и сталкиваетесь с проблемами с SSH-соединением root, вы можете зайти в систему Droplet, используя DigitalOcean Console.

      Процесс настройки SSH-доступа для нового пользователя зависит от того, использует ли учетная запись root сервера пароль или SSH-ключи для аутентификации.

      Если учетная запись Root использует аутентификацию по паролю

      Если вы вошли в учетную запись root, используя пароль, значит, для SSH активирована аутентификация по паролю. Вы можете использовать SSH для своей новой учетной записи пользователя, открыв новый сеанс и используя SSH с новым именем пользователя:

      После ввода пароля обычного пользователя вы войдете в систему. Помните, что при необходимости запуска команды с административными правами, введите sudo перед командой:

      Вам будет предложено ввести пароль обычного пользователя при первом использовании sudo в каждом сеансе (и периодически после этого).

      Для повышения безопасности вашего сервера ** мы настоятельно рекомендуем установить SSH-ключи вместо использования аутентификации по паролю**. Следуйте нашему руководству Установка SSH-ключей на Ubuntu 18.04 для настройки аутентификации с помощью ключей.

      Если учетная запись Root использует аутентификацию с помощью SSH-ключей

      Если вы вошли в учетную запись root, используя SSH-ключи, значит, для SSH аутентификация по паролю деактивирована. Для успешного входа в систему необходимо добавить копию локального открытого ключа в файл ~/.ssh/authorized_keys нового пользователя.

      Поскольку ваш открытый ключ уже находится в файле ~/.ssh/authorized_keys учетной записи root на сервере, мы можем скопировать данную структуру файлов и каталогов в нашу новую учетную запись пользователя в рамках текущего сеанса.

      Самым простым способом копирования файлов с правильными правами и полномочиями является использование команды rsync. Данная команда позволяет копировать каталог .ssh пользователя root, сохранять полномочия и изменять владельцев файлов. Измените выделенные части указанной ниже команды с учетом имени обычного пользователя:

      Примечание: Команда rsync по-разному обрабатывает источники и приемники с завершающим слэшем и без завершающего слэша. При использовании команды rsync ниже убедитесь, что исходный каталог (~/.ssh) не содержит завершающий слэш (убедитесь, что вы не используете ~/.ssh/).

      Если вы случайно добавили завершающий слэш в команду, rsync скопирует содержание каталога ~/.ssh учетной записи root в корневой каталог пользователя sudo вместо копирования всей структуры каталогов ~/.ssh. Файлы будут храниться в неправильном месте, и SSH не сможет их найти и использовать.

      • rsync --archive --chown=sammy:sammy ~/.ssh /home/sammy

      Теперь начните новый сеанс и используйте SSH с новым именем пользователя:

      Вы должны войти в учетную запись нового пользователя без пароля. Помните, что при необходимости запуска команды с административными правами, введите sudo перед командой:

      Вам будет предложено ввести пароль обычного пользователя при первом использовании sudo в каждом сеансе (и периодически после этого).

      Что дальше?

      На данный момент у вас есть прочная основа для вашего сервера. Теперь вы можете установить на сервер любое необходимое программное обеспечение.



      Source link