Anda telah menginstal Home Assistant, menghubungkan soket pintar, termostat, dan kamera — dan ingin mengelola semuanya dari smartphone dari mana saja di dunia. Namun, akses terbuka ke internet tanpa perlindungan menjadikan rumah pintar Anda target yang mudah bagi peretas. Dalam artikel ini, kita akan membahas cara mengatur akses jarak jauh ke Home Assistant melalui proksi dan mengamankan jaringan rumah Anda.
Mengapa akses langsung ke Home Assistant berbahaya
Home Assistant adalah platform otomatisasi rumah pintar yang kuat dengan kode sumber terbuka. Jutaan pengguna di seluruh dunia mengelola pencahayaan, iklim, kunci, kamera, dan puluhan perangkat lainnya melalui platform ini. Namun, popularitas ini menjadikan Home Assistant sebagai target menarik bagi penjahat.
Ketika Anda membuka port 8123 (port standar Home Assistant) langsung melalui router ke internet, Anda secara harfiah menggantung papan "selamat datang" untuk pemindai otomatis. Pemindai semacam itu menjelajahi seluruh rentang alamat IP dan mencari port terbuka dari layanan yang dikenal. Menurut data Shodan (mesin pencari untuk perangkat di internet), puluhan ribu instance Home Assistant selalu tersedia secara terbuka.
Apa yang terjadi setelah Home Assistant Anda ditemukan oleh penjahat:
- Brute force password — skrip otomatis mencoba ribuan kombinasi login/password. Jika Anda memiliki kata sandi yang lemah, peretasan hanya masalah waktu.
- Eksploitasi kerentanan — di versi lama Home Assistant, kadang-kadang ditemukan celah kritis yang memungkinkan akses tanpa kata sandi sama sekali.
- Pemantauan melalui kamera — setelah mendapatkan akses ke HA, penjahat dapat melihat siaran semua kamera yang terhubung secara langsung.
- Pengendalian kunci dan alarm — jika Anda menghubungkan kunci pintar, peretas dapat membuka pintu rumah Anda dari jarak jauh.
- Pencurian data otomatisasi — dari riwayat HA, seseorang dapat mengetahui kapan Anda di rumah, kapan Anda pergi, mode tidur, dan data pribadi lainnya.
⚠️ Kasus nyata
Pada tahun 2023, peneliti keamanan menemukan kerentanan CVE-2023-27482 di Home Assistant, yang memungkinkan untuk melewati otentikasi tanpa kredensial apa pun. Semua instance dengan akses terbuka ke internet rentan sebelum patch dirilis. Mereka yang menggunakan lapisan proksi atau VPN terlindungi secara otomatis.
Bagaimana proksi melindungi rumah pintar: prinsip kerja
Proksi dalam konteks Home Assistant bertindak sebagai perantara antara internet dan server Anda. Alih-alih Home Assistant Anda terlihat langsung dari jaringan, yang terlihat dari luar hanyalah server proksi — dan ia meneruskan permintaan ke dalam, menerapkan pemeriksaan tambahan.
Skema kerja terlihat seperti ini:
Smartphone Anda (internet)
↓
Server proksi
(filtering, enkripsi, otorisasi)
↓
Jaringan rumah (tertutup)
↓
Home Assistant (192.168.1.X:8123)
Apa yang diberikan oleh lapisan tambahan ini:
- Menyembunyikan IP nyata — pemindai melihat IP proksi, bukan alamat rumah Anda. Bahkan jika proksi diretas, mereka tidak akan mendapatkan akses ke jaringan rumah secara langsung.
- Enkripsi SSL/TLS — proksi dapat menghentikan koneksi HTTPS dan memberikan sertifikat yang valid, melindungi lalu lintas dari penyadapan.
- Otentikasi tambahan — Anda dapat menempatkan Basic Auth atau otentikasi dua faktor di depan Home Assistant langsung di tingkat proksi.
- Pembatasan laju — pembatasan jumlah permintaan dari satu IP memblokir serangan brute force sebelum mencapai Home Assistant.
- Geoblocking — Anda dapat mengizinkan akses hanya dari negara atau rentang IP tertentu.
- Logging — semua upaya akses dicatat, membantu mengidentifikasi aktivitas mencurigakan.
Penting untuk memahami perbedaan antara dua jenis proksi yang digunakan dalam skenario ini: proksi terbalik (reverse proxy) diinstal di server atau router Anda dan menerima koneksi masuk, sementara proksi eksternal adalah server perantara di cloud, melalui mana lalu lintas Anda ditunneling. Kedua pendekatan memiliki kelebihan masing-masing, dan kita akan membahas setiap opsi.
Jenis proksi apa yang cocok untuk Home Assistant
Sebelum memilih solusi, penting untuk memahami bahwa tugas Home Assistant dan, misalnya, seorang arbiter atau spesialis SMM adalah berbeda secara prinsip. Untuk rumah pintar, kita tidak membutuhkan proksi anonim untuk menghindari pemblokiran, tetapi terowongan yang aman untuk pengelolaan jarak jauh. Mari kita bahas opsi yang ada:
| Jenis solusi | Cara kerja | Kelebihan | Kekurangan | Tingkat kesulitan |
|---|---|---|---|---|
| Proksi terbalik (Nginx/Caddy) | Menerima permintaan HTTPS dari luar dan meneruskannya ke HA di dalam | Gratis, kontrol penuh, SSL | Membutuhkan IP publik atau DDNS, port 443 terbuka | Sedang |
| Cloudflare Tunnel | Terowongan dari HA ke server Cloudflare, port tidak diperlukan | Gratis, tidak perlu IP publik, perlindungan DDoS | Lalu lintas melewati Cloudflare, membutuhkan domain | Rendah |
| VPS + proksi | Menyewa VPS, men-tunnel lalu lintas melalui itu | IP sendiri, kontrol maksimal | Berbayar, memerlukan pengaturan | Tinggi |
| Nabu Casa (resmi) | Layanan cloud dari pengembang HA | Sangat mudah, mendukung Alexa/Google | Langganan berbayar ~$6.50/bulan | Sangat rendah |
| Proksi residensial | Pengarahan lalu lintas keluar melalui IP rumah yang nyata | IP nyata, tidak diblokir oleh layanan | Cocok untuk lalu lintas keluar, tidak untuk masuk | Rendah |
Untuk sebagian besar pengguna Home Assistant, pilihan optimal adalah Cloudflare Tunnel (gratis, tidak perlu IP publik) atau proksi terbalik di Nginx/Caddy (jika memiliki IP publik atau DNS dinamis). Nabu Casa cocok untuk mereka yang tidak ingin repot dengan pengaturan sama sekali. Mari kita bahas setiap opsi secara rinci.
Proksi terbalik (Nginx, Caddy): pengaturan langkah demi langkah
Proksi terbalik adalah cara klasik dan paling fleksibel untuk mengatur akses aman ke Home Assistant. Ini diinstal di perangkat yang sama dengan HA (misalnya, di Raspberry Pi atau Home Assistant OS), atau di server terpisah di jaringan rumah.
Opsi 1: Caddy (direkomendasikan untuk pemula)
Caddy adalah server web modern yang secara otomatis mendapatkan dan memperbarui sertifikat SSL melalui Let's Encrypt. Tidak ada pengaturan manual certbot yang diperlukan.
Langkah 1: Apa yang Anda perlukan
- Nama domain (bisa gratis di DuckDNS atau No-IP)
- Pembukaan port 443 di router ke IP Home Assistant Anda
- Home Assistant yang terinstal (varian apa pun)
Langkah 2: Instal Caddy sebagai addon di Home Assistant OS
Jika Anda menggunakan Home Assistant OS (HAOS), buka bagian Pengaturan → Add-ons → Toko Add-ons dan cari addon Caddy 2. Instal dan lanjutkan ke konfigurasi.
Langkah 3: Konfigurasi dasar Caddyfile
your-domain.duckdns.org {
reverse_proxy localhost:8123
# Perlindungan tambahan: Basic Auth sebelum HA
# basicauth {
# admin $2a$14$hash_password
# }
# Pembatasan laju: tidak lebih dari 10 permintaan per detik
rate_limit {
zone static_zone {
key {remote_host}
events 10
window 1s
}
}
# Header keamanan
header {
X-Frame-Options DENY
X-Content-Type-Options nosniff
Referrer-Policy no-referrer
}
}
Langkah 4: Mengatur Home Assistant untuk bekerja di belakang proksi
Buka file configuration.yaml dan tambahkan baris berikut. Ini wajib — jika tidak, HA akan menolak permintaan dari proksi:
http:
use_x_forwarded_for: true
trusted_proxies:
- 127.0.0.1
- ::1
Setelah menyimpan, restart Home Assistant. Sekarang akses ke alamat https://your-domain.duckdns.org — koneksi akan dienkripsi, dan IP nyata router Anda akan tersembunyi di balik domain.
Opsi 2: Cloudflare Tunnel (tanpa IP publik)
Jika Anda tidak memiliki IP publik (kebanyakan penyedia rumah memberikan IP abu-abu di belakang NAT), Cloudflare Tunnel adalah solusi ideal. Anda menginstal agen kecil cloudflared di perangkat dengan Home Assistant, dan ia secara otomatis membuat terowongan terenkripsi ke server Cloudflare. Tidak ada port yang perlu dibuka di router!
Pengaturan langkah demi langkah:
- Daftar di cloudflare.com dan tambahkan domain Anda (atau gunakan subdomain gratis).
- Di panel Cloudflare, pergi ke bagian Zero Trust → Networks → Tunnels.
- Klik Buat terowongan, beri nama terowongan (misalnya, home-assistant).
- Salin perintah instalasi dan jalankan di perangkat dengan HA (atau instal addon Cloudflared dari toko HAOS).
- Di bagian Hostname Publik, masukkan:
— Subdomain:ha
— Domain: domain Anda
— Layanan:http://localhost:8123 - Tambahkan ke
configuration.yamlproksi terpercaya Cloudflare (rentang IP dapat ditemukan di cloudflare.com/ips). - Opsional: aktifkan Akses Zero Trust — tingkat otentikasi tambahan melalui email atau akun Google sebelum masuk ke HA.
💡 Tips
Cloudflare Tunnel sepenuhnya gratis untuk penggunaan pribadi. Satu-satunya batasan adalah lalu lintas melewati server Cloudflare. Untuk mengelola rumah pintar, ini sepenuhnya dapat diterima, dan perlindungan dari DDoS dan bot sudah termasuk.
Server proksi eksternal: kapan dibutuhkan dan cara menghubungkan
Server proksi eksternal adalah node perantara di cloud, melalui mana lalu lintas Anda diarahkan. Dalam konteks Home Assistant, ini digunakan dalam beberapa skenario spesifik yang tidak ditangani oleh proksi terbalik.
Skenario 1: Akses ke Home Assistant dari jaringan perusahaan
Banyak jaringan perusahaan memblokir port non-standar dan koneksi VPN. Jika Anda ingin mengelola rumah pintar dari komputer kerja, di mana sebagian besar koneksi diblokir, lalu lintas melalui proksi residensial terlihat seperti lalu lintas HTTPS biasa dari pengguna rumah dan tidak menimbulkan kecurigaan di firewall perusahaan.
Skenario 2: Integrasi dengan layanan yang dibatasi geografis
Home Assistant dapat terintegrasi dengan ribuan layanan eksternal: API cuaca, speaker pintar, platform streaming. Beberapa di antaranya hanya tersedia di negara tertentu. Misalnya, integrasi dengan Amazon Alexa atau Google Assistant memerlukan server yang dapat diakses dari AS atau Eropa. Dalam hal ini, lalu lintas keluar dari HA dapat diarahkan melalui proksi data center di wilayah yang diperlukan.
Skenario 3: Anonimisasi permintaan keluar HA
Home Assistant secara teratur mengakses API eksternal: memeriksa cuaca, mendapatkan data lalu lintas, menyinkronkan dengan layanan cloud. Semua permintaan ini keluar dengan IP rumah Anda, mengungkapkan lokasi Anda kepada layanan pihak ketiga. Mengatur proksi keluar di pengaturan sistem HA memungkinkan Anda menyembunyikan IP nyata.
Bagaimana mengatur proksi keluar di Home Assistant:
Di Home Assistant OS, pergi ke Pengaturan → Sistem → Jaringan. Di sini Anda dapat menentukan proksi HTTP/HTTPS untuk semua koneksi keluar. Masukkan data proksi dalam format:
HTTP Proxy: http://user:password@proxy-server:port HTTPS Proxy: http://user:password@proxy-server:port
Sebagai alternatif, jika Anda menjalankan HA di Docker, Anda dapat menetapkan variabel lingkungan HTTP_PROXY dan HTTPS_PROXY di file docker-compose.yml:
version: '3'
services:
homeassistant:
image: ghcr.io/home-assistant/home-assistant:stable
environment:
- HTTP_PROXY=http://user:pass@proxy-server:port
- HTTPS_PROXY=http://user:pass@proxy-server:port
- NO_PROXY=localhost,127.0.0.1,192.168.0.0/16
volumes:
- ./config:/config
network_mode: host
restart: unless-stopped
Perhatikan variabel NO_PROXY — ini mengecualikan alamat lokal dari proksing, sehingga HA dapat berkomunikasi dengan perangkat di jaringan rumah Anda secara langsung.
Nabu Casa vs proksi mandiri: mana yang harus dipilih
Nabu Casa adalah layanan cloud resmi dari tim Home Assistant. Ini menyelesaikan masalah akses jarak jauh dalam satu klik: tidak ada pengaturan DNS, SSL, atau port terbuka. Anda cukup berlangganan dan mendapatkan URL siap pakai seperti https://your-id.ui.nabu.casa.
| Kriteria | Nabu Casa | Cloudflare Tunnel | Nginx/Caddy |
|---|---|---|---|
| Biaya | ~$6.50/bulan | Gratis | Gratis |
| Tingkat kesulitan pengaturan | ⭐ Sangat mudah | ⭐⭐ Mudah | ⭐⭐⭐ Sedang |
| Diperlukan IP publik | Tidak | Tidak | Ya (atau DDNS) |
| Domain sendiri | Tidak | Ya | Ya |
| Alexa / Google Home | ✅ Terintegrasi | Pengaturan manual | Pengaturan manual |
| Privasi | Lalu lintas melalui server Nabu Casa | Lalu lintas melalui Cloudflare | Kontrol penuh |
| Dukungan pengembang HA | ✅ Ya | Tidak | Tidak |
Kesimpulan: Jika Anda baru memulai dan ingin sedikit kerepotan — pilih Nabu Casa. Jika Anda ingin solusi gratis tanpa IP publik — Cloudflare Tunnel. Jika kontrol penuh dan nama domain sendiri penting — atur Nginx atau Caddy.
Daftar periksa keamanan: 10 aturan perlindungan Home Assistant
Proksi adalah elemen penting, tetapi bukan satu-satunya perlindungan. Berikut adalah daftar periksa lengkap yang akan menutup sebagian besar vektor serangan pada rumah pintar Anda:
✅ Daftar periksa keamanan Home Assistant
- Pasang lapisan proksi (Caddy, Nginx, atau Cloudflare Tunnel) — jangan pernah membuka port 8123 secara langsung.
- Aktifkan HTTPS — hanya koneksi terenkripsi. Caddy melakukannya secara otomatis.
- Gunakan kata sandi yang kuat — minimal 16 karakter, angka, simbol khusus. Lebih baik menggunakan manajer kata sandi.
- Aktifkan otentikasi dua faktor di Home Assistant: Pengaturan → Pengguna → Aktifkan 2FA (TOTP melalui Google Authenticator atau Authy).
- Nonaktifkan pembuatan akun melalui UI (onboarding) setelah pengaturan awal.
- Atur pembatasan laju di proksi — tidak lebih dari 5-10 upaya masuk per menit dari satu IP.
- Aktifkan fail2ban atau yang serupa — pemblokiran otomatis IP setelah beberapa upaya masuk yang gagal.
- Perbarui Home Assistant secara teratur — sebagian besar kerentanan kritis ditutup dalam waktu 24-48 jam setelah ditemukan.
- Isolasi perangkat rumah pintar di VLAN terpisah atau jaringan Wi-Fi tamu — jika satu perangkat diretas, jaringan lainnya tetap aman.
- Nonaktifkan integrasi dan addon yang tidak perlu — setiap komponen aktif memperluas permukaan serangan.
Tambahan: pengaturan fail2ban untuk Home Assistant
Jika Anda menggunakan sistem Linux (misalnya, Home Assistant Supervised di Debian), instal fail2ban untuk memblokir IP penyerang secara otomatis:
# Instal fail2ban sudo apt install fail2ban # Buat file /etc/fail2ban/filter.d/hass.conf [Definition] failregex = ^%(__prefix_line)s.*Login attempt or request with invalid authentication from <HOST>.*$ ignoreregex = # Buat aturan di /etc/fail2ban/jail.d/hass.conf [hass] enabled = true filter = hass logpath = /config/home-assistant.log maxretry = 5 bantime = 3600 findtime = 600
Aturan ini memblokir IP selama 1 jam setelah 5 upaya masuk yang gagal dalam 10 menit. Anda dapat memperketat parameter: meningkatkan bantime menjadi 86400 (24 jam) atau mengurangi maxretry menjadi 3.
Memantau aktivitas mencurigakan
Home Assistant memiliki jurnal otentikasi bawaan. Secara teratur periksa melalui Pengaturan → Sistem → Jurnal. Cari baris dengan Login attempt dan invalid authentication. Jika Anda melihat upaya dari IP yang tidak dikenal — ini adalah sinyal bahwa HA Anda telah ditemukan oleh pemindai.
Anda juga dapat mengatur pemberitahuan otomatis di Telegram untuk upaya masuk yang gagal. Buat otomatisasi di Home Assistant:
alias: Pemberitahuan tentang upaya masuk yang gagal
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: "⚠️ Upaya masuk ke Home Assistant: {{ trigger.event.data.message }}"
Kesimpulan
Akses jarak jauh yang aman ke Home Assistant bukanlah fitur opsional, tetapi syarat wajib bagi siapa pun yang ingin mengelola rumah pintar dari internet. Port terbuka tanpa lapisan perlindungan adalah pertanyaan bukan "apakah akan diretas", tetapi "kapan akan diretas". Lapisan proksi (proksi terbalik atau terowongan) mengubah gambaran secara radikal: penjahat hanya melihat proksi, bukan server nyata dan jaringan rumah Anda.
Ringkasan singkat tentang pemilihan solusi:
- Pemula, ingin yang sederhana dan cepat → Nabu Casa atau Cloudflare Tunnel
- Punya IP publik, ingin kontrol → Caddy atau Nginx sebagai proksi terbalik
- Tidak punya IP publik, ingin gratis → Cloudflare Tunnel + DuckDNS
- Privasi maksimal → VPS + terowongan WireGuard + proksi terbalik
Jangan lupa bahwa proksi adalah garis pertahanan pertama. Lengkapi dengan otentikasi dua faktor, pembaruan rutin, dan pemantauan jurnal. Rumah pintar harus cerdas juga dalam hal keamanan.
Jika selain melindungi lalu lintas masuk Anda perlu menyembunyikan permintaan keluar Home Assistant ke API eksternal atau mendapatkan akses ke integrasi yang dibatasi geografis, kami merekomendasikan untuk mempertimbangkan proksi residensial — mereka menyediakan alamat IP rumah nyata yang tidak diblokir oleh layanan cloud dan penyedia API.
```