Как установить бесплатный SSL-сертификат на виртуальную машину с Bitrix GT |

How to manually install/renew let’s encrypt ssl in zimbra – mellowhost blog

If you are having trouble installing Let’s Encrypt SSL with the certbot-zimbra.sh file, then probably you would need to follow this tutorial. To follow this tutorial, we first need to install certbot. certbot has a built in web server to allow you get the certificate without actually installing an extra web server or through Zimbra web server (nginx to be specific).

First, we install certbot with the following:

// install epel-release first
yum install epel-release
// install certbot from epel
yum install certbot

Once done, you may now use the following command to ensure certbot is working:

# certbot --help

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

  certbot [SUBCOMMAND] [options] [-d DOMAIN] [-d DOMAIN] ...

Certbot can obtain and install HTTPS/TLS/SSL certificates.  By default,
it will attempt to use a webserver both for obtaining and installing the
certificate. The most common SUBCOMMANDS and flags are:

obtain, install, and renew certificates:
    (default) run   Obtain & install a certificate in your current webserver
    certonly        Obtain or renew a certificate, but do not install it
    renew           Renew all previously obtained certificates that are near
expiry
    enhance         Add security enhancements to your existing configuration
   -d DOMAINS       Comma-separated list of domains to obtain a certificate for

  (the certbot apache plugin is not installed)
  --standalone      Run a standalone webserver for authentication
  --nginx           Use the Nginx plugin for authentication & installation
  --webroot         Place files in a server's webroot folder for authentication
  --manual          Obtain certificates interactively, or using shell script
hooks

   -n               Run non-interactively
  --test-cert       Obtain a test certificate from a staging server
  --dry-run         Test "renew" or "certonly" without saving any certificates
to disk

manage certificates:
    certificates    Display information about certificates you have from Certbot
    revoke          Revoke a certificate (supply --cert-name or --cert-path)
    delete          Delete a certificate (supply --cert-name)

manage your account:
    register        Create an ACME account
    unregister      Deactivate an ACME account
    update_account  Update an ACME account
  --agree-tos       Agree to the ACME server's Subscriber Agreement
   -m EMAIL         Email address for important account notifications

More detailed help:

  -h, --help [TOPIC]    print this message, or detailed help on a topic;
                        the available TOPICS are:

   all, automation, commands, paths, security, testing, or any of the
   subcommands or plugins (certonly, renew, install, register, nginx,
   apache, standalone, webroot, etc.)
  -h all                print a detailed help page including all topics
  --version             print the version number
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Once you ensure certbot is installed, now you may use certbot to get the certificate, using the certbot –standalone tag. Remember to stop zimbra first, as Zimbra also runs a nginx web server, that would prevent certbot to use standalone or it’s own web server to verify certificate.

// from root, run
[[email protected] ~]# service zimbra stop

// wait until zimbra stops, once done, use the following to get certificate for your domain/hostname in place of mail.domain.com
[[email protected] ~]# certbot certonly --standalone -d mail.domain.com

This would get your certificate and save it in:

/etc/letsencrypt/live/mail.domain.com

Now, that folder would contain 4 files. Something like the following:

]# ls -la /etc/letsencrypt/live/mail.domain.com/
total 16
drwxr-xr-x 2 root root 4096 Apr 16 11:30 .
drwx------ 4 root root 4096 Feb 10  2020 ..
lrwxrwxrwx 1 root root   40 Apr 16 11:30 cert.pem -> ../../archive/mail.domain.com/cert8.pem
lrwxrwxrwx 1 root root   41 Apr 16 11:30 chain.pem -> ../../archive/mail.domain.com/chain8.pem
lrwxrwxrwx 1 root root   45 Apr 16 11:30 fullchain.pem -> ../../archive/mail.domain.com/fullchain8.pem
lrwxrwxrwx 1 root root   43 Apr 16 11:30 privkey.pem -> ../../archive/mail.domain.com/privkey8.pem

As you can see, these files are symbolically linked to another files, depends on how many time you are running certbot. Each time, it generates a number liker cert8.pem, the next one would be cert9.pem and so on. So the orignal files are here:

/etc/letsencrypt/archive/mail.domain.com/cert8.pem
/etc/letsencrypt/archive/mail.domain.com/chain8.pem
/etc/letsencrypt/archive/mail.domain.com/fullchain8.pem
/etc/letsencrypt/archive/mail.domain.com/privkey8.pem

Now, we have our certificates. We need to follow a couple of steps to make sure everything is set correctly.

First, zimbra SSL files are stored here

/etc/zimbra/ssl/letsencrypt

We clean all old pem files

rm -f /etc/zimbra/ssl/letsencrypt/*

Now, copy the pem files we got to this folder with the following:

cp /etc/letsencrypt/archive/mail.domain.com/cert8.pem /opt/zimbra/ssl/letsencrypt/cert.pem
cp /etc/letsencrypt/archive/mail.domain.com/chain8.pem /opt/zimbra/ssl/letsencrypt/chain.pem
cp /etc/letsencrypt/archive/mail.domain.com/fullchain8.pem /opt/zimbra/ssl/letsencrypt/fullchain.pem
cp /etc/letsencrypt/archive/mail.domain.com/privkey8.pem /opt/zimbra/ssl/letsencrypt/privkey.pem

Check, how we are renaming all the files with number to file name without number, like cert8.pem is moved as cert.pem here.

Now, change the ownership of these files to zimbra with the following:

chown -Rf zimbra:zimbra /opt/zimbra/ssl/letsencrypt/*

Now, we are done from root, change your ownership to zimbra

su - zimbra

First job, is to change your directory to the ‘/opt/zimbra/ssl/letsencrypt/’

cd /opt/zimbra/ssl/letsencrypt/

Let’s Encrypt files are very much ready to use, only with one problem. Let’s Encrypt do not add it’s root CA certificate with it’s chain.pem file. We need to do this. First open the certificate with nano editor as following:

nano chain.pem

Now, at the end of the file, add the following section:

-----BEGIN CERTIFICATE-----
MIIDSjCCAjKgAwIBAgIQRK wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/
MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
DkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVow
PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD
Ew5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
AN v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi DoM3ZJKuM/IUmTrE4O
rz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEq
OLl5CjH9UL2AZd 3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9b
xiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt /yUFw
7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaD
aeQQmxkqtilX4 U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV
HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62 FLkHX/xBVghYkQMA0GCSqG
SIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or Dxz9LwwmglSBd49lZRNI DT69
ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX 5v3gTt23ADq1cEmv8uXr
AvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK rlmM6pZW87ipxZz
R8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5
JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL T0yjWW06XyxV3bqxbYo
Ob8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
-----END CERTIFICATE-----

After adding the above, your chain.pem file should look like the following

-----BEGIN CERTIFICATE-----
your chain pem encrypted certificate here
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDSjCCAjKgAwIBAgIQRK wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/
MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
DkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVow
PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD
Ew5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
AN v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi DoM3ZJKuM/IUmTrE4O
rz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEq
OLl5CjH9UL2AZd 3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9b
xiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt /yUFw
7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaD
aeQQmxkqtilX4 U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV
HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62 FLkHX/xBVghYkQMA0GCSqG
SIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or Dxz9LwwmglSBd49lZRNI DT69
ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX 5v3gTt23ADq1cEmv8uXr
AvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK rlmM6pZW87ipxZz
R8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5
JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL T0yjWW06XyxV3bqxbYo
Ob8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
-----END CERTIFICATE-----

Now, save the file (CTRL o) and exit (CTRL x)

We need to do one more thing before we are ready to verify and deploy the certificate. We need to set the letencrypt private key that we used to generate the certificate as commercial.key of zimbra. You may do this with the following two commands:

rm -f /opt/zimbra/ssl/zimbra/commercial/commercial.key
cp /opt/zimbra/ssl/letsencrypt/privkey.pem /opt/zimbra/ssl/zimbra/commercial/commercial.key

Now, you are ready to complete the job. First verify if everything is alright with the following:

[[email protected] letsencrypt]$ /opt/zimbra/bin/zmcertmgr verifycrt comm privkey.pem cert.pem chain.pem
** Verifying 'cert.pem' against 'privkey.pem'
Certificate 'cert.pem' and private key 'privkey.pem' match.
** Verifying 'cert.pem' against 'chain.pem'
Valid certificate chain: cert.pem: OK

If everything is ok, you may now deploy certificate with the following command:

/opt/zimbra/bin/zmcertmgr deploycrt comm cert.pem chain.pem

Once the certificate is deployed successfully, get out from the zimbra user to root user with the following command

exit

Now, you may start/restart zimbra with the following command:

service zimbra restart

If everything went right, you should now be able to go to your zimbra domain, and under the lock sign on the left of the domain shown in browser, you may click on it to see the extended date of ssl expiry. Sweet!

Про сертификаты:  Проверка SSL сертификата на сайте онлайн

Usage

USAGE: certbot_zimbra.sh < -d | -n | -p > [-aNuzjxcq] [-H my.host.name] [-e extra.domain.tld] [-w /var/www] [-s <service_names>] [-P port] [-L "--extra-le-parameters ..."]
  Only one option at a time can be supplied. Options cannot be chained.
  Mandatory options (only one can be specified):
	 -d | --deploy-only: Just deploys certificates. Can be run as --deploy-hook. If run standalone, assumes valid certificates are in /etc/letsencrypt/live. Incompatible with -n/--new, -p/--patch-only.
	 -n | --new: performs a request fora new certificate ("certonly"). Can be used to update the domainsin an existing certificate. Incompatible with -d/--deploy-only, -p/--patch-only.
	 -p | --patch-only: does only nginx patching. Useful to be called before renew, incase nginx templates have been overwritten by an upgrade. Incompatible with -d/--deploy-only, -n/--new, -x/--no-nginx.

  Options only used with -n/--new:
	 -a | --agree-tos: agree with the Terms of Service of Let's Encrypt (avoids prompt)	 -L | --letsencrypt-params "--extra-le-parameters ...": Additional parameters to pass to certbot/letsencrypt	 -N | --noninteractive: Pass --noninteractive to certbot/letsencrypt.  Domain options:	 -e | --extra-domain <extra.domain.tld>: additional domains being requested. Can be used multiple times. Implies -u/--no-public-hostname-detection.	 -H | --hostname <my.host.name>: hostname being requested. If not passed it's automatically detected using "zmhostname".
	 -u | --no-public-hostname-detection: do not detect additional hostnames from domains' zimbraServicePublicHostname.  Deploy options:	 -s | --services <service_names>: the set of services to be used for a certificate. Valid services are 'all' or any of: ldap,mailboxd,mta,proxy. Default: 'all'	 -z | --no-zimbra-restart: do not restart zimbra after a certificate deployment  Port check:	 -j | --no-port-check: disable port check. Incompatible with -P/--port.	 -P | --port <port>: HTTP port the web server to use for letsencrypt authentication is listening on. Is detected from zimbraMailProxyPort. Mandatory with -x/--no-nginx.  Nginx options:	 -w | --webroot "/path/to/www": path to the webroot of alternate webserver. Valid only with -x/--no-nginx.	 -x | --no-nginx: Alternate webserver mode. Don't check and patch zimbra-proxy's nginx. Must also specify -P/--port and -w/--webroot. Incompatible with -p/--patch-only.  Output options:	 -c | --prompt-confirm: ask for confirmation. Incompatible with -q/--quiet.	 -q | --quiet: Do not output on stdout. Useful for scripts. Implies -N/--noninteractive, incompatible with -c/--prompt-confirm.

If no -e is given, the script will figure out the additional domain(s) to add to the certificate as SANs via zmprov gd $domain zimbraPublicServiceHostname.
This can be skipped with -u/–no-public-hostname-detection, in which case only the CN from zmhostname or -H/–hostname will be used.

Only one certificate will be issued including all the found hostnames. The primary host will always be zmhostname.

Как установить бесплатный ssl-сертификат на виртуальную машину с bitrix gt

Чтобы установить бесплатный SSL-сертификат Let’s Encrypt на виртуальную машину с шаблоном Bitrix GT, необходимо выполнить следующие шаги:

1. Зайдите на виртуальный сервер через протокол удалённого доступа SSH:

Как установить бесплатный SSL-сертификат на виртуальную машину с Bitrix GT |

Данные для авторизации на виртуальном сервере через SSH вы можете посмотреть в Инструкции к услуге. В Личном кабинете откройте вкладку ТоварыВиртуальные серверы — кнопка Инструкция.

2. Выпуск SSL-сертификата от Let’s Encrypt выполняется с помощью специальной утилиты certbot. Для установки данной утилиты запустите предустановленный пакетный менеджер yum:

yum install -y certbot
Как установить бесплатный SSL-сертификат на виртуальную машину с Bitrix GT |

3. Перед выпуском настоящего SSL-сертификата, необходимо обязательно попробовать выпустить его в режиме dry-run (пробный или тестовый прогон). Сделать это можно следующим образом:

certbot certonly --expand -d bitrix-gt.fvds.ru -d www.bitrix-gt.fvds.ru -w /var/www/html --webroot --email webmaster@bitrix-gt.fvds.ru --agree-tos --dry-run
Как установить бесплатный SSL-сертификат на виртуальную машину с Bitrix GT |

В примере из статьи генерация пробного SSL-сертификата осуществляется на домен bitrix-gt.fvds.ru (и его поддомен четвертого уровня — www.bitrix-gt.fvds.ru). Корневая директория домена — /var/www/html. Доменное имя, почтовый адрес и корневой каталог вам необходимо изменить на свой.

4. Если в процессе выпуска в режиме dry-run утилита certbot не сообщила о каких-либо проблемах, то можно выпускать реальный SSL-сертификат. Выполните следующую команду:

certbot certonly --expand -d bitrix-gt.fvds.ru -d www.bitrix-gt.fvds.ru -w /var/www/html --webroot --email webmaster@bitrix-gt.fvds.ru --agree-tos -n
Как установить бесплатный SSL-сертификат на виртуальную машину с Bitrix GT |

5. Файлы созданного SSL-сертификата от Let’s Encrypt находятся в следующих файлах:

/etc/letsencrypt/live/bitrix-gt.fvds.ru/privkey.pem
/etc/letsencrypt/live/bitrix-gt.fvds.ru/fullchain.pem

Откройте конфигурационный файл виртуального хоста и создайте контекст server для обработки соединений по протоколу HTTPS, как это показано видео ниже:

vim /etc/nginx/bx/site_enabled/s1.conf
Как установить бесплатный SSL-сертификат на виртуальную машину с Bitrix GT |

В данном примере мы скопировали готовый контекст server домена bitrix-gt.fvds.ru. Изменили порт с 80 на 443, включили поддержку SSL и добавили пути к файлам SSL-сертификата. Файл с именем privkey.pem — это приватный ключ, а файл с именем fullchain.pem — цепочка SSL-сертификатов.

Возможно, что конфигурационный файл виртуального хоста вашего домена расположен в другом файле (не в файле по умолчанию s1.conf). Выполните команду ls на каталог /etc/nginx/bx/site_enabled и посмотрите, есть ли какие-нибудь файлы с именем вашего домена:

ls /etc/nginx/bx/site_enabled

Если вы обнаружите конфигурационный файл с именем домена, то вам необходимо работать именно с ним.

5.1. Выполнение следующего шага не обязательно и необходимо только в случае, если вы хотите повысить безопасность защищённых соединений. Добавьте в контекст server (там, где только что настраивали SSL) следующие параметры:

ssl_protocols TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES256-SHA384;

6. Проверьте, что с корректностью синтаксиса Nginx нет никаких проблем:

nginx -t
Как установить бесплатный SSL-сертификат на виртуальную машину с Bitrix GT |

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

И если всё хорошо и нет синтаксических ошибок, то перезагружайте службу Nginx:

systemctl restart nginx
Как установить бесплатный SSL-сертификат на виртуальную машину с Bitrix GT |

Теперь ваш сайт может принимать запросы клиентов по защищённому соединению. Проверить корректность установки можно, перейдя на сайт по HTTPS-соединению, или с помощью специализированных ресурсов. Например, sslshopper.com.

Про сертификаты:  Сделать диаскинтест ребенку и взрослому: показания, побочные эффекты, отличия от Манту

7. SSL-сертификат от Let’s Encrypt действителен в течение трёх месяцев. По истечению этого периода его требуется перевыпустить. Автоматизировать процесс перевыпуска можно с помощью планировщика задач Cron. Выполните команду crontab -e и добавьте планировщику следующее задание:

0 0 1 */3 * certbot renew --force-renewal --quiet --post-hook "systemctl reload nginx.service"
Как установить бесплатный SSL-сертификат на виртуальную машину с Bitrix GT |

В первый день каждого третьего месяца в 00:00 перевыпускать SSL-сертификат. После успешного обновления, утилита certbot будет выполнять post-hook на перезагрузку конфигурации Nginx.

Особенности эксплуатации ca на роутерах mikrotik: резервное копирование, экспорт и импорт сертификатов

mikrotik-certificates-export-import-000.pngMikrotik предоставляет пользователям достаточно широкие возможности, одна из них – создание на роутере собственного центра сертификации (CA), который позволяет управлять собственной инфраструктурой открытых ключей (PKI). Благодаря этому вы можете выпускать, подписывать и отзывать сертификаты, а также поддерживать доверительные отношения без использования дополнительных технических и программных средств. Это удобно, но эксплуатация CA на базе Mikrotik имеет свои особенности и подводные камни, которые нужно четко представлять и учитывать при выборе такого решения.

Освоить MikroTik вы можете с помощью онлайн-курса «Настройка оборудования MikroTik». В курсе изучаются все темы из официальной программы MTCNA. Автор – официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто еще не держал его в руках. В состав входят 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.

Коротко напомним, что такое инфраструктура открытых ключей (PKI), это область доверия, где каждый участник может доверять другому участнику, не имея никаких предварительных данных о нем. В основе PKI лежит центр сертификации (CA), авторитет CA неоспорим, а доверие к нему не подвергается сомнению.

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

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

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

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

  • А – authority – корневой сертификат при помощи которого мы можем подписывать другие сертификаты
  • T – trusted – сертификат с которым установлены доверительные отношения
  • L – crl – корневой сертификат содержит адрес списка отозванных сертификатов (CRL)
  • I – issued – сертификат, выпущенный центром сертификации расположенном на данном устройстве
  • K – private-key – сертификат имеет связанный с ним закрытый ключ
  • E – expired – сертификат с истекшим сроком действия
  • R – revoked – отозванный сертификат

Таким образом корневой сертификат CA должен иметь флаги KAT или KLAT в зависимости от того, использует ли центр сертификации списки отзыва CRL. Выпущенный данным CA сертификат будет иметь флаг KI, а будучи импортированным на другом узле в присутствии сертификата CA будет иметь флаги KT, а сам корневой сертификат чужого CA – просто T или LT.

mikrotik-certificates-export-import-001.pngЗакладка System – Certificates – CRL содержит загруженные списки отзыва для всех сертификатов, имеющих флаг L, кроме корневого сертификата собственного CA. Для работы со списками отзыва следует выполнить некоторые настройки, они расположены в System – Certificates – Settings. Флаг Use CRL включает использование списков отзыва, флаг CRL Download разрешает загрузку списков для сертификатов, содержащих адрес CRL. Если установить первый, но не устанавливать второй, то списки CRL будут работать только для собственного CA.

mikrotik-certificates-export-import-002.pngЕще одна важная опция – место хранения CRL – CRL Store, по умолчанию там стоит вариант хранения в оперативной памяти – ram. Но здесь есть первые подводные камни, объем RAM занимаемый списком рассчитывается по формуле:

4MB   10 * <CRL_size>

Таким образом даже самый небольшой список будет занимать от 4 МБ оперативной памяти, что может быть критично для младших моделей с небольшим объемом оперативной памяти, в этом случае значение CRL Store следует изменить на system.

Следующий важный вопрос: а что будет, если роутер с ролью CA выйдет из строя? В таком случае вы полностью потеряете контроль над своей PKI и вам потребуется создать новый CA и перевыпустить все сертификаты. Избежать этого можно только одним образом – созданием резервной копии устройства в бинарном формате. Для этого перейдите в Files и нажмите кнопку Backup, укажите имя файла и обязательно задайте пароль (в противном случае закрытые ключи выгружены в резервную копию не будут).

mikrotik-certificates-export-import-003.png

Либо выполните в терминале:

/system backup save name=backup password=<MY_PASSWORD>

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

Про сертификаты:  Обязательный сертификат соответствия | сертификат соответствия гост р | сертификат гост р | сертификат качества гост р | получить сертификат гост р | система сертификации гост р | обязательный сертификат гост р | образец обязательной сертификации | действие сертификата гост р | получить обязательный сертификат | обязательный сертификат соответствия | сертификат по 982

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

/export file=export_cfg

После чего в разделе Files у вас появится файл с указанным именем и расширением .rsc. Но данный файл не содержит ключей и сертификатов и не годится для восстановления CA. Скажем сразу – никаким иным способом, кроме как бинарным бекапом, перенести CA на другой роутер нельзя. Фактически центр сертификации получается в своем роде “одноразовым”, его можно перенести только на точно такое же устройство, в случае апгрейда вам придется создать инфраструктуру PKI заново.

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

Несмотря на то, что полноценно восстановить CA на другом узле мы не сможем, но работу служб, использующих сертификаты восстановить можно, хотя и с некоторыми оговорками. В некоторых случаях они могут оказаться существенными, почему так мы покажем ниже.

А пока экспортируем нужные нам ключи и сертификаты. Перейдем в System – Certificates, найдем там корневой сертификат CA и щелкнув на него правой кнопкой мыши выберем Export. Формат не имеет принципиального значения, при выборе PEM вы получите два файла – сертификат и закрытый ключ, при выборе PKCS12 – единственный файл .p12.

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

mikrotik-certificates-export-import-004.png

Затем, аналогичным образом, выгружаем сертификаты и ключи для служб, работающих на данном роутере, клиентские и серверные сертификаты, используемые на других узлах, выгружать не имеет смысла. Обратите внимание, так как выгружаемые ключевые пары содержат закрытые ключи, то следует обеспечить их безопасное хранение, особенно закрытого ключа центра сертификации CA.

При переходе на другое устройство вам потребуется загрузить сертификаты и ключевые пары, либо файлы p12 в Files. После чего импортировать их в System – Certificates. Последовательность импорта такова: сначала сертификат, потом закрытый ключ, в случае файла p12 все импортируется за одно действие.

mikrotik-certificates-export-import-005.pngГлядя на статус импортированного корневого сертификата – KLAT – можно подумать, что все хорошо, но увы. Выпущенный этим же CA серверный сертификат импортируется не как KI, а как KT, это означает, что он будет работать, но отозвать мы его никогда не сможем, это же относится и к клиентским сертификатам, почему мы выше и сказали, что экспортировать их бессмысленно.

mikrotik-certificates-export-import-006.pngПри этом вы можете продолжать выпускать сертификаты от имени CA и подписывать их корневым сертификатом. Если вы не используете в своей инфраструктуре PKI отзыв сертификатов, то можете продолжать работать. Никаких проблем при этом не возникнет.

А мы тем временем перейдем к спискам отзыва, так как это самое больное место в этой схеме. При создании корневой ключевой пары CA, в момент подписи запрашивается адрес опубликования CRL – СА CRL Host, именно по этому адресу Mikrotik поднимет веб-сервер и опубликует список отозванных сертификатов.

mikrotik-certificates-export-import-007.png

Здесь снова есть подводные камни. Файл списка CRL при каждом изменении меняет свое название на номер итерации, так при первом создании он будет http://192.168.111.1/crl/1.crl, а после следующего отзыва превратиться в http://192.168.111.1/crl/2.crl. Адрес списка CRL содержится в корневом сертификате CA, поэтому, если вы используете несколько узлов, разрешающих доступ по сертификатам выпущенным Mikrotik, то после каждого отзыва вы должны заново экспортировать корневой сертификат СА и распространить его на все узлы вашей области доверия PKI, как минимум на те, которые принимают сертификаты для аутентификации или авторизации.

При переносе ключевой пары CA на другой хост RouterOS прочитает из корневого сертификата адрес CRL и попытается его скачать. Но так как старый роутер заменен новым, с тем же адресом, скачивать ему будет нечего. К сожалению, Mikrotik не позволяет импортировать файл списка CRL, поэтому даже имея его на руках вы не сможете загрузить его в устройство.

mikrotik-certificates-export-import-008.pngНо ведь мы можем выдавать новые сертификаты и можем их отозвать? Можем. Но новый список CRL при этом не формируется, центр сертификации будет продолжать пытаться загрузить список CRL указанный в корневом сертификате, которого в новом роутере не существует.

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

Фактически старый CA перестал существовать, но мы можем продолжать поддерживать работоспособность текущей инфраструктуры PKI, хотя и с ограничениями, и планомерно планировать переход на сертификаты нового CA. Такой сценарий гораздо предпочтительнее, чем полный отказ инфраструктуры.

Как видим, в RouterOS нет возможности полноценно перенести CA на другое устройство, это серьезное ограничение и его следует обязательно учитывать при планировании инфраструктуры, в тоже время, располагая экспортированной ключевой парой CA и собственных сертификатов роутера вы всегда сможете восстановить работоспособность инфраструктуры, хотя и существенными ограничениями.

Освоить MikroTik вы можете с помощью онлайн-курса «Настройка оборудования MikroTik». В курсе изучаются все темы из официальной программы MTCNA. Автор – официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто еще не держал его в руках. В состав входят 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.

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