Перевыпуск сертификатов
На форме поддержки вышла статья про перевыпуск сертификатов. Тема важная, поэтому продублируем здесь.
Часто поступают запросы, связанные с падением сервисов или коллекторов через несколько месяцев после установки. В большинстве случаев это связано с сертификатами. Давайте разберёмся в чём дело.
Какие у нас есть сертификаты?
Мы составляем цепочку сертификатов, чтобы в случае компрометации одного из цепочки не была скомпрометирована вся система. В общем случае, подразумевается наличие сертификатов:
- Корневой (CA)
- Серверный (Server)
- Клиентский(Client)
- Браузерный(Browser)
Где лежат сертификаты?
Сертификаты, расположенные в /var/lib/echelon/komrad/certs/
, являются одним из гарантов безопасности Вашей системы. На папку есть специальные разрешения, доступ к ней должен быть у группы root
и пользователя komrad
.
Какой срок годности у сертификатов?
При установке в автоматическом режиме установщик сам выставит сроки их годности.
- Корневой (CA) 12 месяцев
- Серверный (Server) 3 месяца
- Клиентский(Client) 3 месяца
- Браузерный(Browser) 3 месяца
Как определить что проблема с сертификатом?
В лога Вы увидите ошибку:
x509 expired certificate
Как проверить срок годности сертификатов?
Выполните команду:
openssl x509 -in /var/lib/echelon/komrad/certs/ca.pem -text -noout | grep "Not After" && openssl x509 -in /var/lib/echelon/komrad/certs/server.pem -text -noout | grep "Not After" && openssl x509 -in /var/lib/echelon/komrad/certs/client.pem -text -noout | grep "Not After"
После выполнения команды будет выведен результат. Если напротив сертификата будет стоять параметр Not After
раньше текущей даты значит сертификат сертификат просрочен, необходимо выпустить сертификаты.
Выпустить серверный сертификат
sudo komrad-cli certificates create server --organization “Echelon” localhost 127.0.0.1 $(hostname -I) $(hostname) --ca /var/lib/echelon/komrad/certs/ca.pem --ca-key /var/lib/echelon/komrad/certs/ca-key.pem
Выпуск клиентского сертификата
sudo komrad-cli certificates create client --ca /var/lib/echelon/komrad/certs/ca.pem --ca-key /var/lib/echelon/komrad/certs/ca-key.pem
Браузерный сертификат
sudo cp ./client-browser.p12 client.pem client-key.pem server-key.pem server.pem /var/lib/echelon/komrad/certs
Не забудьте указать необходимые сроки годности флагом expire
например так:
sudo komrad-cli certificates create ca --expire 24m
Если сертификаты по какой-то причине не воспринимаются сервисом, например они лежат в не стандартной папке, дайте разрешение на их использование пользователю komrad
выполнив команды :
sudo chown -R komrad:komrad /var/lib/echelon/komrad/certs
sudo chmod -R 755 /var/lib/echelon/komrad/certs
sudo chmod 0640 /var/lib/echelon/komrad/certs/server-key.pem
sudo chown root:komrad /var/lib/echelon/komrad/certs/server-key.pem
sudo usermod -a -G komrad postgres
sudo chmod 755 client-browser.p12
Не забудьте перезапустить сервисы!