How to secure Lig with Let’s Encrypt TLS on Debian/Ubuntu – nixCraft

How to secure Lig with Let's Encrypt TLS on Debian/Ubuntu - nixCraft Сертификаты

Что нам нужно?

Нам нужен незашифрованный приватный ключ. Расшифруем его:

openssl rsa -in mysite.crypted.ssl.key -out mysite.ssl.key

Вас попросят ввести пароль. Введите тот же, что вы вводили на сайте, при создании сертификата (если конечно вы не получали свой сертификат через запрос)


Параметр

rsa

Что у мы имеем?

После прохождения процедуры получения сертификата мы имеем следующие файлы:

Как понять что ключ зашифрован? Откройте его в блокноте и вы увидите нечто вроде:

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-256-CBC,BDB41D7C86E2A96A076A42D8A512DD16
uzm hBCIm4PfThj4QW/DoY/hPeSOFsEtwoYGeKlc7L7JuvZeDnQmt5LN1hmdzxiO
< здесь много подобных строк >
-----END RSA PRIVATE KEY-----

Устанавливаем официальный клиент Let’s Encrypt

Удобнее всего это сделать из дерева портов системы.

Настраиваем механизм автоматического обновления сертификатов

Все сертификаты, выдаваемые Let’s Encrypt имеют срок действия в 90 дней и это его второй относительный минус. Столь короткий срок, равно как и отсутствие возможности использования wildcard, обусловлены заботой о повышении уровня безопасности сертифицируемых доменов.
Обновление всей базы полученых SSL сертификатов производится простой командой.

PROFIT!

Статья была полезной? Тогда прошу не стесняться и поддерживать деньгами через PayPal или Яндекс.Деньги.

A note about cron job

A cron job will try to do renewal a certificate for you too. This is installed by default as follows (no action required on your part). Hence, we can list it using the crontab command as follows:$ sudo crontab -lSample cron job:

33 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null

Drupal

Устанавливаем Drupal:

Про сертификаты:  Помощь в оформлении сертификата на теплоизоляционные материалы– услуги сертификации

# pacman -S drupal

УБедитесь, что необходимые директории перечислены в директиве open_basedir в /etc/php/php.ini

/etc/php/php.ini

How do i renew a certificate?

# acme.sh –renew -d www.my-sertif.ru

How do i upgrade acme.sh client?

# acme.sh –upgrade

Htdigest

Файл содержит строки с именами пользователей, realm’ом и зашифрованными с помощью md5() паролями. Имя пользователя, realm и пароль разделяются двоеточием. Например:

agent007:download area:8364d0044ef57b3defcfa141e8f77b65

Htpasswd

Файл содержит строки с именами пользователей и зашифрованными с помощью crypt() паролями. Имя пользователя и пароль разделяются двоеточием.Например:

agent007:XWY5JwrAVBXsQ

Let’s encrypt

Alternatively, generate a certificate signed by Let’s Encrypt.

Mediawiki

Устанавливаем необходимые пакеты:

Mod_evhost

Модуль evhost создаёт document-root, основываясь на шаблнах. Эти шаблоны представляют различные части запроса “host”:

  • %% => % sign
  • %0 => domain name tld
  • %1 => tld
  • %2 => domain name without tld
  • %3 => subdomain 1 name
  • %4 => subdomain 2 name
  • %_ => full domain name

Mod_simple_vhost

Этот способ более прост и экономичен. В указанной директории хостинга имя каждого каталога соответствует аналогичному имени вируального хоста. Внутри каждого такого каталога находится dccroot вируального хоста.

Docroot для каждого вируального хоста строится из следующих трёх значений:

  • server-root
  • hostname
  • document-root

Абсолютный путь к docroot’у строится из:

server-root   hostname   document-root

в случае если путь не существует

server-root   default-host   document-root

Совет: Вы можете использовать символьные ссылки чтобы соотнести несколько имён хостов одной директории.

В качестве примера приведём следующий:

Obtaining and renewing let’s encrypt ssl certificate

Не так давно в промышленную эксплуатацию был запущен центр сертификации Let’s Encrypt.

От всех прочих провайдеров SSL сертификатов его отличает две главные особенности.

Во-первых, Let’s Encrypt позволяет получить (и в ряде случаев даже установить) полученный сертификат в вашу систему в автоматическом режиме, а, во-вторых, сделать это совершенно бесплатно.

Про сертификаты:  Банк-клиент

Сочетание этих двух факторов даёт возможность легко получить, быстро установить и забыть об обновлении полученного (одного или нескольких) SSL сертификатов в будущем.

Итак, небольшой how-to который был подготовлен на базе настройки этого самого блога.

Plain

Файл содержит строки с именами пользователей и паролями в открытом виде. Имя пользователя и пароль разделяются двоеточием. Например:

agent007:secret

Self-signed

Self-signed SSL Certificates can be generated assuming openssl is installed on the system as follows:

Step 1 – install acme.sh client

Type the following apt-get command/apt command:$ sudo apt-get install git bc wget curlSample outputs:

Step 3 – create /.well-known/acme-challenge/ directory

Type the following command (set D to actual server.document-root path as per your setup):# D=/var/www/html# mkdir -vp ${D}/.well-known/acme-challenge/###—[ NOTE: Adjust permission as per your setup ]—#### chown -R www-data:www-data ${D}/.well-known/acme-challenge/# chmod -R 0555 ${D}/.well-known/acme-challenge/

Texvc

Устанавлиаем необходимые пакеты:

# pacman -S texvc

Затем в файле /usr/share/webapps/mediawiki/LocalSettings.php добавляем:

/usr/share/webapps/mediawiki/LocalSettings.php
$wgUseTeX           = true;
$wgMaxShellMemory = 8000000;
$wgMaxShellFileSize = 1000000;
$wgMaxShellTime = 300;

Using php-cgi

Install php and php-cgi (see also PHP and LAMP).

Check that php-cgi is working php-cgi –version

PHP 5.4.3 (cgi-fcgi) (built: May  8 2021 17:10:17)
Copyright (c) 1997-2021 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2021 Zend Technologies

If you get a similar output then php is installed correctly.

Create a new configuration file:

Using php-fpm

For dynamic management of PHP processes, you can install php-fpm and then start and enable php-fpm.service.

Аутентификация

Важно: Если mod_fastcgi и mod_auth используются вместе, то mod_auth должен быть загружен до mod_fastcgi.

Бесплатный sll сертификат и его установка под lig

Бесплатный ssl-сертфикат на 3 месяца:

1.

https://www.sslforfree.com/

2. вводится имя домена -> manual verification

3. скачивается файл, создается нужная структура папок, нажимается проверочтный линк, скачивается сертификат.

Про сертификаты:  Производство Пластизолей оптом на экспорт. ТОП 45 экспортеров Пластизолей

По установке:
1. сайт отдает три файла

ca_bundle.crt
certificate.crt
private.key

2. складываем их в нужную папку под lighttpd, например:

/etc/lighttpd/cert/

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

openssl rsa -in private.key -out private-dec.key

4. затем объединим ключ и сертификат в один PEM-файл:

cat private-dec.key certificate.crt > host.pem

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

5. дальнейшие действия заключаются в добавлении серверу цепочки необходимых сертификатов центра сертификации.

копируем ca_bundle.crt в ту же папку, что и host.pem, в примере выше это:

/etc/lighttpd/cert/

6. В лайти (ssl.conf или lighttpd.conf для vhost(?)) добавляем строчку ниже и перезапускаем лайти:

ssl.ca-file = “/etc/lighttpd/cert/ca_bundle.crt”

Полезная статья на эту тему: https://interface31.ru/tech_it/2021/09/veb-server-lighttpd-vklyuchaem-podderzhku-ssl.html

Использование условий

Первый способ заключается в изменении server.document-root в зависимости от содержимого заголовка “host”.

Кодировка по умолчанию

Чтобы установить кодировку для статических файлов, нужно добавить charset=utf-8 в директиве mimetype.assign. Например:

Обработчик сетевых соединений

Основный интерфейс для всех платформ – это системные вызовы read() и write(). Современные операционные системы имеют свои собственные системные вызовы, помогающие серверам передавать файлы так быстро, как это возможно. Чтобы установить обработчик сетевых сеодиненй используется директива server.network-backend:

Обработчик событий

Для Linux с ядром 2.6 и выше рекомендуется следующее значение:

Ограничение доступа

Для использования ограничения доступа необходим включить mod_access:

Сжатие динамического контента

Для сжатия динамического контента (PHP) в /etc/php/php.ini нужно включить следующую директиву:

/etc/php/php.ini
zlib.output_compression = On

Сжатие исходящих данных

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

На сегодня поддерживается только статичное содержимое.

Сервер автоматически договаривается какой метод сжатия использовать. Поддерживается gzip, deflate, bzip.

Ограничение на размер сжимаемых файлов: от 128 байт до 128 мегабайт.

Создаём нужную директорию и задаём владельца:

Оцените статью
Мой сертификат
Добавить комментарий