Jak wygenerować certyfikat LetsEncrypt SSL za pomocą CloudFlare DNS-01 Challenge i używać go na serwerze Synology NAS

Jak Wygenerowac Certyfikat Letsencrypt Ssl Za Pomoca Cloudflare Dns 01 Challenge I Uzywac Go Na Serwerze Synology Nas



Disk Station Manager v7 (DSM 7) to system operacyjny urządzeń Synology NAS. Certyfikaty Let’s Encrypt SSL dla serwera Synology NAS możesz skonfigurować z poziomu interfejsu sieciowego DSM 7. Domyślnie Synology DSM 7 korzysta z wezwania HTTP-01, aby zweryfikować własność domeny (której chcesz używać w przypadku serwera Synology NAS) i wystawić certyfikat SSL dla domeny. Ale wyzwanie HTTP-01 nie zadziała, jeśli nie masz publicznego adresu IP, a Twój komputer jest dostępny z Internetu. Jeśli więc chcesz używać certyfikatów Let's Encrypt SSL w swojej sieci domowej lub prywatnej, musisz zamiast tego użyć wyzwania DNS-01. Gdy używane jest wyzwanie DNS-01, Let’s Encrypt weryfikuje własność domeny za pomocą serwera DNS domeny. Działa więc również w sieciach prywatnych. Niestety interfejs sieciowy Synology DSM 7 nie umożliwia uzyskania certyfikatów Let’s Encrypt SSL przy użyciu wyzwania DNS-01.

Na szczęście na serwerze Synology NAS można zainstalować program „acme.sh”, który służy do generowania i odnawiania certyfikatów Let’s Encrypt SSL przy użyciu wyzwania DNS-01.







W tym artykule pokażemy Ci, co następuje:



  • Jak zainstalować „sh” na serwerze Synology NAS
  • Jak używać pliku „acme.sh” do wygenerowania certyfikatu Let’s Encrypt SSL (poprzez wyzwanie DNS-01) dla nazwy domeny używanej na serwerze Synology NAS
  • Jak zainstalować wygenerowany przez plik „acme.sh” certyfikat Let’s Encrypt SSL na serwerze Synology NAS
  • Jak skonfigurować system operacyjny DSM 7 na serwerze Synology NAS, aby korzystał z wygenerowanego certyfikatu Let’s Encrypt SSL
  • Jak skonfigurować serwer Synology NAS tak, aby automatycznie odnawiał wygenerowane certyfikaty Let’s Encrypt SSL przy użyciu pliku „acme.sh”

W tym artykule do demonstracji użyjemy serwera DNS CloudFlare. Możesz użyć innych Usługi DNS obsługiwane przez acme.sh również. Wszystko, co musisz zrobić, to dokonać niezbędnych korekt.



Temat treści:

  1. Tworzenie użytkownika Certadmin na serwerze Synology NAS
  2. Konfigurowanie serwera DNS CloudFlare dla wyzwania LetsEncrypt DNS-01
  3. Konfigurowanie innych usług DNS dla wyzwania LetsEncrypt DNS-01
  4. Dostęp do terminala Synology NAS przez SSH
  5. Pobieranie pliku Acme.sh na serwer Synology NAS
  6. Instalowanie Acme.sh na serwerze Synology NAS
  7. Generowanie certyfikatu Let’s Encrypt SSL przy użyciu pliku Acme.sh dla serwera Synology NAS
  8. Instalowanie certyfikatu Let’s Encrypt SSL na serwerze Synology NAS za pomocą Acme.sh
  9. Ustawianie certyfikatu Let’s Encrypt SSL jako domyślnego na serwerze Synology NAS
  10. Skonfiguruj serwer Synology NAS do automatycznego odnawiania certyfikatu Let’s Encrypt SSL przy użyciu pliku Acme.sh
  11. Wniosek
  12. Bibliografia

Tworzenie użytkownika Certadmin na serwerze Synology NAS

Najpierw utwórz nowego użytkownika administratora na serwerze Synology NAS, aby wygenerować i odnowić certyfikaty Let's Encrypt SSL.





Aby utworzyć nowego użytkownika administratora na serwerze Synology NAS, kliknij Panel sterowania [1] > Użytkownik i grupa [2] z interfejsu sieciowego DSM 7.



Kliknij „Utwórz” w zakładce „Użytkownik”.

Wpisz „certadmin” jako nazwę użytkownika [1] , opcjonalny krótki opis dla użytkownika [2] , hasło logowania użytkownika [3] i kliknij „Dalej” [4] .

Aby utworzyć użytkownika admin, zaznacz na liście grupę „administratorzy”. [1] i kliknij „Dalej” [2] .

Kliknij „Dalej”.

Kliknij „Dalej”.

Kliknij „Dalej”.

Kliknij „Dalej”.

Kliknij „Gotowe”.

The certyfikatadmin użytkownik powinien teraz zostać utworzony na serwerze Synology NAS.

Konfigurowanie serwera DNS CloudFlare pod kątem wyzwania Let’s Encrypt DNS-01

Aby skorzystać z serwera DNS CloudFlare w wyzwaniu Let’s Encrypt DNS-01, musisz wygenerować token DNS CloudFlare. Możesz wygenerować token serwera DNS CloudFlare z panelu kontrolnego CloudFlare. Po więcej informacji, przeczytaj ten artykuł .

Konfigurowanie innych usług DNS dla wyzwania Let’s Encrypt DNS-01

„Acme.sh” obsługuje inne usługi DNS. Jeśli nie chcesz korzystać z CloudFlare DNS, możesz skorzystać z dowolnej usługi DNS obsługiwanej przez „acme.sh”. Konfiguracja jest nieco inna dla różnych usług DNS. Po więcej informacji, sprawdź przewodnik API DNS „acme.sh”. .

Dostęp do terminala Synology NAS przez SSH

Aby zainstalować plik „acme.sh” oraz wygenerować i zainstalować certyfikat Let’s Encrypt SSL na serwerze Synology NAS, musisz uzyskać dostęp do terminala serwera Synology NAS. Aby uzyskać więcej informacji na temat włączania dostępu SSH na serwerze Synology NAS i uzyskiwania dostępu do terminala serwera Synology NAS, przeczytaj ten artykuł .

Po włączeniu dostępu SSH na serwerze Synology NAS otwórz aplikację terminalową na komputerze i uruchom następujące polecenie:

$ ssh certadmin@

Zostaniesz poproszony o wpisanie hasła logowania do serwisu certyfikatadmin użytkownik. Wpisz hasło logowania do certyfikatadmin użytkownika serwera Synology NAS i naciśnij dalej . Powinieneś być zalogowany na serwerze Synology NAS jako certyfikatadmin użytkownik.

Pobieranie pliku Acme.sh na serwer Synology NAS

Aby pobrać najnowszą wersję klienta „acme.sh”, uruchom następującą komendę:

$ wget -O /tmp/acme.sh.zip https://github.com/acmesh-official/acme.sh/archive/master.zip

Najnowszą wersję archiwum klienta „acme.sh” „acme.sh.zip” należy pobrać do katalogu „/tmp” na serwerze Synology NAS.

Instalowanie Acme.sh na serwerze Synology NAS

Aby wyodrębnić archiwum „/tmp/acme.sh.zip” w katalogu „/usr/local/share” na serwerze Synology NAS, uruchom następujące polecenie, wpisz hasło logowania użytkownika certadmin i naciśnij po wyświetleniu monitu o hasło. Archiwum „/tmp/acme.sh.zip” należy rozpakować w katalogu „/usr/local/share/acme.sh-master”.

$ sudo 7z x -o /usr/local/share /tmp/acme.sh.zip

Dla uproszczenia zmień nazwę katalogu „acme.sh-master” na „acme.sh” za pomocą następującego polecenia:

$ sudo mv -v /usr/local/share/acme.sh-master /usr/local/share/acme.sh

Zrobić certyfikatadmin użytkownik będący właścicielem katalogu „/usr/local/share/acme.sh” i jego zawartości, uruchom następującą komendę:

$ sudo chown -Rfv certadmin /usr/local/share/acme.sh

Generowanie certyfikatu Let’s Encrypt SSL przy użyciu pliku Acme.sh dla serwera Synology NAS

Aby wygenerować certyfikat Let’s Encrypt SSL dla nazwy domeny, której używasz na serwerze Synology NAS, przejdź do katalogu „/usr/local/share/acme.sh” w następujący sposób:

$ cd /usr/local/share/acme.sh

Teraz musisz wyeksportować wymagane zmienne środowiskowe tokena API DNS. Używamy CloudFlare DNS do zarządzania nazwą domeny, której używamy na naszym serwerze Synology NAS. W naszym przypadku jedyne, co musimy zrobić, to wyeksportować zmienną środowiskową CF_Token z wartością tokena API CloudFlare DNS. Jeśli korzystasz z innej usługi DNS, sprawdź dokumentację API DNS „acme.sh” pod kątem zmiennych, które chcesz wyeksportować aby „acme.sh” mógł współpracować z Twoją usługą DNS.

$ eksport CF_Token=''

Wyeksportuj także wymagane zmienne środowiskowe Synology, aby plik „acme.sh” mógł zainstalować wygenerowane certyfikaty SSL na serwerze Synology NAS.

$ eksport SYNO_User
$ eksport SYNO_Password='Twoje_certadmin_login_Hasło'
$ eksport SYNO_Certificate='Zaszyfrujmy'
$ eksport SYNO_Create=1

Aby wygenerować certyfikat Let’s Encrypt SSL dla nazwy domeny „*.nodekite.com” (znak wieloznaczny) za pomocą wtyczki CloudFlare DNS ( –dns dns_cf ), uruchom następujące polecenie:

$ ./acme.sh --server letsencrypt --issue --dns dns_cf --home $PWD -d '*.nodekite.com'

Jeśli korzystasz z innych usług DNS, musisz odpowiednio zmienić wtyczkę DNS (–dns ) w poprzednim poleceniu. Po więcej informacji, sprawdź dokumentację API DNS „acme.sh”. .

Trwa generowanie certyfikatu Let’s Encrypt SSL. Ukończenie zajmuje trochę czasu.

W tym momencie powinien zostać wygenerowany certyfikat Let’s Encrypt SSL.

Instalowanie certyfikatu Let’s Encrypt SSL na serwerze Synology NAS za pomocą Acme.sh

Po wygenerowaniu certyfikatu Let’s Encrypt SSL dla nazwy domeny (w tym przypadku *.nodekite.com) serwera Synology NAS, możesz zainstalować go na serwerze Synology NAS za pomocą następującego polecenia:

$ ./acme.sh -d '*.nodekite.com' --deploy --deploy-hook synology_dsm --home $PWD

Jeśli masz włączone uwierzytelnianie dwuskładnikowe dla certyfikatadmin użytkownika, otrzymasz kod OTP. Musisz wpisać kod OTP i nacisnąć .

Jeśli nie masz włączonego uwierzytelniania dwuskładnikowego dla certyfikatadmin użytkownika, pozostaw to pole puste i naciśnij .

Naciskać .

Wygenerowany certyfikat Let’s Encrypt SSL powinien zostać zainstalowany na serwerze Synology NAS.

Po zainstalowaniu certyfikatu Let’s Encrypt SSL na serwerze Synology NAS zostanie on wyświetlony na stronie Panel sterowania > Bezpieczeństwo > Certyfikat w interfejsie internetowym DSM 7 serwera Synology NAS.

Ustawianie certyfikatu Let’s Encrypt SSL jako domyślnego na serwerze Synology NAS

Aby zarządzać certyfikatami SSL serwera Synology NAS, przejdź do Panel sterowania > Bezpieczeństwo > Certyfikat sekcję w interfejsie internetowym DSM 7 serwera Synology NAS.

Aby ustawić nowo zainstalowany certyfikat Let’s Encrypt SSL jako domyślny, aby nowo zainstalowane usługi internetowe na serwerze Synology NAS używały go domyślnie, wybierz certyfikat Let’s Encrypt SSL i kliknij Działanie > Edytować .

Zaznacz „Ustaw jako certyfikat domyślny” [1] i kliknij „OK” [2] .

Certyfikat Let’s Encrypt SSL powinien być ustawiony jako domyślny certyfikat dla Twojego serwera Synology NAS.

Aby skonfigurować istniejące usługi internetowe serwera Synology NAS do korzystania z certyfikatu Let’s Encrypt SSL, kliknij „Ustawienia”.

Jak widać, wszystkie usługi internetowe korzystają z certyfikatu SSL z podpisem własnym firmy Synology.

Aby zmienić certyfikat SSL dla usługi internetowej, kliknij odpowiednie menu rozwijane po prawej stronie.

Następnie z rozwijanego menu wybierz certyfikat Let’s Encrypt SSL, którego chcesz używać w usłudze internetowej.

W ten sam sposób wybierz certyfikat Let's Encrypt SSL dla wszystkich zainstalowanych usług internetowych na serwerze Synology NAS i kliknij „OK”.

Kliknij „Tak”.

Zmiany są stosowane. Wykonanie zajmuje kilka sekund.

Po zastosowaniu certyfikatu Let’s Encrypt SSL do wszystkich usług internetowych serwera Synology NAS odśwież stronę internetową, a interfejs sieciowy systemu DSM 7 powinien używać certyfikatu Let’s Encrypt SSL.

Konfigurowanie serwera Synology NAS do automatycznego odnawiania certyfikatu Let’s Encrypt SSL przy użyciu pliku Acme.sh

Aby skonfigurować serwer Synology NAS tak, aby automatycznie odnawiał certyfikat Let’s Encrypt SSL, przejdź do Panel sterowania > Harmonogram zadań z interfejsu sieciowego DSM 7.

W Harmonogramie zadań kliknij przycisk Tworzyć > Zaplanowane zadanie > Skrypt zdefiniowany przez użytkownika .

W zakładce „Ogólne” w sekcji „Zadanie” wpisz „Odnów certyfikaty SSL”. [1] i wybierz „certadmin” z menu rozwijanego „Użytkownik”. [2] .

W zakładce „Harmonogram” wybierz „Uruchom następnego dnia” [1] i wybierz „Powtarzaj co miesiąc” z menu rozwijanego „Powtarzaj”. [2] .

Przejdź do zakładki „Ustawienia zadań”, wpisz następujące polecenie w sekcji „Skrypt zdefiniowany przez użytkownika”. [1] i kliknij „OK” [2] .

/usr/local/share/acme.sh/acme.sh –renew –server letsencrypt -d „*.nodekite.com” –home /usr/local/share/acme.sh

Należy utworzyć nowe zadanie. Zadanie „Odnów certyfikaty SSL” będzie uruchamiane co miesiąc i upewnia się, że certyfikat Let's Encrypt SSL zostanie odnowiony przed jego wygaśnięciem.

Wniosek

W tym artykule pokazaliśmy, jak zainstalować klienta ACME „acme.sh” i używać go do generowania certyfikatu Let’s Encrypt SSL poprzez wyzwanie DNS-01 na serwerze Synology NAS. Pokazaliśmy również, jak zainstalować wygenerowany certyfikat Let’s Encrypt SSL na serwerze Synology NAS i skonfigurować usługi sieciowe serwera Synology NAS w celu korzystania z niego. Na koniec pokazaliśmy, jak skonfigurować zaplanowane zadanie na serwerze Synology NAS, aby automatycznie odnawiać certyfikat Let's Encrypt SSL przed jego wygaśnięciem.

Bibliografia: