Инфраструктурные решения на основе «Альт Образование» в СПбГЭТУ «ЛЭТИ» (Иван Хахаев, OSEDUCONF-2021) — различия между версиями
Материал из 0x1.tv
StasFomin (обсуждение | вклад) ('вывод из драфт') |
StasFomin (обсуждение | вклад) ('вывод из драфт') |
||
Такой скрипт можно добавить в планировщик задач чтобы своевременно обновлять сертификаты необходимых сайтов. Успешные практические результаты были получены для указанных выше сервисов на основе Apache2 .
В случае обновления сертификата командой сертификат не мог корректно обновиться, но при помощи приведённого выше скрипта обновление сертификата проходит успешно.
{{----}}
[[File:{{#setmainimage:Инфраструктурные решения на основе «Альт Образование» в СПбГЭТУ «ЛЭТИ» (Иван Хахаев, OSEDUCONF-2021)!.jpg}}|center|640px]]
{{LinksSection}}
<!-- <blockquote>[©]</blockquote> -->
<references/>
* ''Хахаев И. А.'' [[Снова об оценке электронных образовательных ресурсов // Свободное программное обеспечение в высшей школе : Сборник тезисов XV конференции, Переславль, 07-09 февраля 2020 года / Отв. редактор В. Л. Чёрный. — Переславль: ООО «МАКС Пресс», 2020. — С. 82-85.(Иван Хахаев, OSEDUCONF-2020)]]
* https://linux-hardware.org/?probe=70139de021
* [. https://letsencrypt.org/ru/docs/ LetsEncrypt.Документация LetsEncrypt]
* https://www.altlinux.org/LetsEncrypt
* [. https://letsencrypt.org/ru/how-it-works/
*Как работает Let’s Encrypt]
* [https://httpd.apache.org/ The Apache HTTP Server Project. ]
{{stats|disqus_comments=0|refresh_time=2021-08-31T17:07:01.409357|vimeo_plays=0|youtube_plays=0}}
[[Категория:OSEDUCONF-2021]]
[[Категория:ALT Linux в образовании]] | |||
Текущая версия на 12:44, 2 марта 2026
- Докладчик
- Иван Хахаев
Обсуждается механизм обеспечения поддержки и обновления SSL-сертификатов от Let’s Encript для сервисов, входящих в состав дистрибутива «Альт Образование». Приводится пример скрипта, обеспечивающего автоматическое обновление таких SSL-сертификатов для web-сервера Apache2 в дистрибутивах АЛЬТ.
Видео[править вики-текст]
Thesis[править | править вики-текст]
В 2020 году на основе «АЛЬТ Образование» в СПбГЭТУ «ЛЭТИ» были развёрнуты два крупных сервиса — LMS Moodle[1] и «облачное» хранилище NextCloud[2].
Сервисы развёртывались на виртуальных машинах (VM) на кластере из 5 серверов под управлением дистрибутива Proxmox VE 6.2.
Характеристики VM с LMS Moodle:
- ОС «АЛЬТ Образование» 9.1;
- количество зарегистрированных пользователей — около 14000;
- VM с дисковым пространством 4 Тб, RAM 64 Гб, 6 ядер 2,2 ГГц;
- среднее количество пользователей в день — около 2000;
- количество курсов — около 4300.
Характеристики VM с NextCloud:
- ОС «АЛЬТ Образование» 9.1;
- VM с дисковым пространством 20 Тб, RAM 32 Гб, 4 ядра 2,2 ГГц;
- квота на пользователя 10 Гбайт (рассчитано на 2000 пользователей — преподавателей и сотрудников).
Оба сервиса используют стек LAMP.
Одной из задач, решаемых при развёртывании указанных инфраструктурных решений, было обеспечение корректной работы https с подтверждением сертификата. Сертификаты, генерируемые при установке дистрибутива, не подтверждаются каким-либо центром сертификации, поэтому пользователи получают сообщение о вероятной угрозе безопасности.
Популярным решением является использование SSL-сертификатов от Let’s Encrypt. Такое решение связано с бесплатным распространением, простотой получения и внедрения сертификатов, которые подтверждаются центром сертификации Let’s Encrypt .
Однако на wiki сообщества АЛЬТ даётся решение по использованию SSL-сертификатов от Let’s Encrypt для веб-сервера NGINX, в то время как настройки web-сервера Apache2 в дистрибутивах АЛЬТ имеют нюансы, не позволяющие использовать информацию по настройке SSL-сертификатов от Let’s Encrypt для Apache2 из других дистрибутивов.
Поскольку в настройках виртуального хоста по умолчанию для сервиса httpd2 в дистрибутивах «АЛЬТ Образование» настроены редиректы с http на https, подтверждение сервера (домена сайт), на котором расположен сайт, для обновление SSL становится проблематичным.
Это связано с тем, что в процессе обновления сертификата необходимо проверить права на домен. Из-за ограничений безопасности в корпоративной сети СПбГЭТУ «ЛЭТИ» метод обновления SSL через DNS-запросы не подходит, так как дополнительные TXT-записи с ключами не прописываются. Поэтому проверка происходит через предоставление HTTP-ресурса с определённым URI. Для корректного подтверждения прав на домен агент Certbot проводит тест-запросы с соответствующими ключами через 80 порт по HTTP .
В ситуациях, когда на виртуальном хосте настроены редиректы c HTTP на HTTPS, при обновлении сертификата возникает ошибка следующего вида:
Domain: aaa.bbb.ru Type: unauthorized Detail: Invalid response from https://aaa.bbb.ru/.well-known/ acme-challenge/549OU8Q5XsKvzZ_I_QpLWS-V2gc0DrlKwH2oSDyWa1A [xxx.xxx.xxx.xxx]: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n \"http://www.w3.org/TR/xhtml1/D"
Получается, что центр сертификации не может подтвердить домен сайта, для которого требуются изменения информации по сертификату. Результатом возникшей проблемы является сообщение:
Возможным решением данной проблемы является возврат к предоставлению информации по HTTP, но вручную каждые три месяца корректировать конфигурационные файлы виртуального хоста неэффективно. Поэтому можно автоматизировать процедуру обновления SSL при помощи скрипта, который должен выполнять следующие действия.
- Убирать редиректы с HTTP на HTTPS в нужном конфигурационном файле виртуального хоста;
- Проверять корректность синтаксиса конфигурационного файла виртуального хоста;
- Запрашивать выдачу нового SSL-сертификата;
- Восстанавливать убранные редиректы;
- Перезапускать сервис httpd2 для использования обновлённых сертификатов.
Ниже приведён пример такого скрипта.
Такой скрипт можно добавить в планировщик задач чтобы своевременно обновлять сертификаты необходимых сайтов. Успешные практические результаты были получены для указанных выше сервисов на основе Apache2 .
В случае обновления сертификата командой сертификат не мог корректно обновиться, но при помощи приведённого выше скрипта обновление сертификата проходит успешно.
Примечания и ссылки[править вики-текст]
- Снова об оценке электронных образовательных ресурсов (Иван Хахаев, OSEDUCONF-2020)
- https://linux-hardware.org/?probe=70139de021
- Документация LetsEncrypt
- https://www.altlinux.org/LetsEncrypt
- Как работает Let’s Encrypt
- The Apache HTTP Server Project
Plays:0 Comments:0
