Bu KB makalesinde, Raspberry Pi kullanarak USG'nize nasıl Let’s Encrypt sertifikası yükleyebileceğinizi göstermek istiyorum.
Giriş
Belirli bir alan adı için sertifika indirmek üzere Raspberry Pi üzerinde çalışan Apache sunucusu ve Apache için Let’s Encrypt eklentisini kullanacağız. Ayrıca bu sertifikayı güncellemek için Pi'yi kullanacağız.
Sertifikayı Pi'den dışa aktaracak ve USG'ye aktaracağız.
Sertifikanın kullanımı nedir?
Sertifika ile tarayıcınızdaki güvenlik uyarılarından kurtulacaksınız. Örneğin HotSpot veya SSL VPN için.
Gereksinimler
- Bir alan adına (DN) ihtiyacınız var (örneğin hotspot.hotel-mayer.de)
- Statik IP'niz yoksa, DN'nizin güncel tutulduğundan emin olmalısınız,
USG'nizin DDNS seçeneğini kullanabilirsiniz: Configuration > Network > DDNS - USG'nizi çift NAT senaryosunda kullanıyorsanız, HTTP ve HTTPS'nin USG'ye yönlendirildiğinden emin olmalısınız
- NAT'ı doğru şekilde nasıl kullanacağınızı bilmelisiniz
- Bir Raspberry Pi ve işletim sistemi için bir SD kart gereklidir
- Tera Term veya Putty ve WinSCP yüklü bir PC
- USG üzerinde SSH terminalini nasıl kullanacağınızı bilmelisiniz
- USG en az FW sürüm 4.30'da olmalıdır
1. Pi ve Apache kurulumu
Bu senaryoda, Pi için yalnızca komut satırı tabanlı bir işletim sistemine ihtiyacımız var (Raspbian Stretch Lite)
Lütfen Raspberry Pi web sitesinden indirip dokümantasyonda açıklandığı gibi kurun.
https://www.raspberrypi.org/downloads/raspbian/
https://www.raspberrypi.org/documentation/installation/installing-images/README.md
1.1 SSH'yi etkinleştirme ve şifre değiştirme
Şimdi SSH'yi etkinleştirmeniz gerekiyor. Bunun için SD kartı bilgisayarınıza takın ve SD kartın kök klasörüne “SSH” adlı boş bir dosya koyun.
Kurulum tamamlandıktan sonra Pi'yi ağınıza takın, başlatın ve SSH ile erişip erişemediğinizi kontrol edin (örneğin Putty veya Tera Term ile)
Kullanıcı: pi
Şifre: raspberryÖneri 1: Şifreyi burada açıklandığı gibi değiştirin:
https://www.raspberrypi.org/documentation/configuration/raspi-config.md
Öneri 2: Pi'nin her zaman aynı IP'yi almasını sağlayın
1.2 Pi'yi güncelleyin ve Apache sunucusunu kurun
Şimdi güncellemeleri kontrol edip yükleyebiliriz
sudo apt update && sudo apt upgrade --yesBu işlem tamamlandıktan sonra Apache sunucusunu kurabiliriz
sudo apt install apache2 --yesKurulum tamamlandıktan sonra Raspberry IP'sine göz atarak Apache'nin varsayılan web sayfasını görebilmelisiniz.
Şimdi Pi'yi yeniden başlatma zamanı:
shutdown -rBu arada, Pi için (geçici) port yönlendirmesini ayarlayacağız.
2. Port yönlendirme
80 ve 443 portlarının internete açık olması için. Aşağıda gerekli adımları bulabilirsiniz
2.1 USG'nin HTTPS portunu örneğin 8443 olarak değiştirin
Artık USG'ye şu şekilde erişebilirsiniz: https://192.168.1.1:8443
2.2 HTTP ve HTTPS için port yönlendirmeyi yapılandırın
Lütfen Pi'nizin test sayfasına internetten erişip erişemediğinizi kontrol edin
3. Sertifika oluşturma ve dışa aktarma
Let’s Encrypt sertifikası alabilmek için önce Apache için Let’s Encrypt eklentisini kurmamız gerekiyor. Bu, alan adınızın sertifikalandırılmasına yardımcı olacak.
sudo apt install certbot python-certbot-apache --yes3.2 İlk sertifikayı oluşturma
Şimdi ilk sertifikayı oluşturacağız:
sudo certbot --apacheFormu uygun şekilde doldurmanız gerekiyor. Kalıcı yönlendirme yapmak isteyip istemediğiniz sorulacak.
Sertifika istenecek ve otomatik olarak Apache sunucusuna kurulacak.
3.3 Sertifikayı dışa aktarma ve indirme
Şimdi sertifikayı zaman damgasıyla dışa aktarabilirsiniz.
sudo openssl pkcs12 -export -out /tmp/myusg_"$(date +"%Y-%m-%d")".p12 -inkey /etc/letsencrypt/live/[your_domain]/privkey.pem -in /etc/letsencrypt/live/[your_domain]/cert.pemBir şifre girmeniz gerekecek. Lütfen bu şifreyi unutmayın, çünkü USG'ye aktarımda da gerekecek.
Pi'den sertifikayı almak için myusg_[date].p12 dosyasının erişim izinlerini değiştirmemiz gerekiyor.
sudo chmod 777 myusg[date].p12Şimdi /tmp klasöründen WinSCP ile dosyayı alabilirsiniz.
4. Sertifikayı USG'ye aktarma
4.1 Let’s Encrypt kök ve ara sertifikalarını indirip içe aktarın
USG'nin daha önce dışa aktardığımız sertifikaya güvenmesi için Let’s Encrypt'ten kök ve ara sertifikaları içe aktarmamız gerekiyor:
https://letsencrypt.org/certificates/
Sertifikaların pem dosyası olarak kaydedildiğinden emin olun (örneğin letsencryptauthorityx3.pem).
Şimdi USG'de Configuration > Objects > Certificates > Trusted certificates bölümüne gidin ve kök ile ara sertifikaları içe aktarın.
4.2 Sertifikanızı içe aktarın ve etkinleştirin
USG'de Configuration > Objects > Certificates > My Certificates bölümüne gidin ve sertifikayı içe aktarın (Şifreyi de girmeniz gerekiyor)
Configuration > System > WWW altında Server Certificate bölümünden artık içe aktardığınız sertifikayı seçebilirsiniz.
5. HTTP'den HTTPS'ye yönlendirmeyi doğru yapılandırın
5.1 Pi için NAT'ı devre dışı bırakın
80 ve 443 portlarının USG için tekrar serbest olması için Pi için NAT'ı devre dışı bırakmalısınız. Configuration > Network > NAT bölümüne gidin ve NAT'tan sorumlu kuralları bulun ve devre dışı bırakın. Kuralları silmeyin, çünkü daha sonra tekrar ihtiyacınız olacak.
5.2 USG'nin HTTPS portunu tekrar 443 yapın ve HTTP'den HTTPS'ye yönlendirmeyi kurun
Configuration > System > WWW bölümüne gidin ve HTTPS portunu tekrar 443 yapın. HTTP yönlendirmesinin etkin olduğundan emin olun.
5.3 IP adresinden kurtulun
Şimdi USG içe aktarılan sertifikayı kullanacak. Kalan "sorun", USG'nin HTTP'den HTTPS'ye şu şekilde yönlendirme yapmasıdır:
https://192.168.1.1/redirect.cgi?arip=[your_dyndns]&original_url=http://[your_dyndns]/
Bu elbette sertifika sorununa yol açar. Bu mesajdan tamamen kurtulmak için USG'ye SSH ile bağlanın ve şu komutları girin:
Router> configure terminal
Router(config)# web-auth redirect-fqdn [your_domainname]
Router(config)# write
Router(config)# exit
Router> writeArtık yönlendirme şu şekilde olacak:
https://[your_domain]/redirect.cgi?arip=[your_domain]&original_url=http://[your_domain]/
Tebrikler, artık USG'nizde çalışan bir Let’s Encrypt sertifikasına sahipsiniz.
Sertifikayı yenileme
Let’s Encrypt sertifikaları 90 gün geçerlidir. Bu, sertifikayı her üç ayda bir yenilemeniz gerektiği anlamına gelir.
1. HTTP ve HTTPS portlarını tekrar Pi'ye açın
a) USG'nin HTTPS portlarını tekrar değiştirin (Bölüm 2.1)
b) Pi için HTTP/HTTPS NAT'ını yeniden etkinleştirin (Bölüm 2.2)
2. Pi'ye SSH ile bağlanın ve sertifikayı yenileyin
Pi'nize SSH ile bağlanın ve şu komutu girin
sudo certbot renewBu, sertifikayı 90 gün daha yenileyecektir
3. Sertifikayı dışa aktarın ve içe aktarın
Şimdi 3.3 bölümündeki adımları takip etmeniz gerekiyor
4. Sertifikayı USG'de güncelleyin
Şimdi 4.2 adımı ile devam edin
5. Portları geri değiştirin
5.1 ve 5.2 adımlarını takip edin
Tebrikler, artık USG'nizde Let’s Encrypt sertifikasını yenilediniz.
Feragatname: Lütfen bunun USG'nize Let’s Encrypt sertifikası yükleme yöntemine dair sadece bir açıklama olduğunu anlayın. Raspberry Pi ile ilgili herhangi bir sorun yaşarsanız, Pi ile ilgili destek veremeyeceğimizi lütfen anlayışla karşılayın!

Yorumlar
0 yorumYorum yazmak için lütfen oturum açın: oturum aç.