ACME SSL /TLS Automatyzacja z Apache i Nginx

Jak używać protokołu ACME do automatyzacji SSL /TLS certyfikaty z SSL.com na serwerach internetowych Apache i Nginx.

Related Content

Chcesz dalej się uczyć?

Zapisz się do newslettera SSL.com, bądź na bieżąco i bezpiecznie.

Ten poradnik przeprowadzi Cię przez konfigurację automatycznej instalacji i odnawiania certyfikatu za pomocą SSL.com dla Apache i Nginx z protokołem ACME i klientem Certbot.

Uwaga: Będziesz potrzebować dostępu do SSH i sudo uprawnienia na serwerze sieciowym do wykonywania tych instrukcji.
Uwaga:
Możesz używać wielu innych klientów ACME, w tym Menedżer certyfikatów Kubernetes, z usługą ACME SSL.com.
acme4j  klient może teraz korzystać z usług SSL.com ACME w tym repozytorium: https://github.com/SSLcom/acme4j
Instrukcje dla innych klientów ACME innych niż Certbot można znaleźć w dokumentacji dostawcy oprogramowania.

Zainstaluj Certbot i pobierz poświadczenia ACME

  1. SSH na swój serwer WWW.
  2. Upewnij się, że aktualna wersja Certbot, wraz z wtyczkami Apache i Nginx, są instalowane na Twoim serwerze internetowym:
    • Jeśli snapd zainstalowany, możesz użyć tego polecenia do instalacji:
      sudo snap install - klasyczny certbot
    • If /snap/bin/ nie ma w twoim PATH, będziesz musiał go również dodać lub uruchomić polecenie takie:
      sudo ln -s / snap / bin / certbot / usr / bin / certbot
  3. Pobierz swoje poświadczenia ACME z konta SSL.com:
    1. Zaloguj się na swoje konto SSL.com. Jeśli jesteś już zalogowany, przejdź do Panel Użytkownika patka.
      Panel Użytkownika
    2. Kliknij poświadczenia api, znajdujący się pod programiści i integracja.
      Link do danych logowania API
    3. Będziesz potrzebował swojego Konto / klucz ACME Klucz HMAC zażądać certyfikatów. Kliknij ikonę schowka () obok każdego klucza, aby skopiować wartość do schowka.
      Klucz konta / ACME i klucz HMAC

Instalacja i automatyzacja Apache

Użyj takiego polecenia, aby zainstalować na Apache. Zastąp wartości WIELKIMI LITERAMI rzeczywistymi wartościami:

sudo certbot --apache --email EMAIL-ADDRESS --agree-tos --no-eff-email --config-dir /etc/ssl-com --logs-dir /var/log/ssl-com --eab -kid KLUCZ-KONTA --eab-hmac-key KLUCZ-HMAC --server https://acme.ssl.com/sslcom-dv-ecc -d NAZWA.DOMENY

Łamanie polecenia:

  • sudo certbot uruchamia certbot polecenie z uprawnieniami administratora.
  • --apache określa instalację certyfikatów do użytku z Apache.
  • --email EMAIL-ADDRESS zapewnia rejestracyjny adres e-mail. Możesz podać wiele adresów oddzielonych przecinkami.
  • --agree-tos (opcjonalnie) wyraża zgodę na umowę abonencką ACME. Możesz to pominąć, jeśli chcesz wyrazić zgodę interaktywnie.
  • --no-eff-email (opcjonalnie) oznacza, że ​​nie chcesz udostępniać swojego adresu e-mail EFF. Jeśli to pominiesz, zostanie wyświetlona opcja udostępnienia adresu e-mail.
  • --config-dir /etc/ssl-com (opcjonalnie) ustawia katalog konfiguracyjny.
  • --logs-dir /var/log/ssl-com (opcjonalnie) ustawia katalog dla dzienników.
  • --eab-kid ACCOUNT-KEY określa klucz Twojego konta.
  • --eab-hmac-key HMAC-KEY określa klucz HMAC.
  • --server https://acme.ssl.com/sslcom-dv-ecc określa serwer ACME SSL.com.
  • -d DOMAIN.NAME określa nazwę domeny, którą będzie obejmował certyfikat.
Uwaga: Certbot 2.0.0 lub nowszy domyślnie generuje ECDSA dla nowych certyfikatów. Powyższe polecenie dotyczy pary kluczy i certyfikatu ECDSA. Aby zamiast tego użyć kluczy RSA:

  • Zmienić --server wartość w poleceniu do https://acme.ssl.com/sslcom-dv-rsa
Uwaga: Możesz użyć -d DOMAIN.NAME możliwość wielokrotnego dodawania nazw domen do certyfikatu. Zobacz nasze informacje na typy certyfikatów i fakturowanie aby zobaczyć, jak mapują się różne kombinacje nazw domen Typy certyfikatów SSL.com i odpowiadające im ceny.
Kiedy po raz pierwszy uruchomisz powyższe certbot polecenie, informacje o koncie ACME będą przechowywane na twoim komputerze w katalogu konfiguracyjnym (/etc/ssl-com w powyższym poleceniu. W przyszłych uruchomieniach certbota możesz pominąć --eab-hmac-key --eab-kid opcje, ponieważ certbot zignoruje je na korzyść przechowywanych lokalnie informacji o koncie.

Jeśli chcesz powiązać zamówienia certyfikatów ACME dla komputera z innym kontem SSL.com, usuń informacje o tym koncie ze swojego komputera za pomocą polecenia sudo rm -r /etc/ssl-com/accounts/acme.ssl.com (lub, jeśli pominąłeś opcjonalny) --config-dir opcja, sudo rm -r /etc/letsencrypt/accounts/acme.ssl.com).

Po uruchomieniu polecenia powinieneś zobaczyć takie dane wyjściowe:

Zapisywanie dziennika debugowania w /var/log/ssl-com/letsencrypt.log Wybrane wtyczki: Authenticator apache, Installer apache Uzyskiwanie nowego certyfikatu Wykonywanie następujących wyzwań: http-01 wyzwanie dla DOMEN.NAME Oczekiwanie na weryfikację ... Czyszczenie wyzwań Utworzono vhosta SSL pod adresem /etc/apache2/sites-available/DOMAIN-le-ssl.conf Wdrażanie certyfikatu w VirtualHost /etc/apache2/sites-available/DOMAIN-le-ssl.conf Włączanie dostępnej witryny: / etc / apache2 / sites-available / DOMAIN-le-ssl.conf Przekierowanie vhosta w /etc/apache2/sites-enabled/DOMAIN.NAME.conf na ssl vhost w /etc/apache2/sites-available/DOMAIN-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gratulacje! Pomyślnie włączyłeś https://DOMAIN.NAME - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Certbot utworzy również taki plik crontab, aby zautomatyzować nieinteraktywne odnawianie dowolnego certyfikatu zainstalowanego przez certbot, który wygasa w ciągu 30 dni:

$ cat /etc/cron.d/certbot # /etc/cron.d/certbot: wpisy crontab dla pakietu certbot # # Upstream zaleca próbę odnowienia dwa razy dziennie # # Ostatecznie będzie to okazja do sprawdzenia poprawności certyfikatów. t został unieważniony itp. Odnowienie nastąpi tylko wtedy, gdy # wygaśnięcie nastąpi w ciągu 30 dni. # # Ważna uwaga! To cronjob NIE zostanie wykonane, jeśli # uruchomisz systemd jako swój system init. Jeśli używasz systemd, # funkcja cronjob.timer ma pierwszeństwo przed tym cronjob. # Aby uzyskać więcej szczegółów, zobacz stronę podręcznika systemowego systemd.timer lub użyj systemctl show # certbot.timer. SHELL = / bin / sh PATH = / usr / local / sbin: / usr / local / bin: / sbin: / bin: / usr / sbin: / usr / bin 0 * / 12 * * * root test -x / usr / bin / certbot -a \! -d / run / systemd / system && perl -e 'sleep int (rand (43200))' && certbot -q odnowienie
Uwaga: Wszystkie SSL /TLS certyfikaty wydane za pośrednictwem ACME przez SSL.com mają roczny okres ważności.

Instalacja i automatyzacja Nginx

W przypadku Nginx po prostu zastąp --nginx dla --apache w poleceniu pokazanym powyżej:

sudo certbot --nginx --email EMAIL-ADDRESS --agree-tos --no-eff-email --config-dir /etc/ssl-com --logs-dir /var/log/ssl-com --eab -kid KLUCZ-KONTA --eab-hmac-key KLUCZ-HMAC --server https://acme.ssl.com/sslcom-dv-ecc -d NAZWA.DOMENY
Uwaga: Certbot 2.0.0 lub nowszy domyślnie generuje ECDSA dla nowych certyfikatów. Powyższe polecenie dotyczy pary kluczy i certyfikatu ECDSA. Aby zamiast tego użyć kluczy RSA:

  • Zmienić --server wartość w poleceniu do https://acme.ssl.com/sslcom-dv-rsa

Wymuś ręczne odnowienie

Jeśli chcesz ręcznie odnowić certyfikat przed zbliżającym się wygaśnięciem, użyj tego polecenia:

certbot renew --force-renewal --cert-name NAZWA DOMENY

SSL.com zapewnia szeroką gamę domen SSL /TLS certyfikaty serwera dla witryn HTTPS.

PORÓWNAJ SSL /TLS CERTYFIKATY

Bądź na bieżąco i bezpiecznie

SSL.com jest światowym liderem w dziedzinie cyberbezpieczeństwa, PKI i certyfikaty cyfrowe. Zarejestruj się, aby otrzymywać najnowsze wiadomości branżowe, wskazówki i ogłoszenia o produktach od SSL.com.

Będziemy wdzięczni za Twoją opinię

Weź udział w naszej ankiecie i daj nam znać, co myślisz o swoim ostatnim zakupie.