# RDP-FIDO-GATE — pemasangan & konfigurasi (langkah demi langkah)

Remote Desktop (RDP) yang aman dengan **gerbang kunci perangkat keras FIDO2/WebAuthn wajib**. Port RDP
selalu diblokir firewall dan hanya terbuka **untuk IP Anda, selama sekitar 90 detik**, setelah Anda menyentuh
kunci. Memerlukan Windows 10 1903+ (WebAuthn + Windows Firewall). Tidak ada layanan hosting — Anda
mengunduh dan memasangnya sendiri.

Dua komponen beserta port-nya:

| Komponen | Berjalan di mana | Port |
|-----------|---------------|-------|
| **Gate** | mesin target (PC yang Anda sambungi) | **7440/TCP** — kontrol + konfirmasi FIDO; **3389/TCP** — RDP (dibuka sesuai permintaan) |
| **Klien** | mesin Anda | koneksi keluar ke port 7440 dan 3389 milik host |

---

## Langkah 1. Host — pasang gate

1. Unduh **[RdpFidoGate-Setup.msi](https://accounts.new-imobile.com/updates/RdpFidoGate-Setup.msi)** di mesin target dan jalankan (Windows akan meminta konfirmasi administrator).
2. Installer mengaktifkan Remote Desktop (dengan NLA), memasang sertifikat TLS ke port gate **7440**, lalu mendaftarkan dan menjalankan layanan gate. Port RDP tetap berfungsi seperti sebelumnya — port baru ditutup saat kunci pertama didaftarkan.
3. Halaman terakhir installer menampilkan **kode pendaftaran kunci sekali pakai** (berlaku 15 menit, dengan tombol "Copy code"), beserta alamat mesin dan port gate.
4. **Catat:** alamat host (nama / IP publik), port **7440**, dan **kode**. Jika kode kedaluwarsa, jalankan `RdpFidoGate.exe code` sebagai administrator.

Instalasi senyap (mis. dari sistem manajemen): `msiexec /i RdpFidoGate-Setup.msi /qn`

---

## Langkah 2. Port forwarding di router (jika host di balik NAT/router) — WAJIB untuk akses dari internet

Jika Anda tersambung **dari internet** dan mesin target berada di balik router rumah/kantor, Anda
harus **meneruskan dua port** di router ke alamat LAN host. Tanpa ini klien tidak dapat mencapai
gate maupun RDP.

Teruskan (Port Forwarding / Virtual Servers / NAT di halaman admin router):

| Port eksternal | Protokol | → IP internal (LAN host) | Port internal |
|---------------|----------|--------------------------|---------------|
| **7440** | TCP | `192.168.x.x` (IP LAN host) | **7440** |
| **3389** | TCP | IP LAN host yang sama | **3389** |

Prosedur:
1. Cari IP LAN host: `ipconfig` → "IPv4 Address" (mis. `192.168.1.50`).
2. **Cadangkan alamat tersebut** untuk host (reservasi DHCP berdasarkan MAC di router) — jika tidak, alamat bisa berubah.
3. Di router: **Port Forwarding / Virtual Servers** → tambahkan dua aturan dari tabel
   (port eksternal = port internal, protokol TCP, IP internal = LAN host).
4. Cari **IP publik** Anda (di host buka `https://api.ipify.org`, atau lihat "WAN IP" di router). Jika IP
   Anda **dinamis**, siapkan **DDNS** (di router atau lewat no-ip/DuckDNS) dan gunakan nama DDNS sebagai pengganti IP.

> Keamanan: hanya gate (7440) yang mendengarkan dari luar. RDP (3389) **tertutup** dari luar sampai Anda
> mengonfirmasi dengan kunci — lalu terbuka secara sempit, hanya untuk IP Anda, selama ~90 detik. Meneruskan 3389 tidak
> memberikan akses dengan sendirinya; ia hanya membiarkan "jendela" sementara melewati router.

---

## Langkah 3. Klien — pasang dan daftar

1. Pasang klien: `RdpFidoClient.exe` (sudah menyertakan `RdpFidoGate.exe` yang sesuai).
2. **Aktivasi** melalui AccountServer: masukkan e-mail → kode dikirim ke Anda → masukkan kode.
   Masa tenggang aktivasi 14 hari; tingkat gratis = hingga 10 sesi tersimpan, berbayar = tanpa batas.
3. **Tambahkan sesi:**
   - Alamat: IP publik atau nama DDNS host (dari Langkah 2), atau alamat LAN jika Anda berada di jaringan yang sama.
   - Port gate: **7440**.
   - Masukkan **kode sekali pakai** dari Langkah 1 dan **daftarkan kunci FIDO2 Anda** (sentuh).

---

## Langkah 4. Sambungkan

Pilih sesi → **sentuh kunci** → gate memverifikasinya dan **membuka 3389 untuk IP Anda saat ini selama
~90 detik** → klien meluncurkan `mstsc` dan menyambungkan Anda secara otomatis. Setiap 30 detik gate menegaskan ulang
blokir, sehingga jendela tetap sempit dan terbatas pada IP.

---

## Pemeriksaan & pemecahan masalah

- Dari klien: `Test-NetConnection <ip-publik-atau-DDNS> -Port 7440` → seharusnya
  `TcpTestSucceeded : True`. Jika `False` — port 7440 belum diteruskan, atau firewall host memblokirnya.
- Port **3389 tertutup dari luar sampai Anda mengonfirmasi dengan kunci** — itu memang seharusnya (jangan mengujinya sebelum menyentuh kunci).
- "Sesi tidak terbuka": periksa bahwa 1) layanan gate berjalan di host, 2) **kedua** port
  diteruskan di router ke IP LAN host saat ini, 3) IP publik tidak berubah (gunakan DDNS jika dinamis).
- Beberapa host di balik satu router: gunakan port eksternal yang berbeda (mis. host-2 → eksternal 7441→7440,
  3390→3389) dan masukkan port eksternal tersebut di sesi klien.

---

## Mencopot pemasangan

Di host, sebagai administrator: `powershell -ExecutionPolicy Bypass -File Uninstall-Gate.ps1`
(menghapus layanan, memulihkan aturan firewall). Kemudian, opsional, hapus aturan port forwarding di router.
