HTTPS ve Sertifikalar
Bağlı bir cihazdaki bir uygulama bir web arayüzü sunduğunda, appliance bunu yerleşik tüneli üzerinden erişilebilir kılar. Tarayıcıların appliance’a nasıl ulaşacağını siz seçersiniz — sıfır kurulumdan tamamen kurumsal imzalıya kadar üç mod vardır. Birini seçin ve adımlarını izleyin.
| Mod | Ne sağlarsınız | Tarayıcı güveni | En uygun olduğu durum |
|---|---|---|---|
| 1. Düz HTTP (varsayılan) | Hiçbir şey | — (HTTP) | Güvenilir, bölümlere ayrılmış ağlar (OT VLAN, kumanda panosu) |
| 2. HTTPS, kendinden imzalı CA | Bir alan adı + wildcard DNS; istemcilere bir CA kökü dağıtın | CA’yı dağıttığınızda güvenilir olur | BT’den bir sertifika beklemeden HTTPS |
| 3. HTTPS, kurumsal sertifika | Bir alan adı + wildcard DNS + CA’nızdan bir wildcard sertifika | Otomatik olarak güvenilir (kuruluşunuzun CA’sı) | Dahili bir CA’ya sahip kurumsal ağlar |
Kurumsal Proxy Arkasında ile aynı şey değildir. O sayfa, appliance’ın giden trafik için kurumsal CA’nıza güvenmesiyle ilgilidir (appliance → bulut, TLS’i araya girip inceleyen bir proxy üzerinden). Bu sayfa ise tam tersi yöndedir — ağınızdaki tarayıcılardan appliance’a ulaşan gelen trafik. İkisi birbirinden bağımsızdır.
Mod 1 — Düz HTTP (varsayılan)
Ne elde edersiniz. Her şey appliance’ın adresi üzerinden düz HTTP ile:
| Arayüz | Adres |
|---|---|
| Ana appliance arayüzü | http://<APPLIANCE_HOST> |
| Uygulama web arayüzleri | http://<APPLIANCE_HOST>:<port> |
Her uygulama arayüzü kendi otomatik atanmış portunda yayımlanır; IronFlock arayüzü her biri için tam bağlantıyı gösterir. Uygulama arayüzleri appliance girişinin arkasında kalır — birini açmak, o cihaz için oturum açıp yetkili olmadığınız sürece girişe yönlendirir (açık olmasını istediğiniz yerde bir port, uygulama başına herkese açık olarak işaretlenebilir).
Ne yapmanız gerekir. Hiçbir şey. Bu varsayılandır — yerel ağınızda appliance’ın IP’sini veya ana makine adını kullanmanız yeterlidir. DNS yok, sertifika yok, kurumsal BT’nin dahli yok.
Ne zaman kullanılır. Güvenilir, bölümlere ayrılmış bir ağdaki bir appliance — bir makine/OT VLAN üzerindeki bir kumanda panosu — burada düz HTTP normdur ve erişim, ağ bölümlemesi ile fiziksel güvenlik tarafından denetlenir.
Mod 2 — Kendinden imzalı bir CA ile HTTPS
Ne elde edersiniz. Appliance, yerleşik HTTPS ingress’ini açar ve her şeyi alan adınız altında HTTPS ile sunar — kendi ürettiği bir sertifika kullanarak. Çalıştırılacak bir ters proxy ve yeniden yönlendirilecek URL yoktur; yükleyici her şeyi bağlar.
| Arayüz | Adres |
|---|---|
| Ana appliance arayüzü | https://<APPLIANCE_DOMAIN> |
| Uygulama web arayüzleri | https://<device>-<app>-<port>.<APPLIANCE_DOMAIN> |
| Platform hizmetleri | api. · auth. · login. · ws. · ide. · registry. <APPLIANCE_DOMAIN> |
Ne yapmanız gerekir.
-
Kullanacak her tarayıcı ve cihaz için appliance’a çözümlenen bir alan adı seçin ve hem
APPLIANCE_HOSThem deAPPLIANCE_DOMAIN’i buna ayarlayın. Appliance sertifikayı kendisi verdiği için herhangi bir ad işe yarar — tek gereksinim çözümlenmesidir. Hızlı bir testin ötesindeki her şey için, kendi DNS’inizde bir wildcard kaydıyla kontrol ettiğiniz dahili bir alan adı kullanın (örneğinappliance.corp.example.com): yalıtılmış veya DNS kısıtlamalı bir appliance ağı genellikle varsayılan<host-ip>.nip.ioadının dayandığı herkese açıknip.iohizmetine ulaşamaz. (Bu varsayılan, ağın internete ulaşabildiği yerlerde işe yarar — bu yüzden bir geliştirici makinesinde çalışır.) -
Alan adı için wildcard DNS ekleyin, her iki kayıt da appliance ana makine IP’sine işaret etsin:
*.<APPLIANCE_DOMAIN>— uygulama arayüzlerini ve her hizmet alt alan adını kapsar.<APPLIANCE_DOMAIN>(apex) — ana arayüz, adıyla.
(
nip.iogibi bir wildcard-DNS hizmeti bunları zaten otomatik olarak çözümler, dolayısıyla eklenecek kayıt yoktur — ancak bu, o harici hizmetin erişilebilir olmasına bağlıdır.) -
--tlsile kurun:curl -fsSL https://instance-registry.ironflock.com/dl/appliance/install_ironflock.sh \ | sudo bash -s -- <your-instance-key> --interactive --tls--interactive,APPLIANCE_HOST/APPLIANCE_DOMAINiçin sorar (veya müdahalesiz kurulum içinIRONFLOCK_APPLIANCE_HOST/IRONFLOCK_APPLIANCE_DOMAIN’i ayarlayın). Appliance,/opt/ironflock/certs/ca/rootCA.crtkonumunda yerel bir CA ve onunla imzalanmış bir wildcard sertifika üretir. -
CA kökünü istemci makinelere dağıtın.
rootCA.crt’yi MDM’niz üzerinden dağıtın veya her makinenin işletim sistemi/tarayıcı güven deposuna ekleyin. Bir makine ona güvenene kadar tarayıcısı uyarı verir. -
Bir yıl içinde yenileyin. Sunucu sertifikası ~1 yılla sınırlıdır — tarayıcılar daha uzun ömürlü olanları reddeder. Yenilemek için sertifika dizinindeki
tls.crt/tls.keydosyalarını silin ve yükleyiciyi yeniden çalıştırın; aynı CA’ya karşı yeni bir sertifika yeniden imzalar, böylece dağıttığınız güven çalışmaya devam eder.
Cihazlar düz IP yolunda kalır. Yalnızca tarayıcı tarafı HTTPS’e geçer. Bağlı cihazlar appliance’a IP’si üzerinden ulaşmaya devam eder, bu yüzden CA’yı her cihaza kurmak zorunda değilsiniz.
Ne zaman kullanılır. Paylaşılan bir ağda HTTPS istiyorsunuz ama kurumsal BT’den bir sertifikaya sahip değilsiniz (veya beklemek istemiyorsunuz) ve arayüzü açacak makinelere bir kök CA dağıtabilirsiniz.
Mod 3 — Kurumsal sertifikanızla HTTPS
Ne elde edersiniz. Mod 2’deki ile aynı tam-appliance HTTPS’i — ancak sertifika, kökü her yönetilen makinede zaten güvenilir olan kuruluşunuzun CA’sından gelir. Tarayıcı uyarısı yok, dağıtılacak bir şey yok. Cihazlar da alan adına geçer.
Ne yapmanız gerekir.
- Kontrol ettiğiniz dahili bir alan adı seçin ve
APPLIANCE_HOSTileAPPLIANCE_DOMAIN’i buna ayarlayın (örneğinappliance.corp.example.com). Burada bu mutlaka kendi alan adınız olmalıdır — bir CA yalnızca sahip olduğunuz alan adları için sertifika verir, bu yüzden bu modda birnip.ioadı işe yaramaz. - Wildcard DNS ekleyin —
*.<APPLIANCE_DOMAIN>ve apex, appliance ana makine IP’sine işaret etsin — Mod 2, adım 2’deki gibi. - Dahili CA’nızdan
*.<APPLIANCE_DOMAIN>için iki PEM dosyası olarak bir wildcard sertifika alın:tls.crt(tercihen tam zincir) ve şifrelenmemiş birtls.key. - Sertifikanızla kurun:
curl -fsSL https://instance-registry.ironflock.com/dl/appliance/install_ironflock.sh \ | sudo bash -s -- <your-instance-key> --interactive \ --tls-cert /path/to/wildcard.crt \ --tls-key /path/to/wildcard.key--tls-cert,--tls’i ima eder. Eşdeğer ortam değişkenleri:IRONFLOCK_TLS_CERT/IRONFLOCK_TLS_KEY. - CA’nızın takvimine göre rotasyon yapın. Yeni PEM dosyalarını sertifika dizinine bırakın ve yeniden başlatın:
Appliance, dosya değiştiğinde sertifikayı otomatik olarak yeniden yükler; yeniden başlatma yalnızca onu hemen uygular. Yükleyiciyi yeniden çalıştırmak,
sudo cp wildcard.crt /opt/ironflock/certs/tls.crt sudo cp wildcard.key /opt/ironflock/certs/tls.key sudo chmod 0600 /opt/ironflock/certs/tls.key sudo systemctl restart ironflock.service--tls-certgeçmediğiniz sürece mevcut bir sertifikanın üzerine asla yazmaz.
Cihazlar da alan adına geçer. Sertifika filo genelinde güvenilir olduğundan, cihaz trafiği — cihaz bağlantısı ve kapsayıcı görüntü çekmeleri — de alan adı üzerinden TLS ile çalışır ve
insecure-registriesgeçici çözümüne artık gerek kalmaz.
Ne zaman kullanılır. Standart kurumsal şirket içi yol: kuruluşunuz zaten dahili bir CA çalıştırıyor, böylece bir wildcard sertifika bir kez verilir ve makine başına hiçbir kurulum olmadan her yerde güvenilir olur.
Sorun Giderme
Bir uygulama arayüzü bağlantısı açılmıyor / bağlantı reddedildi.
Düz modda uygulama arayüzleri http://<host>:<port> konumundadır — IronFlock arayüzünde gösterilen tam bağlantıyı kullandığınızdan (port, uygulama başına atanır) ve ağdaki hiçbir şeyin o portu engellemediğinden emin olun.
Tarayıcı sertifikanın güvenilir olmadığı uyarısını veriyor (--tls sonrası).
İstemci henüz sertifikanın CA’sına güvenmiyor. Mod 2’de, appliance’ın ürettiği CA’yı (/opt/ironflock/certs/ca/rootCA.crt) istemciye dağıtın. Mod 3’te, istemcinin dahili CA kökünüze güvendiğinden emin olun.
Sertifika süresi doldu (kendinden imzalı).
Kendinden imzalı bir sunucu sertifikası yaklaşık bir yıl geçerlidir (tarayıcılar daha uzun ömürlü olanları reddeder). Yenileyin: sertifika dizinindeki tls.crt/tls.key dosyalarını silin ve aynı, hâlâ güvenilir CA’ya karşı yeniden imzalamak için yükleyiciyi yeniden çalıştırın — veya kendi CA’nızdan bir --tls-cert’e geçin.
Sertifika adı uyuşmazlığı.
Sertifika, kullanımdaki alan adı için bir wildcard değildir. *.<APPLIANCE_DOMAIN>’i kapsamalı ve URL’nin alan adı APPLIANCE_DOMAIN ile eşleşmelidir.
Bir alt alan adı çözümlenmiyor (--tls sonrası).
Wildcard DNS eksik. Appliance ana makinesine işaret eden bir *.<APPLIANCE_DOMAIN> A kaydı ekleyin — uygulama arayüzlerini ve her hizmet alt alan adını kapsar.