Назначение
Проверка подтверждает, что Avanpost CA, PostgreSQL, systemd, Nginx и TLS работают согласованно.
Установка не считается завершенной, пока не проверены все уровни.
1. Проверка PostgreSQL
Проверьте службу:
sudo systemctl is-active postgresql-15.service
Для удаленной БД выполняйте команду на сервере PostgreSQL либо используйте имя фактического unit.
Проверьте подключение от имени приложения:
psql "host=<DB_HOST> port=5432 dbname=avanpost_ca user=avanpost_ca sslmode=verify-full" \
-c "SELECT current_database(), current_user, now();"
2. Проверка Avanpost CA
sudo systemctl is-enabled avanpost-ca.service
sudo systemctl is-active avanpost-ca.service
sudo systemctl status avanpost-ca.service
Просмотрите журнал:
sudo journalctl \
-u avanpost-ca.service \
--since "30 minutes ago" \
--no-pager
Не должно быть:
- ошибок подключения к БД;
- ошибок миграции;
- повторяющихся аварийных перезапусков;
- ошибок доступа к файлам;
- ошибок криптопровайдера, Vault или HSM.
3. Проверка прослушиваемых портов
sudo ss -lntp
Проверьте:
- backend приложения не опубликован во внешнюю сеть без необходимости;
- Nginx слушает TCP 443;
- TCP 80 используется только для redirect;
- PostgreSQL доступен только с разрешенных адресов.
4. Проверка Nginx
sudo nginx -t
sudo systemctl is-active nginx
sudo journalctl -u nginx -n 100 --no-pager
Проверьте журналы:
sudo tail -n 100 /var/log/nginx/avanpost-ca-error.log
sudo tail -n 100 /var/log/nginx/avanpost-ca-access.log
5. Проверка TLS
openssl s_client \
-connect <CA_FQDN>:443 \
-servername <CA_FQDN> \
-verify_return_error
Проверьте:
- успешную проверку цепочки;
- соответствие DNS-имени;
- срок действия;
- отсутствие неизвестных промежуточных сертификатов.
6. Проверка веб-интерфейса
curl --head https://<CA_FQDN>/
Допустимые признаки работоспособности:
- HTTP 200;
- перенаправление на страницу входа;
- HTTP 401 или 403 для защищенного ресурса.
HTTP 5xx указывает на ошибку backend или reverse proxy.
7. Проверка endpoints
Проверьте только endpoints, включенные в установленной версии:
curl --head https://<CA_FQDN>/api/
curl --head https://<CA_FQDN>/swagger/
curl --head https://<CA_FQDN>/scep/
curl --head https://<CA_FQDN>/ocsp/
curl --head https://<CA_FQDN>/public/
curl --head https://<CA_FQDN>/wstep/
Некоторые сервисы не обязаны отвечать HTTP 200 на HEAD без корректного протокольного запроса. Цель проверки — исключить DNS, TLS, Nginx и HTTP 5xx.
8. Проверка DNS и времени
getent hosts <CA_FQDN>
timedatectl status
Проверьте обратную запись:
getent hosts <CA_SERVER_IP>
9. Проверка перезапуска
sudo systemctl restart avanpost-ca.service
sudo systemctl reload nginx
sudo systemctl is-active avanpost-ca.service
sudo systemctl is-active nginx
После перезапуска повторите проверку интерфейса и журналов.
10. Проверка резервного копирования
До передачи в эксплуатацию:
- выполните резервную копию;
- восстановите копию в изолированную БД;
- запустите тестовый экземпляр на восстановленных данных;
- зафиксируйте длительность восстановления;
- подтвердите RPO и RTO.
Итоговый чек-лист
| Проверка | Результат |
|---|---|
| PostgreSQL доступен | ☐ |
| Учетная запись БД не является суперпользователем | ☐ |
| Миграция выполнена | ☐ |
| Avanpost CA имеет состояние active | ☐ |
| Автозапуск включен | ☐ |
| Nginx имеет состояние active | ☐ |
| HTTPS работает | ☐ |
| TLS-цепочка проверяется | ☐ |
| DNS и обратный DNS работают | ☐ |
| Время синхронизировано | ☐ |
| В журналах нет критических ошибок | ☐ |
| Backend-порты не опубликованы без необходимости | ☐ |
| Выпущен тестовый сертификат | ☐ |
| CRL опубликован | ☐ |
| OCSP проверен | ☐ |
| Резервная копия создана | ☐ |
| Восстановление проверено | ☐ |
Следующий шаг
Перейдите к странице Инициализация CA.