Konfiguracja certyfikatów Let's Encrypt na Sophos Firewall
Zintegrowana funkcja Let’s Encrypt w Sophos Firewall 22 żąda i odnawia certyfikaty dla publicznych nazw FQDN. Wykorzystuje protokół HTTP-01 przez IPv4. Dla każdej walidacji zapora tworzy tymczasową regułę WAF; w trakcie sprawdzania poprawności aplikacje internetowe chronione regułami WAF są niedostępne przez zaporę.
Przedstawione kroki konfiguracji i przypisywania certyfikatów dotyczą SFOS 22. Inny moment odnawiania w SFOS 23 opisano wyraźnie w sekcji poświęconej odnawianiu.
⚠️ Wydanie i odnowienie certyfikatu mogą zatem spowodować przerwę w działaniu usługi. Zmiany uruchamiane ręcznie wykonuj w kontrolowanym oknie serwisowym dla produkcyjnych aplikacji WAF, a w eksploatacji uwzględniaj również zależny od wersji moment automatycznego odnowienia. Porównane tutaj strony Sophos nie dokumentują ustawienia pozwalającego dowolnie zaplanować ten automatyczny moment. Podczas sprawdzania poprawności port
80nie może być blokowany ani wysyłany gdzie indziej przez DNAT, zaporę ogniową, GeoIP lub reguły nadrzędne.
Szybka procedura
- Spraw, aby każda nazwa FQDN była publicznie i spójnie rozpoznawana na całym świecie dla wybranego adresu IPv4.
- Sprawdź, czy przychodzący protokół HTTP na porcie
80dociera do zapory sieciowej i czy do tego adresu i portu nie ma zastosowania żaden DNAT. - Przejdź do Certificates > Let’s Encrypt, przeczytaj warunki i kliknij Register account.
- Przejdź do Certificates > Certificates, kliknij Add, wybierz Request Let’s Encrypt certificate pod Action i uzupełnij Name, Domains i Hosted address.
- Po kliknięciu Save przypisz ważny certyfikat do docelowej usługi i przetestuj go zewnętrznie.
- Sprawdź datę wygaśnięcia, ścieżkę portu 80 i
letsencrypt.logprzed oknem odnowienia.
Zastosowania i ograniczenia
Integracja jest odpowiednia dla usług, w których zapora prezentuje certyfikat, w tym WAF, WebAdmin, User Portal, opartych na przeglądarce VPN Portal, Captive Portal, portali SPX i logowania do hotspotów. Pozostałą część publikacji WAF można znaleźć w artykule Sophos Firewall WAF: Bezpieczne publikowanie serwerów internetowych.
Sophos dokumentuje te ograniczenia:
- Obsługiwane są tylko publiczne nazwy FQDN i IPv4.
- Weryfikacja wykorzystuje protokół HTTP-01. Ta integracja z SFOS nie akceptuje adresów IP ani domen z symbolami wieloznacznymi.
- Remote Access VPN, Site-to-Site VPN i usługa uwierzytelniania Chromebook SSO nie mogą korzystać z tych certyfikatów. Certyfikat VPN Portal oparty na przeglądarce to osobne ustawienie.
- Dla SFOS 22 Sophos podaje ważność wynoszącą 90 dni oraz żądanie odnowienia, gdy do wygaśnięcia pozostaje mniej niż 30 dni. W SFOS 23 odnawianie zależy natomiast od rzeczywistego okresu ważności certyfikatu: zapora żąda odnowienia po upływie dwóch trzecich tego okresu. Dzięki temu moment odnowienia dostosowuje się do zmian okresów ważności certyfikatów Let’s Encrypt.
- Istniejące certyfikaty przestają się odnawiać po Deregister account.
Sophos wprowadził tę integrację w SFOS 21. Artykuł Sophos Firewall v21: najważniejsze nowości przedstawia jej pierwotny zakres.
Utwórz zewnętrznie certyfikat wieloznaczny za pomocą DNS-01; zobacz Utwórz certyfikat wieloznaczny Let’s Encrypt. Zarządzaj certyfikatami w zaporze Sophos obejmuje importy, klucze prywatne i łańcuchy urzędów certyfikacji. Obsługa protokołu IPv6 w zaporze Sophos Firewall 22 wyjaśnia inne granice protokołu IPv6.
Przygotuj DNS i ścieżkę sieciową
Każdy wpis pod Domains musi spełniać te same warunki:
- Jego publiczny rekord DNS jest rozpoznawany jako adres IPv4 sieci WAN zapory lub adres, który kieruje port
80do zapory. - Wszyscy publiczni dostawcy DNS zwracają ten sam adres. Zależny od regionu GeoDNS nie nadaje się do tego przepływu pracy.
- Rekord DNS powinien zawierać jeden adres IP. Sophos zezwala na wiele adresów tylko wtedy, gdy należą one do innych zapór sieciowych, które kierują protokół HTTP do zapory wysyłającej żądanie.
- Ani reguła zapory sieciowej, ani urządzenie nadrzędne nie mogą blokować portu przychodzącego
80. Obejmuje to zasady GeoIP; Let’s Encrypt weryfikuje dane z wielu krajów i nie publikuje ustalonych zakresów źródeł weryfikacji. - Żaden DNAT nie może dotyczyć portu
80na adresie WAN zapory. Jeśli router jest właścicielem publicznego adresu IP przed zaporą, router ten musi zamiast tego przekierować port80do interfejsu WAN zapory. - Trasa SD-WAN nie może wysyłać wychodzącego protokołu HTTP przez urządzenie uniemożliwiające dostęp do Let’s Encrypt.
Synchronizuj zegar z NTP. Sprawdź DNS i port 80 spoza sieci lokalnej przed zażądaniem certyfikatu; rozdzielona pętla zwrotna DNS lub NAT może sprawić, że test wewnętrzny będzie mylący.
Zarejestruj lub wyrejestruj konto
- Otwórz Certificates > Let’s Encrypt.
- Przeczytaj Subscriber Agreement i warunki.
- Kliknij Register account.
Kliknięcie przycisku akceptuje Subscriber Agreement. Jeśli warunki ulegną zmianie, SFOS wymaga ponownej rejestracji. Do czasu potwierdzenia nie można tworzyć nowych certyfikatów, a istniejące nie są odnawiane. Sophos wysyła e-mail do administratora i wyświetla alert Control Center; skonfiguruj dostarczanie wiadomości e-mail w Administration > Notification settings.
Deregister account kończy rejestrację. Niekoniecznie powoduje to usunięcie wszystkich istniejących certyfikatów, ale przyszłe odnawianie zostanie zatrzymane. Przed wyrejestrowaniem potwierdź certyfikaty zastępcze, przypisania i daty ważności.
Poproś o certyfikat
- Otwórz Certificates > Certificates i kliknij Add.
- Dla Action wybierz Request Let’s Encrypt certificate.
- Wprowadź unikalny Name, np.
le-app-example-com. - W obszarze Domains dodaj wszystkie wymagane nazwy FQDN, takie jak
app.example.com. Nie wprowadzaj adresu IP ani*.example.com. - W obszarze Hosted address wybierz publiczny adres IPv4 interfejsu WAN, na który będą rozpoznawane domeny.
- Kliknij Save i uwzględnij awarię WAF.
- W obszarze Certificates > Certificates sprawdź, czy certyfikat jest ważny i godny zaufania oraz czy ma wiarygodną datę Valid until.
Jeśli nazwa FQDN jest błędna, usuń nieudane żądanie i utwórz je ponownie, podając poprawną nazwę. Napraw DNS i ścieżkę portu 80 przed ponowną próbą, zamiast wielokrotnie przesyłać to samo nieprawidłowe żądanie.
Przypisz certyfikat
Samo wydanie nie zmienia usługi. SFOS 22 dokumentuje te zadania:
- WAF: Edytuj regułę WAF w Rules and policies > Firewall rules, włącz HTTPS i wybierz certyfikat w HTTPS certificate. Jego domeny spełniają regułę. Zapisanie reguły WAF powoduje ponowne uruchomienie wszystkich reguł ochrony serwera WWW i zerwanie aktywnych połączeń.
- Portale WebAdmin, User Portal, VPN Portal, Captive Portal i SPX: Przejdź do Administration > Admin and user settings > Admin console and end-user interaction > Certificate i wybierz certyfikat dla odpowiedniej usługi.
- Hotspot: Przejdź do Wireless > Wireless settings > Hotspot settings, wybierz go pod Login page certificate i kliknij Apply. Ten certyfikat jest używany, gdy dla hotspotu włączono Redirect to HTTPS.
Następnie otwórz prawdziwą nazwę FQDN z zewnątrz. Nazwa certyfikatu, domeny SNI, WAF i faktycznie dostarczony certyfikat muszą się zgadzać. W przypadku SMTP TLS lub innej funkcji używaj wyłącznie selektora certyfikatów pokazanego na stronie SFOS 22 tej funkcji; powyższe przypisania portalu nie dotyczą go automatycznie.
Bezpiecznie przypisz, usuń lub wycofaj zmianę
Przed zmianą zapisz poprzedni certyfikat i wszystkie powiązane przypisania, wykonaj aktualną kopię konfiguracji i zachowaj możliwość testu zewnętrznego. Jeśli to możliwe, przypisz nowy certyfikat najpierw do jednej usługi i przetestuj ją z użyciem rzeczywistego FQDN. Jeśli test się nie powiedzie, ponownie wybierz poprzedni certyfikat w tej samej konfiguracji usługi i zatwierdź przez Save lub Apply. W przypadku WAF spowoduje to ponowne uruchomienie wszystkich reguł Web Server Protection i przerwanie aktywnych połączeń.
Nie usuwaj poprzedniego certyfikatu, dopóki każda powiązana usługa nie przejdzie testu zewnętrznego oraz nie zostaną ustalone odpowiedzialność za termin ważności i odnowienie. Przed usunięciem zmień każde znane odwołanie usługi na nowy lub inny ważny certyfikat. Przywrócenie kopii traktuj jako ostatnią, a nie pierwszą opcję wycofania: zastępuje ono całą działającą konfigurację i restartuje firewall.
Odnowienie, HA i kopia zapasowa
Moment odnowienia zależy od wersji SFOS: SFOS 22 żąda odnowienia, gdy do wygaśnięcia pozostaje mniej niż 30 dni; SFOS 23 po upływie dwóch trzecich rzeczywistego okresu ważności certyfikatu. Podczas kontroli eksploatacyjnej sprawdzaj konkretny certyfikat i jego okres ważności, zamiast zakładać dla SFOS 23 stały próg 30 dni. Obie wersje nadal wymagają działającej ścieżki DNS, IPv4 i portu 80, tak jak przy pierwszym wydaniu. Sprawdź ponownie ścieżkę po zmianie DNS, dostawcy, NAT, GeoIP, SD-WAN, WAF lub oprogramowania sprzętowego. Aktualnie ważny certyfikat nie jest dowodem na to, że kolejna walidacja będzie skuteczna.
Sophos opisuje kopie zapasowe jako zaszyfrowane kopie całej konfiguracji firewalla. Wykonaj bieżącą kopię zapasową przed zmianami certyfikatu lub WAF. Przywrócenie go zastępuje bieżącą konfigurację i ponownie uruchamia zaporę, więc później sprawdź stan konta, certyfikaty, przypisania usług i dostawę zewnętrzną.
W klastrze HA przywracaj kopię na bieżącym urządzeniu Primary, nigdy na Auxiliary. Primary uruchamia się ponownie bez failover, co powoduje przerwę zarówno w Active-Passive, jak i Active-Active. Jeśli kopia zawiera konfigurację HA, Primary synchronizuje następnie przywróconą konfigurację z Auxiliary. Jeśli kopia nie zawiera konfiguracji HA, HA zostaje wyłączone, a Auxiliary początkowo zachowuje poprzednią konfigurację; zastosuj wtedy procedurę odzyskiwania udokumentowaną przez Sophos. Sophos nie opisuje na stronie Let’s Encrypt dodatkowej logiki dotyczącej konta lub odnawiania. Po przywróceniu albo zmianie roli sprawdź więc stan certyfikatu i wykonaj zewnętrzny test TLS, zamiast polegać na założeniach.
Sprawdź i rozwiąż problemy
Po wydaniu i każdym odnowieniu sprawdź:
- publiczny DNS z kilku regionów;
- wpis pod Certificates > Certificates;
- dotknięta usługa spoza sieci LAN;
- FQDN, SAN, emitent, wygaśnięcie i pełny łańcuch pośredni;
- Log viewer, plus
tail -f /log/reverseproxy.logdla WAF; - zdarzenia wydawania i odnawiania w
letsencrypt.log.
Z zewnętrznego komputera administratora to polecenie tylko do odczytu wyświetla certyfikaty wysłane przez usługę. Zastąp dwukrotnie app.example.com prawdziwą nazwą FQDN:
openssl s_client -connect app.example.com:443 -servername app.example.com -showcerts </dev/null
Dane wyjściowe muszą zawierać certyfikat serwera i wymagane certyfikaty pośrednie. Serwer zwykle nie przesyła głównej kotwicy zaufania. Drugi test korzysta z magazynu zaufania tego komputera:
curl -Iv https://app.example.com/
W Advanced Shell można śledzić oficjalny dziennik Let’s Encrypt; wyświetlanie kończy się klawiszami Ctrl+C:
tail -f /log/letsencrypt.log
Sophos wymienia tail -f /log/vpncertificate.log dla ogólnych operacji na certyfikatach i tail -f /log/reverseproxy.log dla WAF. W wersji SFOS 22.0 MR2 Build 546 dodano obsługę YE Root, YE1, YE2, YR Root, YR1 i YR2. Jeśli tylko starsi klienci zawiodą po odnowieniu, sprawdź ich magazyny zaufania. Jeśli serwer pominie pośrednika, najpierw sprawdź oprogramowanie sprzętowe, przypisanie usług i serwery proxy nadrzędne, a następnie przekaż wyniki testu do pomocy technicznej Sophos.
Typowe awarie można zawęzić w następujący sposób:
- Żądanie natychmiast kończy się niepowodzeniem: Sprawdź publiczną nazwę FQDN, globalnie spójną odpowiedź DNS i miejsce docelowe IPv4.
- Port 80 łączy się z innym systemem: Usuń lub popraw DNAT na zaporze; jeśli istnieje router nadrzędny, sprawdź jego przekazywanie do zapory ogniowej.
- Błąd zależy od regionu: Sprawdź filtry GeoIP i dostawcy. Nie ograniczaj dostępu do domniemanych list adresów IP Let’s Encrypt.
- Błąd po zmianie routingu: Sprawdź wychodzącą trasę HTTP SD-WAN.
- Wyświetlany jest stary certyfikat: Sprawdź przypisanie usługi i ewentualny moduł równoważenia obciążenia nadrzędnego lub odwrotne proxy.
- Odnowienie nie następuje: Sprawdź pozostałą ważność, rejestrację, zmienione warunki i niezmienioną ścieżkę HTTP-01.
- Certyfikat dynamicznego IP utworzony podczas EAP nie odnawia się w GA: Usuń i utwórz ponownie ten konkretny certyfikat w kompilacji GA, zgodnie z instrukcją Sophos.
Często zadawane pytania
Dlaczego port 80 musi być otwarty?
80; Let’s Encrypt może podążać za przekierowaniami do HTTPS, ale pierwsze połączenie musi dotrzeć do portu 80.