Използване на Let - s Encrypt с Kerio Connect - Администраторски блог
Let's Encrypt е може би най-доброто нещо, което се е случвало в интернет през последните десет години. Това е услуга, която предоставя абсолютно безплатни X.509 криптографски сертификати за TLS криптиране (HTTPS). Основният недостатък е, че сертификатът се издава за 90 дни, но ние ще се опитаме да автоматизираме процедурата за подмяна на сертификата.
Деактивиране на http Спрете Kerio Connect, ако работи и задайте режима на стартиране на ръчен, така че да не се активира отново при рестартиране. Променете HTTPS порта на услугата на 8843 в административния панел. Инсталацията няма да работи иначе, защото Certbot се нуждае от портове 80 и 443, за да потвърди домейна и да получи сертификата.
Инсталирайте Nginx Тъй като не искаме да правим нищо ръчно и освен това да можем да използваме стандартни уеб портове, трябва да настроим обратен прокси пред Kerio Connect
Свързване на сайта с nginx:
Ако няма грешки, презаредете nginx:
Инсталиране на Certbot
Сега нека инсталираме програма, която ще актуализира сертификатите вместо нас.
Първи стъпки
Нека променим редовете във файла/etc/nginx/sites-available/kerio-connect.conf
За да улесните актуализирането на Kerio Connect, просто свържете генерирания сертификат и ключ към съответната папка в йерархията на Kerio Connect
Сега отидете в контролния панел на Kerio Connect, изберете Конфигурация > SSL сертификати и вижте какви сертификати има. Изберете инсталирания от Let's Encrypt и го направете активен. Това е всичко, сега, когато посетите сайта си, nginx автоматично ще превключи връзката към https и браузърът няма да се кълне в грешен сертификат.Актуализиране. Остава да автоматизираме процесапреиздаване на сертификати. Просто стартирайте:
Ако сертификатът изтича, той ще бъде автоматично подновен, в противен случай ще бъде запазен до следващото изпълнение.
Първо копирайте Certbot на удобно място. Например в /usr/local/bin
За да получите нов сертификат, трябва да рестартирате услугите след успешно подновяване. Създайте скрипт /root/certbot-post-hook.sh със следното съдържание:
Нека да го направим изпълним и да зададем правата:
Всяка вечер в 3:00 сутринта ще проверяваме дали има нужда от преиздаване на сертификата. Нека създадем файл/etc/cron.d/certbot :
Публикувано от Виктор
5 отговора на „Използване на Let’s Encrypt с Kerio Connect“
Здравей, Виктор, направих го според същото ръководство като теб. При мен всичко се получи, но се отваря само админ панела на kerio. Когато се опитам да отворя само корена на сайта, получавам 502, когато се опитам да вляза в клиентската част на уеб муцуната на kerio. конфигурации: nginx.conf:
# За повече информация относно конфигурацията вижте: # * Официална документация на английски: http://nginx.org/en/docs/ # * Официална документация на руски: http://nginx.org/en/docs/
потребител nginx; автоматични работни_процеси; error_log /var/log/nginx/error.log; pid /run/nginx.pid;
# Зареждане на динамични модули. Вижте /usr/share/nginx/README.dynamic. включете /usr/share/nginx/modules/*.conf;
събития worker_connections 1024; >
http log_format main ‘$remote_addr – $remote_user [$time_local] “$request” ‘ ’$status $body_bytes_sent “$http_referer” ‘ ’”$http_user_agent” “$http_x_forwarded_for”’;
access_log /var/log/nginx/access.log main;
изпращане на файл; tcp_nopush включен; tcp_nodelay включен; keepalive_timeout 65; types_hash_max_size 2048;
включват/etc/nginx/mime.types; default_type приложение/октет-поток;
# Заредете модулни конфигурационни файлове от директорията /etc/nginx/conf.d. # Вижте http://nginx.org/en/docs/ngx_core_module.html#include # за повече информация. включете /etc/nginx/conf.d/*.conf; включете /etc/nginx/sites-enabled/*.conf; server_names_hash_bucket_size 64;
сървър слуша 80 default_server; слушайте [::]:80 default_server; име_на_сървър _; корен /usr/share/nginx/html;
# Заредете конфигурационни файлове за сървърния блок по подразбиране. включете /etc/nginx/default.d/*.conf;
грешка_страница 404 /404.html; местоположение = /40x.html >
error_page 500 502 503 504 /50x.html; местоположение = /50x.html > >
сървър # пренаправляем с 80 порта на 443 server_name mydomain.com http://www.mydomain.com listen 80; връща 301 https://www.mydomain.com$request_uri; >
сървър слуша 443 ssl;
# Указваме пътя към сертификатите ssl_certificate /etc/letsencrypt/live/blahblah.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/blahblah.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers включен;
ssl_dhparam /etc/ssl/certs/dhparam.pem; ssl_ciphers ‘ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS -AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256 -SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-A ES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH- RSA-DES- CBC3-SHA:!KRB5-DES-CBC3-SHA'; ssl_session_timeout 1d; ssl_session_cache споделен:SSL:50m;
# позволява на сървъра да прикачва OCSP отговори, като по този начин намалява времето за зареждане на страницата за потребителите # ssl_stapling on; # ssl_stapling_verify включено; # add_header Strict-Transport-Security max-age=15768000; местоположение / # ….. > >
# Настройки за сървър с активиран TLS. # # сървър # слушане 443 ssl http2 default_server; # слушане [::]:443 ssl http2 default_server; #име_на_сървър_; # root /usr/share/nginx/html; # # ssl_certificate "/etc/pki/nginx/server.crt"; # ssl_certificate_key "/etc/pki/nginx/private/server.key"; # ssl_session_cache споделен:SSL:1m; # ssl_session_timeout 10m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers включен; # # # Заредете конфигурационни файлове за сървърния блок по подразбиране. # включват /etc/nginx/default.d/*.conf; # # местоположение / # > # # грешка_страница 404 /404.html; # местоположение = /40x.html # > # # error_page 500 502 503 504 /50x.html; # местоположение = /50x.html # > # >
местоположение /.добре познат псевдоним /var/www/mail/.добре познат; >