ACME

Kasia Bielawska
>
Kasia Bielawska

Protokół ACME, Automated Certificate Management Environment

ACME to protokół komunikacyjny służący do automatyzacji procesów związanych z certyfikatami SSL. Dzięki niemu zamawianie, weryfikacja tożsamości domen, instalacja oraz odnawianie zabezpieczeń na serwerze odbywają się automatycznie, bez konieczności ręcznego wypełniania wniosków czy edycji plików konfiguracyjnych.

Najpopularniejszym dostawcą oferującym darmowy certyfikat ssl wykorzystującym ten standard jest Let’s Encrypt. ACME może być jednak obsługiwany również przez inne urzędy certyfikacji. Dlatego wdrożenie klienta ACME nie musi oznaczać trwałego związania systemu z jednym dostawcą certyfikatów.

Najważniejszym zadaniem ACME jest ograniczenie liczby ręcznych czynności związanych z cyklem życia certyfikatu. Bez automatyzacji administrator musi pamiętać o zamówieniu certyfikatu, potwierdzeniu prawa do domeny, pobraniu odpowiednich plików, ich instalacji oraz późniejszym odnowieniu certyfikatu przed końcem jego ważności. Przy jednej stronie może być to stosunkowo proste. Przy dziesiątkach lub setkach domen ręczna obsługa szybko staje się problemem.

Dzięki ACME serwer może automatycznie poprosić urząd certyfikacji o wydanie certyfikatu, potwierdzić kontrolę nad domeną, pobrać certyfikat, a następnie odnawiać go bez konieczności wykonywania całego procesu ręcznie.

Jak działa protokół ACME?

Działanie standardu opiera się na relacji klient-serwer i wykorzystuje powszechnie znane protokoły internetowe (HTTP, HTTPS, DNS):

  1. Klient ACME (np. wygenerowane przez narzędzie Certbot oprogramowanie zainstalowane na serwerze) zgłasza do urzędu certyfikacji (CA) chęć uzyskania certyfikatu dla konkretnej domeny.
  2. Serwer CA stawia przed klientem zadanie weryfikacyjne (tzw. challenge), aby upewnić się, że wnioskodawca ma kontrolę nad daną witryną.
  3. Klient ACME wykonuje zadanie – na przykład umieszcza na serwerze specyficzny plik pod wskazanym adresem URL (weryfikacja HTTP-01) lub dodaje odpowiedni wpis TXT do rekordu DNS (weryfikacja DNS-01).
  4. Serwer CA sprawdza obecność pliku lub wpisu DNS. Gdy weryfikacja przebiegnie pomyślnie, generowany i podpisywany jest właściwy klucz zabezpieczający.

Najważniejsze zalety ACME

Największą zaletą ACME jest automatyzacja cyklu życia certyfikatów. Ma ona znaczenie zarówno dla właściciela pojedynczej strony, jak i administratora rozbudowanej infrastruktury.

ACME:

  • ogranicza liczbę ręcznych operacji,
  • ułatwia regularne odnawianie certyfikatów,
  • zmniejsza ryzyko przeoczenia terminu ich ważności,
  • pozwala zarządzać certyfikatami na dużą skalę,
  • umożliwia integrację procesu wydawania certyfikatów z infrastrukturą,
  • upraszcza wdrażanie HTTPS w środowiskach dynamicznych.

W efekcie certyfikat może być traktowany nie jako plik, który administrator od czasu do czasu ręcznie wymienia, lecz jako automatycznie zarządzany element konfiguracji usługi.

FAQ – ACME

ACME oznacza Automatic Certificate Management Environment. Jest to standard komunikacji pozwalający automatyzować zarządzanie certyfikatami cyfrowymi.

Nie. Let’s Encrypt jest urzędem certyfikacji, a ACME protokołem, którego Let’s Encrypt używa do automatycznej obsługi certyfikatów.

Tak. Przy prawidłowo skonfigurowanym kliencie ACME cały proces może odbywać się automatycznie. Ważne jest jednak, aby klient nadal miał możliwość wykonania wymaganej walidacji.