One place for hosting & domains

      Первоначальная настройка сервера с ОС 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

      Как повысить безопасность Nginx с помощью Let’s Encrypt в Ubuntu 18.04


      Предыдущая версия руководства была написана Хэйзел Вирдо.

      Введение

      Let’s Encrypt представляет собой центр сертификации (Certificate Authority, CA), позволяющий получать и устанавливать бесплатные сертификаты TLS/SSL, тем самым позволяя использовать шифрованный HTTPS на веб-серверах. Процесс получения сертификатов упрощается за счёт наличия клиента Certbot, который пытается автоматизировать большую часть (если не все) необходимых операций. В настоящее время весь процесс получения и установки сертификатов полностью автоматизирован и для Apache и для Nginx.

      В этом руководстве мы используем Certbot для получения бесплатного SSL сертификата для Nginx на Ubuntu 18.04, а также настроим автоматическое продление этого сертификата.

      Перед установкой

      Перед тем, как начать следовать описанным в этой статье шагам, убедитесь, что у вас есть:

      • Сервер с Ubuntu 18.04, настроенный согласно руководству по первичной настройке сервера с Ubuntu 18.04, включая настройку не-рутового (non-root) пользователя с привилегиями sudo и настройку файрвола.
      • Зарегистрированное доменное имя. В этом руководстве мы будем использовать example.com. Вы можете приобрести доменное имя на Namecheap, получить бесплатное доменное имя на Freenom или использовать любой другой регистратор доменных имён.
      • Для вашего сервера настроены обе записи DNS, указанные ниже. Для их настройки вы можете использовать наше введение в работу с DNS в DigitalOcean.
        • Запись A для example.com, указывающая на публичный IP адрес вашего сервера.
        • Запись A для www.example.com, указывающая на публичный IP адрес вашего сервера.
      • Nginx, установленный согласно инструкциям из руководства Как установить Nginx в Ubuntu 18.04. Убедитесь, что у вас есть настроенный серверный блок для вашего домена. В этом руководстве мы будем использовать /etc/nginx/sites-available/example.com в качестве примера.

      Шаг 1 – Установка Certbot

      Перед началом использования Let’s Encrypt для получения SSL сертификаты установим Certbot на ваш сервер.

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

      Сначала добавим репозиторий:

      • sudo add-apt-repository ppa:certbot/certbot

      Далее нажмите ENTER.

      Установим пакет Certbot для Nginx с помощью apt:

      • sudo apt install python-certbot-nginx

      Теперь Certbot готов к использованию, но для того, чтобы он мог настроить SSL для Nginx, нам сперва необходимо проверить кое-какие настройки Nginx.

      Шаг 2 – Проверка настроек Nginx

      Certbot должен иметь возможность найти корректный серверный блок в вашей конфигурации Nginx для того, чтобы автоматически конфигурировать SSL. Для этого он будет искать директиву server_name, которая совпадает с доменным именем, для которого вы запросите сертификат.

      Если вы следовали инструкциям по настройке серверного блока в руководстве по установке Nginx, у вас должен быть серверный блок для вашего домена по адресу /etc/nginx/sites-available/example.com с уже правильно настроенной директивой server_name.

      Для проверки откройте файл серверного блока в nano или любом другом текстовом редакторе:

      • sudo nano /etc/nginx/sites-available/example.com

      Найдите строку с server_name. Она должна выглядеть примерно так:

      /etc/nginx/sites-available/example.com

      ...
      server_name example.com www.example.com;
      ...
      

      Если она выглядит таким образом, закройте файл и переходите к следующему шагу.

      Если она не выглядит так, как описано выше, обновите директиву server_name. Затем сохраните и закройте файл, после чего проверьте корректность синтаксиса вашего конфигурационного файла командой:

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

      • sudo systemctl reload nginx

      Теперь Certbot может находить и обновлять корректный серверный блок.

      Далее обновим настройки файрвола для пропуска HTTPS трафика.

      Шаг 3 - Разрешение HTTPS в файрволе

      Если у вас включен файрвол ufw, как рекомендуется в руководстве по первичной настройке сервера, вам необходимо внести некоторые изменения в его настройки для разрешения трафика HTTPS. К счастью, Nginx регистрирует необходимые профили в ufw в момент установки.

      Вы можете ознакомиться с текущими настройками командой:

      Скорее всего вывод будет выглядеть следующим образом:

      Вывод

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

      Как видно из вывода, разрешён только трафик HTTP.

      Для того, чтобы разрешить трафик HTTPS, разрешим профиль Nginx Full и удалим избыточный профиль Nginx HTTP:

      • sudo ufw allow 'Nginx Full'
      • sudo ufw delete allow 'Nginx HTTP'

      Проверим внесённые изменения:

      Теперь настройки ufw должны выглядеть следующим образом:

      Вывод

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

      Теперь мы можем запустить Certbot и получить наши сертификаты.

      Шаг 4 - Получение SSL сертификата

      Certbot предоставляет несколько способов получения сертификатов SSL с использованием плагинов. Плагин для Nginx берёт на себя настройку Nginx и перезагрузку конфигурации, когда это необходимо. Для использования плагина выполним команду:

      • sudo certbot --nginx -d example.com -d www.example.com

      Эта команда запускает certbot с плагином --nginx, ключи -d определяют имена доменов, для которых должен быть выпущен сертификат.

      Если это первый раз, когда вы запускаете certbot, вам будет предложено ввести адрес электронной почты и согласиться с условиями использования сервиса. После этого certbot свяжется с сервером Let's Encrypt, а затем проверит, что вы действительно контролируете домен, для которого вы запросили сертификат.

      Если всё прошло успешно, certbot спросит, как вы хотите настроить конфигурацию HTTPS.

      Вывод

      Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. ------------------------------------------------------------------------------- 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. ------------------------------------------------------------------------------- Select the appropriate number [1-2] then [enter] (press 'c' to cancel):

      Выберите подходящий вариант и нажмите ENTER. Конфигурация будет обновлена, а Nginx перезапущен для применения изменений. certbot выдаст сообщение о том, что процесс прошёл успешно, и где хранятся ваши сертификаты:

      Вывод

      IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/example.com/privkey.pem Your cert will expire on 2018-07-23. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le

      Ваши сертификаты загружены, установлены и работают. Попробуйте перезагрузить ваш сайт с использованием https:// и вы увидите значок безопасности в браузере. Он означает, что соединение с сайтом зашифровано, обычно он выглядит, как зелёная иконка замка. Если вы проверите ваш сервер тестом SSL Labs Server Test, он получит оценку A.

      Закончим тестированием процесса обновления сертификата.

      Шаг 5 - Проверка автоматического обновления сертификата

      Сертификаты Let's Encrypt действительны только 90 дней. Это сделано для того, чтобы пользователи автоматизировали процесс обновления сертификатов. Пакет certbot, который мы установили, делает это путём добавления скрипта обновления в /etc/cron.d. Этот скрипт запускается раз в день и автоматически обновляет любые сертификаты, которые закончатся в течение ближайших 30 дней.

      Для тестирования процесса обновления мы можем сделать "сухой" запуск (dry run) certbot:

      • sudo certbot renew --dry-run

      Если вы не видите каких-либо ошибок в результате выполнения этой команды, то всё в полном порядке. При необходимости Certbot будет обновлять ваши сертификаты и перезагружать Nginx для применения изменений. Если автоматическое обновление по какой-либо причине закончится ошибкой, Let's Encrypt отправит электронное письмо на указанный вами адрес электронной почты с информацией о сертификате, который скоро закончится.

      Заключение

      В этом руководстве мы рассмотрели процесс установки клиента Let's Encrypt certbot, загрузили SSL сертификаты для вашего домена, настроили Nginx для использования этих сертификатов и настроили процесс автоматического обновления сертификатов. Если у вас есть вопросы по работе с Certbot, рекомендуем ознакомиться с документацией Certbot.



      Source link

      Как повысить безопасность Apache с помощью Let’s Encrypt в Ubuntu 18.04


      Введение

      Let’s Encrypt представляет собой центр сертификации (Certificate Authority, CA), позволяющий получать и устанавливать бесплатные сертификаты TLS/SSL, тем самым позволяя использовать шифрованный HTTPS на веб-серверах. Процесс получения сертификатов упрощается за счёт наличия клиента Certbot, который пытается автоматизировать большую часть (если не все) необходимых операций. В настоящее время весь процесс получения и установки сертификатов полностью автоматизирован и для Apache и для Nginx.

      В этом руководстве мы используем Certbot для получения бесплатного SSL сертификата для Apache на Ubuntu 18.04, а также настроим автоматическое продление этого сертификата.

      В этом руководстве мы будем использовать файл отдельного виртуального хоста Apache вместо дефолтного файла конфигурации. Мы рекомендуем создавать новый файлы виртуальных хостов Apache для каждого доменного имени, потому что это помогает избегать распространённых ошибок и использовать дефолтные файлы в качестве примера корректной конфигурации, когда что-нибудь пойдёт не так.

      Перед установкой

      Перед тем, как начать следовать описанным в этой статье шагам, убедитесь, что у вас есть:

      • Сервер с Ubuntu 18.04, настроенный согласно руководству по первичной настройке сервера с Ubuntu 18.04, включая настройку не-рутового (non-root) пользователя с привилегиями sudo и настройку файрвола.
      • Зарегистрированное доменное имя. В этом руководстве мы будем использовать example.com. Вы можете приобрести доменное имя на Namecheap, получить бесплатное доменное имя на Freenom или использовать любой другой регистратор доменных имён.
      • Для вашего сервера настроены обе записи DNS, указанные ниже. Для их настройки вы можете использовать наше введение в работу с DNS в DigitalOcean.
        • Запись A для example.com, указывающая на публичный IP адрес вашего сервера.
        • Запись A для www.example.com, указывающая на публичный IP адрес вашего сервера.
      • Apache, установленный согласно инструкциям из руководства Как установить Apache в Ubuntu 18.04. Убедитесь, что у вас есть настроенный файл виртуального хоста для вашего домена. В этом руководстве мы будем использовать /etc/apache2/sites-available/example.com.conf в качестве примера.

      Шаг 1 – Установка Certbot

      Перед началом использования Let’s Encrypt для получения SSL сертификаты установим Certbot на ваш сервер.

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

      Сначала добавим репозиторий:

      • sudo add-apt-repository ppa:certbot/certbot

      Далее нажмите ENTER.

      Установим пакет Certbot для Apache с помощью apt:

      • sudo apt install python-certbot-apache

      Теперь Certbot готов к использованию, но для того, чтобы он мог настроить SSL для Apache, нам сперва необходимо проверить кое-какие настройки Apache.

      Шаг 2 – Настройка SSL сертификата

      Certbot должен иметь возможность найти корректный виртуальный хост в вашей конфигурации Apache для того, чтобы автоматически конфигурировать SSL. Для этого он будет искать директиву ServerName, которая совпадает с доменным именем, для которого вы запросите сертификат.

      Если вы следовали инструкциям по настройке виртуального хоста в руководстве по установке Apache, у вас должен быть виртуальный хост для вашего домена по адресу /etc/apache2/sites-available/example.com.conf с уже правильно настроенной директивой ServerName.

      Для проверки откройте файл серверного блока в nano или любом другом текстовом редакторе:

      • sudo nano /etc/apache2/sites-available/example.com.conf

      Найдите строку с ServerName. Она должна выглядеть примерно так:

      /etc/apache2/sites-available/example.com.conf

      ...
      ServerName example.com;
      ...
      

      Если она выглядит таким образом, закройте файл и переходите к следующему шагу.

      Если она не выглядит так, как описано выше, обновите директиву ServerName. Затем сохраните и закройте файл, после чего проверьте корректность синтаксиса вашего конфигурационного файла командой:

      • sudo apache2ctl configtest

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

      • sudo systemctl reload apache2

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

      Далее обновим настройки файрвола для пропуска HTTPS трафика.

      Шаг 3 – Разрешение HTTPS в файрволе

      Если у вас включен файрвол ufw, как рекомендуется в руководстве по первичной настройке сервера, вам необходимо внести некоторые изменения в его настройки для разрешения трафика HTTPS. К счастью, Apache регистрирует необходимые профили в ufw в момент установки.

      Вы можете ознакомиться с текущими настройками командой:

      Скорее всего вывод будет выглядеть следующим образом:

      Вывод

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

      Как видно из вывода, разрешён только трафик HTTP.

      Для того, чтобы разрешить трафик HTTPS, разрешим профиль Apache Full и удалим избыточный профиль Apache:

      • sudo ufw allow 'Apache Full'
      • sudo ufw delete allow 'Apache'

      Проверим внесённые изменения:

      Теперь настройки ufw должны выглядеть следующим образом:

      Вывод

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

      Теперь мы можем запустить Certbot и получить наши сертификаты.

      Шаг 4 - Получение SSL сертификата

      Certbot предоставляет несколько способов получения сертификатов SSL с использованием плагинов. Плагин для Apache берёт на себя настройку Apache и перезагрузку конфигурации, когда это необходимо. Для использования плагина выполним команду:

      • sudo certbot --apache -d example.com -d www.example.com

      Эта команда запускает certbot с плагином --apache, ключи -d определяют имена доменов, для которых должен быть выпущен сертификат.

      Если это первый раз, когда вы запускаете certbot, вам будет предложено ввести адрес электронной почты и согласиться с условиями использования сервиса. После этого certbot свяжется с сервером Let's Encrypt, а затем проверит, что вы действительно контролируете домен, для которого вы запросили сертификат.

      Если всё прошло успешно, certbot спросит, как вы хотите настроить конфигурацию HTTPS.

      Вывод

      Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. ------------------------------------------------------------------------------- 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. ------------------------------------------------------------------------------- Select the appropriate number [1-2] then [enter] (press 'c' to cancel):

      Выберите подходящий вариант и нажмите ENTER. Конфигурация будет обновлена, а Apache перезапущен для применения изменений. certbot выдаст сообщение о том, что процесс прошёл успешно, и где хранятся ваши сертификаты:

      Вывод

      IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/example.com/privkey.pem Your cert will expire on 2018-07-23. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le

      Ваши сертификаты загружены, установлены и работают. Попробуйте перезагрузить ваш сайт с использованием https:// и вы увидите значок безопасности в браузере. Он означает, что соединение с сайтом зашифровано, обычно он выглядит, как зелёная иконка замка. Если вы проверите ваш сервер тестом SSL Labs Server Test, он получит оценку A.

      Закончим тестированием процесса обновления сертификата.

      Шаг 5 - Проверка автоматического обновления сертификата

      Сертификаты Let's Encrypt действительны только 90 дней. Это сделано для того, чтобы пользователи автоматизировали процесс обновления сертификатов. Пакет certbot, который мы установили, делает это путём добавления скрипта обновления в /etc/cron.d. Этот скрипт запускается раз в день и автоматически обновляет любые сертификаты, которые закончатся в течение ближайших 30 дней.

      Для тестирования процесса обновления мы можем сделать "сухой" запуск (dry run) certbot:

      • sudo certbot renew --dry-run

      Если вы не видите каких-либо ошибок в результате выполнения этой команды, то всё в полном порядке. При необходимости Certbot будет обновлять ваши сертификаты и перезагружать Apache для применения изменений. Если автоматическое обновление по какой-либо причине закончится ошибкой, Let's Encrypt отправит электронное письмо на указанный вами адрес электронной почты с информацией о сертификате, который скоро закончится.

      Заключение

      В этом руководстве мы рассмотрели процесс установки клиента Let's Encrypt certbot, загрузили SSL сертификаты для вашего домена, настроили Apache для использования этих сертификатов и настроили процесс автоматического обновления сертификатов. Если у вас есть вопросы по работе с Certbot, рекомендуем ознакомиться с документацией Certbot.



      Source link