Home Assistant'ı kurdunuz, akıllı prizleri, termostatı ve kameraları bağladınız — ve bunları dünyanın herhangi bir yerinden akıllı telefonunuzla yönetmek istiyorsunuz. Ancak, korumasız internet erişimi, akıllı evinizi hackerlar için kolay bir hedef haline getiriyor. Bu yazıda, Home Assistant'a proxy üzerinden uzaktan erişimi nasıl doğru bir şekilde organize edeceğinizi ve ev ağınızı nasıl güvence altına alacağınızı inceleyeceğiz.
Neden doğrudan erişim Home Assistant için tehlikeli
Home Assistant, açık kaynaklı güçlü bir akıllı ev otomasyon platformudur. Dünya genelinde milyonlarca kullanıcı, aydınlatma, iklim, kilitler, kameralar ve diğer birçok cihazı bu platform üzerinden yönetmektedir. Ancak, bu popülarite Home Assistant'ı kötü niyetli kişiler için cazip bir hedef haline getiriyor.
8123 numaralı portu (Home Assistant'ın standart portu) doğrudan yönlendirici üzerinden internete açtığınızda, otomatik tarayıcılar için "hoş geldiniz" tabelası asmış oluyorsunuz. Bu tür tarayıcılar, tüm IP adresi aralığını tarar ve bilinen hizmetlerin açık portlarını arar. Shodan'a (internet üzerindeki cihazları arayan bir motor) göre, açık erişimde sürekli olarak on binlerce Home Assistant örneği bulunmaktadır.
Kötü niyetli bir kişi Home Assistant'ınızı keşfettikten sonra ne olur:
- Şifre kırma — otomatik scriptler, binlerce kullanıcı adı/şifre kombinasyonunu dener. Zayıf bir şifreniz varsa, hacklenmek sadece birkaç dakikanın meselesidir.
- Açıklar istismar edilir — eski Home Assistant sürümlerinde, şifresiz erişim sağlayan kritik açıklar zaman zaman bulunur.
- Kameralardan izleme — HA'ya erişim sağlandığında, kötü niyetli kişi bağlı tüm kameraların canlı yayınını görebilir.
- Kilitler ve alarm kontrolü — akıllı bir kilit bağladıysanız, hacker evinizin kapısını uzaktan açabilir.
- Otomasyon verilerinin çalınması — HA'nın geçmişinden evde ne zaman olduğunuzu, ne zaman ayrıldığınızı, uyku modunu ve diğer özel verileri öğrenmek mümkündür.
⚠️ Gerçek bir durum
2023 yılında güvenlik araştırmacıları, Home Assistant'ta kimlik doğrulamayı atlatmayı sağlayan CVE-2023-27482 açığını keşfettiler. İnternete açık olan tüm örnekler, yamanın çıkmasına kadar savunmasızdı. Proxy katmanı veya VPN kullananlar otomatik olarak korunuyordu.
Proxy, akıllı evi nasıl korur: çalışma prensibi
Proxy, Home Assistant bağlamında internet ile sunucunuz arasında bir aracı olarak görev yapar. Home Assistant'ınızın doğrudan ağdan görünmesi yerine, dışarıda yalnızca proxy sunucusu görünür — ve o, ek kontroller uygulayarak içeriye istekleri iletir.
Çalışma şeması şu şekildedir:
Akıllı telefonunuz (internet)
↓
Proxy sunucusu
(filtreleme, şifreleme, yetkilendirme)
↓
Ev ağı (kapalı)
↓
Home Assistant (192.168.1.X:8123)
Bu ek katman ne sağlar:
- Gerçek IP'yi gizleme — tarayıcılar proxy'nin IP'sini görür, ev adresinizi değil. Proxy hacklense bile, ev ağına doğrudan erişim elde edemezler.
- SSL/TLS şifrelemesi — proxy, HTTPS bağlantısını sonlandırabilir ve doğru bir sertifika verebilir, trafiği ele geçirmeye karşı korur.
- Ek yetkilendirme — Home Assistant'ın önüne Basic Auth veya iki faktörlü kimlik doğrulama koyabilirsiniz.
- Rate limiting — bir IP'den gelen istek sayısını sınırlamak, brute force saldırılarını Home Assistant'a ulaşmadan engeller.
- Coğrafi engelleme — yalnızca belirli ülkelerden veya IP aralıklarından erişime izin verebilirsiniz.
- Loglama — tüm erişim girişimleri kaydedilir, bu da şüpheli etkinlikleri tespit etmeye yardımcı olur.
Bu senaryoda kullanılan iki proxy türü arasındaki farkı anlamak önemlidir: ters proxy (reverse proxy), sunucunuzda veya yönlendiricinizde kurulur ve gelen bağlantıları kabul eder, dış proxy ise trafiğinizi tünelleyen bulut üzerindeki bir ara sunucudur. Her iki yaklaşımın da avantajları vardır ve her birini inceleyeceğiz.
Home Assistant için hangi proxy türleri uygundur
Bir çözüm seçmeden önce, Home Assistant'ın görevlerinin ve örneğin bir aracı veya SMM uzmanının görevlerinin temelde farklı olduğunu anlamak önemlidir. Akıllı ev için, engelleri aşmak için anonim bir proxy değil, uzaktan yönetim için güvenli bir tünel gereklidir. Seçenekleri inceleyelim:
| Çözüm türü | Nasıl çalışır | Artıları | Eksileri | Zorluk |
|---|---|---|---|---|
| Ters proxy (Nginx/Caddy) | Dışarıdan gelen HTTPS isteklerini alır ve içeriye HA'ya iletir | Ücretsiz, tam kontrol, SSL | Beyaz IP veya DDNS gerektirir, açık port 443 | Orta |
| Cloudflare Tüneli | HA'dan Cloudflare sunucularına tünel, portlara gerek yok | Ücretsiz, beyaz IP gerekmez, DDoS koruması | Trafik Cloudflare üzerinden geçer, bir alan adı gerektirir | Düşük |
| VPS + proxy | VPS kiralarsınız, trafiği onun üzerinden tünelleştirirsiniz | Kendi IP'niz, maksimum kontrol | Ücretli, ayar gerektirir | Yüksek |
| Nabu Casa (resmi) | HA geliştiricilerinden bulut hizmeti | Son derece basit, Alexa/Google'ı destekler | Ücretli abonelik ~$6.50/ay | Çok düşük |
| İkametgah proxy'si | Çıkış trafiğini gerçek ev IP'si üzerinden yönlendirir | Gerçek IP, hizmetler tarafından engellenmez | Çıkış trafiği için uygundur, giriş için değil | Düşük |
Çoğu Home Assistant kullanıcısı için en uygun seçim Cloudflare Tüneli (ücretsiz, beyaz IP gerekmez) veya Nginx/Caddy üzerinde ters proxy (eğer beyaz IP veya dinamik DNS varsa) olacaktır. Nabu Casa, ayarlarla uğraşmak istemeyenler için uygundur. Her seçeneği detaylı olarak inceleyelim.
Ters proxy (Nginx, Caddy): adım adım ayarlama
Ters proxy, Home Assistant'a güvenli erişim sağlamak için klasik ve en esnek yoldur. HA ile aynı cihazda (örneğin, Raspberry Pi veya Home Assistant OS üzerinde) veya ev ağındaki ayrı bir sunucuda kurulabilir.
Seçenek 1: Caddy (yeni başlayanlar için önerilir)
Caddy, Let's Encrypt üzerinden otomatik olarak SSL sertifikaları alıp güncelleyen modern bir web sunucusudur. Hiçbir manuel certbot ayarı gerektirmez.
Adım 1: İhtiyacınız olanlar
- Alan adı (DuckDNS veya No-IP'den ücretsiz bir alan adı alabilirsiniz)
- Yönlendiricide 443 numaralı portu Home Assistant IP'sine yönlendirin
- Kurulu Home Assistant (herhangi bir versiyon)
Adım 2: Caddy'yi Home Assistant OS'de eklenti olarak kurma
Home Assistant OS (HAOS) kullanıyorsanız, Ayarlar → Eklentiler → Eklenti mağazası bölümünü açın ve Caddy 2 eklentisini bulun. Kurun ve yapılandırmaya geçin.
Adım 3: Caddyfile için temel yapılandırma
your-domain.duckdns.org {
reverse_proxy localhost:8123
# Ek koruma: HA öncesinde Basic Auth
# basicauth {
# admin $2a$14$şifre_hash
# }
# Rate limiting: saniyede en fazla 10 istek
rate_limit {
zone static_zone {
key {remote_host}
events 10
window 1s
}
}
# Güvenlik başlıkları
header {
X-Frame-Options DENY
X-Content-Type-Options nosniff
Referrer-Policy no-referrer
}
}
Adım 4: Home Assistant'ı proxy arkasında çalışacak şekilde ayarlama
configuration.yaml dosyasını açın ve aşağıdaki satırları ekleyin. Bu zorunludur — aksi takdirde HA, proxy'den gelen istekleri reddedecektir:
http:
use_x_forwarded_for: true
trusted_proxies:
- 127.0.0.1
- ::1
Kaydettikten sonra Home Assistant'ı yeniden başlatın. Artık https://your-domain.duckdns.org adresinden erişebilirsiniz — bağlantı şifreli olacak ve yönlendiricinizin gerçek IP'si alan adı arkasında gizlenecektir.
Seçenek 2: Cloudflare Tüneli (beyaz IP olmadan)
Eğer beyaz IP'niz yoksa (çoğu ev sağlayıcısı, NAT altında gri IP'ler verir), Cloudflare Tüneli mükemmel bir çözümdür. Home Assistant ile birlikte bir cloudflared adlı küçük bir ajan kurarsınız ve bu, Cloudflare sunucularına şifreli bir tünel oluşturur. Yönlendiricide hiçbir açık port yok!
Adım adım ayarlama:
- cloudflare.com adresinde kaydolun ve alan adınızı ekleyin (veya ücretsiz bir alt alan adı kullanın).
- Cloudflare panelinde Zero Trust → Networks → Tunnels bölümüne gidin.
- Create a tunnel butonuna tıklayın, tünele bir isim verin (örneğin, home-assistant).
- Kurulum komutunu kopyalayın ve HA'nın bulunduğu cihazda çalıştırın (veya HAOS mağazasından Cloudflared eklentisini kurun).
- Public Hostname bölümünde şunları belirtin:
— Alt alan adı:ha
— Alan adı: sizin alan adınız
— Hizmet:http://localhost:8123 configuration.yamldosyasına Cloudflare'ın güvenilir proxy'lerini ekleyin (IP aralıklarını cloudflare.com/ips adresinde bulabilirsiniz).- Opsiyonel: Zero Trust Access'i etkinleştirin — HA'ya giriş yapmadan önce e-posta veya Google hesabı üzerinden ek bir kimlik doğrulama katmanı.
💡 İpucu
Cloudflare Tüneli kişisel kullanım için tamamen ücretsizdir. Tek sınırlama, trafiğin Cloudflare sunucuları üzerinden geçmesidir. Akıllı ev yönetimi için bu tamamen kabul edilebilir, ayrıca DDoS ve botlara karşı koruma da sağlanır.
Dış proxy sunucusu: ne zaman gereklidir ve nasıl bağlanılır
Dış proxy sunucusu, trafiğinizin yönlendirildiği bulut üzerindeki bir ara düğümdür. Home Assistant bağlamında, ters proxy ile kapsanmayan birkaç özel senaryoda kullanılır.
Senaryo 1: Home Assistant'a kurumsal ağdan erişim
Birçok kurumsal ağ, standart olmayan portları ve VPN bağlantılarını engeller. Eğer iş bilgisayarınızdan akıllı evinizi yönetmek istiyorsanız ve çoğu bağlantı engelliyse, ikametgah proxy'si üzerinden giden trafik, kurumsal güvenlik duvarında şüphe uyandırmadan normal bir ev kullanıcısının HTTPS trafiği gibi görünür.
Senaryo 2: Coğrafi kısıtlamalara sahip hizmetlerle entegrasyonlar
Home Assistant, hava durumu API'leri, akıllı hoparlörler, akış platformları gibi binlerce dış hizmetle entegre olabiliyor. Bunların bazıları yalnızca belirli ülkelerde mevcuttur. Örneğin, Amazon Alexa veya Google Assistant ile entegrasyon, sunucunun ABD veya Avrupa'dan erişilebilir olmasını gerektirir. Bu durumda, HA'dan çıkan trafiği, gerekli bölgede veri merkezi proxy'si üzerinden yönlendirebilirsiniz.
Senaryo 3: HA'nın giden isteklerini anonimleştirme
Home Assistant, hava durumu kontrolü, trafik verileri alma, bulut hizmetleriyle senkronizasyon gibi dış API'lere düzenli olarak erişir. Tüm bu istekler, ev IP'niz üzerinden gider ve dış hizmetlere konumunuzu açığa çıkarır. HA'nın sistem ayarlarında giden proxy ayarlamak, gerçek IP'yi gizlemenizi sağlar.
Home Assistant'ta giden proxy nasıl ayarlanır:
Home Assistant OS'de Ayarlar → Sistem → Ağ bölümüne gidin. Burada, tüm giden bağlantılar için HTTP/HTTPS proxy'sini belirtebilirsiniz. Proxy bilgilerini şu formatta girin:
HTTP Proxy: http://kullanıcı:şifre@proxy-sunucusu:port HTTPS Proxy: http://kullanıcı:şifre@proxy-sunucusu:port
Alternatif olarak, HA'yı Docker'da çalıştırıyorsanız, HTTP_PROXY ve HTTPS_PROXY ortam değişkenlerini docker-compose.yml dosyasında belirtebilirsiniz:
version: '3'
services:
homeassistant:
image: ghcr.io/home-assistant/home-assistant:stable
environment:
- HTTP_PROXY=http://kullanıcı:şifre@proxy-sunucusu:port
- HTTPS_PROXY=http://kullanıcı:şifre@proxy-sunucusu:port
- NO_PROXY=localhost,127.0.0.1,192.168.0.0/16
volumes:
- ./config:/config
network_mode: host
restart: unless-stopped
NO_PROXY değişkenine dikkat edin — bu, yerel adresleri proxy'den hariç tutar, böylece HA ev ağınızdaki cihazlarla doğrudan iletişim kurabilir.
Nabu Casa vs kendi proxy: hangisini seçmeli
Nabu Casa, Home Assistant ekibi tarafından sunulan resmi bir bulut hizmetidir. Uzaktan erişim sorununu tek tıklamayla çözer: DNS, SSL, açık port ayarları yok. Sadece abone oluyorsunuz ve https://sizin-id.ui.nabu.casa formatında bir URL alıyorsunuz.
| Kriter | Nabu Casa | Cloudflare Tüneli | Nginx/Caddy |
|---|---|---|---|
| Maliyet | ~$6.50/ay | Ücretsiz | Ücretsiz |
| Kurulum zorluğu | ⭐ Çok kolay | ⭐⭐ Kolay | ⭐⭐⭐ Orta |
| Beyaz IP gerekli mi | Hayır | Hayır | Evet (veya DDNS) |
| Kendi alan adınız | Hayır | Evet | Evet |
| Alexa / Google Home | ✅ Dahil | Manuel ayar | Manuel ayar |
| Gizlilik | Trafik Nabu Casa sunucuları üzerinden geçer | Trafik Cloudflare üzerinden geçer | Tam kontrol |
| HA geliştiricilerinin desteği | ✅ Evet | Hayır | Hayır |
Sonuç: Eğer yeni başlıyorsanız ve minimum kafa karışıklığı istiyorsanız — Nabu Casa'yı tercih edin. Beyaz IP olmadan ücretsiz bir çözüm istiyorsanız — Cloudflare Tüneli. Tam kontrol ve kendi alan adınız önemliyse — Nginx veya Caddy ayarlayın.
Güvenlik kontrol listesi: Home Assistant'ı korumanın 10 kuralı
Proxy, önemli ama tek başına yeterli olmayan bir koruma katmanıdır. İşte akıllı evinizdeki çoğu saldırı vektörünü kapatacak tam kontrol listesi:
✅ Home Assistant Güvenlik Kontrol Listesi
- Proxy katmanı kurun (Caddy, Nginx veya Cloudflare Tüneli) — asla 8123 numaralı portu doğrudan açmayın.
- HTTPS'i etkinleştirin — yalnızca şifreli bağlantılar. Caddy bunu otomatik olarak yapar.
- Güçlü bir şifre kullanın — en az 16 karakter, rakamlar, özel karakterler. Daha iyisi — bir şifre yöneticisi kullanın.
- Home Assistant'ta iki faktörlü kimlik doğrulamayı etkinleştirin: Ayarlar → Kullanıcılar → 2FA'yı etkinleştir (Google Authenticator veya Authy üzerinden TOTP).
- İlk ayarlamadan sonra UI üzerinden hesap oluşturmayı kapatın (onboarding).
- Proxy üzerinde rate limiting ayarlayın — bir IP'den dakikada en fazla 5-10 giriş denemesi.
- fail2ban veya benzerini etkinleştirin — birkaç başarısız giriş denemesinden sonra IP'yi otomatik olarak engelleyin.
- Home Assistant'ı düzenli olarak güncelleyin — çoğu kritik açık, keşfedildikten sonra 24-48 saat içinde kapatılır.
- Akıllı ev cihazlarını ayrı bir VLAN veya misafir Wi-Fi ağına izole edin — bir cihaz hacklenirse, diğer ağ güvenli kalır.
- Gereksiz entegrasyonları ve eklentileri kapatın — her aktif bileşen saldırı yüzeyini genişletir.
Ek: Home Assistant için fail2ban ayarlama
Eğer Linux sistemi (örneğin, Debian üzerinde Home Assistant Supervised) kullanıyorsanız, saldırgan IP'leri otomatik olarak engellemek için fail2ban'ı kurun:
# fail2ban kurulumu sudo apt install fail2ban # /etc/fail2ban/filter.d/hass.conf dosyasını oluşturun [Definition] failregex = ^%(__prefix_line)s.*Geçersiz kimlik doğrulama ile giriş denemesi veya istek <HOST>.*$ ignoreregex = # /etc/fail2ban/jail.d/hass.conf dosyasında kural oluşturun [hass] enabled = true filter = hass logpath = /config/home-assistant.log maxretry = 5 bantime = 3600 findtime = 600
Bu kural, 10 dakika içinde 5 başarısız giriş denemesinden sonra IP'yi 1 saat boyunca engeller. Parametreleri sıkılaştırabilirsiniz: bantime'ı 86400 (24 saat) olarak artırabilir veya maxretry'ı 3'e düşürebilirsiniz.
Şüpheli etkinlikleri izleme
Home Assistant'ın yerleşik bir kimlik doğrulama günlüğü vardır. Bunu düzenli olarak Ayarlar → Sistem → Günlükler üzerinden kontrol edin. Login attempt ve invalid authentication içeren satırları arayın. Tanımadığınız IP'lerden giriş denemeleri görüyorsanız — bu, HA'nızın tarayıcılar tarafından keşfedildiğinin bir işareti.
Ayrıca, başarısız giriş denemesi durumunda Telegram'da otomatik bildirim ayarlayabilirsiniz. Home Assistant'ta bir otomasyon oluşturun:
alias: Başarısız giriş bildirimi
trigger:
- platform: event
event_type: system_log_event
event_data:
level: WARNING
condition:
- condition: template
value_template: "{{ 'Login attempt' in trigger.event.data.message }}"
action:
- service: notify.telegram
data:
message: "⚠️ Home Assistant'a giriş denemesi: {{ trigger.event.data.message }}"
Sonuç
Home Assistant'a güvenli uzaktan erişim, internet üzerinden akıllı evinizi yönetmek isteyen herkes için isteğe bağlı bir "özellik" değil, zorunlu bir gerekliliktir. Korumasız bir port açmak, "hacklenecek mi" değil, "ne zaman hacklenecek" sorusunun meselesidir. Proxy katmanı (ters proxy veya tünel) durumu köklü bir şekilde değiştirir: kötü niyetli kişiler yalnızca proxy'yi görür, gerçek sunucunuz ve ev ağınız görünmez.
Çözüm seçimi için kısa bir özet:
- Yeni başlıyorum, basit ve hızlı istiyorum → Nabu Casa veya Cloudflare Tüneli
- Beyaz IP'm var, kontrol istiyorum → Caddy veya Nginx ters proxy olarak
- Beyaz IP'm yok, ücretsiz istiyorum → Cloudflare Tüneli + DuckDNS
- Maksimum gizlilik → VPS + WireGuard tüneli + ters proxy
Unutmayın, proxy ilk savunma hattıdır. Bunu iki faktörlü kimlik doğrulama, düzenli güncellemeler ve günlük izleme ile tamamlayın. Akıllı ev, güvenlik konularında da akıllı olmalıdır.
Giriş trafiğini korumanın yanı sıra Home Assistant'ın dış API'lere olan giden isteklerini gizlemek veya coğrafi kısıtlamalara sahip entegrasyonlara erişim sağlamak istiyorsanız, ikametgah proxy'lerini değerlendirmeyi öneririz — bunlar, bulut hizmetleri ve API sağlayıcıları tarafından engellenmeyen gerçek ev IP adresleri sağlar.
```