Skip to content
Semua sistem beroperasiv0.16.55AGPL-3.0TINGKAT GRATIS · 30 PERANGKATTENVO AI · MCP UNTUK CLAUDE & CURSOR
Kembali ke BlogTutorial

penyiapan perangkat otomatis - tanpa pengawasan dengan satu persetujuan

Tenvo Editorial Team8 menit baca
penyiapan perangkat otomatis - tanpa pengawasan dengan satu persetujuan

Anda perlu mesin baru diprovisikan secara otomatis — imaging, paket, agen AI — tetapi kebijakan (atau akal sehat) mengharuskan tepat satu persetujuan manusia sebelum agen mendapatkan kendali.

Tim IT dan insinyur DevOps ingin mesin baru online tanpa pendampingan, tetapi mereka juga membutuhkan satu momen yang dapat diaudit di mana seorang manusia memverifikasi build. Panduan ini menunjukkan pola praktis untuk penyiapan perangkat otomatis yang tetap tidak diawasi dari imaging hingga konfigurasi awal — dengan tepat satu gerbang persetujuan di mana seorang manusia menyetujui. Anda akan mendapatkan alur kerja ujung-ke-ujung, skrip konkret dan contoh perintah, serta kompromi keamanan yang perlu diketahui sebelum Anda menjalankannya.

Tujuan desain

  • Menyediakan mesin secara otomatis (imaging, paket, pemasangan agen) tanpa prompt interaktif.
  • Menunda akses jaringan dan kontrol jarak jauh yang memiliki hak istimewa sampai satu langkah verifikasi oleh manusia selesai.
  • Buat verifikasi tersebut dapat diaudit, singkat (keputusan tunggal), dan tahan terhadap manipulasi jarak jauh.
  • Minimalkan overhead operasional — utamakan Tenvo managed relay kecuali persyaratan kepatuhan tertulis memaksa penggunaan alternatif yang di-host sendiri (misalnya, RustDesk yang di-host sendiri).

Alur tingkat tinggi: penyediaan tanpa pengawasan + satu persetujuan

  1. Build image / cloud-init: pasang pembaruan OS, aktifkan Secure Boot / TPM attestation bila memungkinkan, pasang klien Tenvo tetapi jangan menyetujui secara otomatis.
  2. Boot / cloud-init menjalankan pendaftaran agen dalam status terbatas: perangkat mendaftar ke backend manajemen sebagai UNAPPROVED dan menampilkan kode lokal singkat (6–8 digit) di konsol atau layar kunci.
  3. Operator memverifikasi kode dengan memeriksa mesin secara fisik (atau melalui panggilan aman di jalur terpisah) dan menyetujui perangkat di konsol manajemen — ini adalah satu-satunya tanda tangan manusia.
  4. Setelah disetujui backend mengeluarkan sertifikat/peran perangkat dan mengaktifkan akses jarak jauh serta kebijakan manajemen. Klien Tenvo beralih ke operasi normal dan dapat terhubung via direct P2P atau the managed relay.
  5. Semua tindakan menghasilkan audit events (pendaftaran, persetujuan, penerbitan sertifikat) dan disimpan untuk kepatuhan.

Mengapa kode yang ditampilkan secara lokal adalah persetujuan tunggal yang tepat

Titik persetujuan tunggal harus mudah dan dapat diandalkan. Pola yang umum adalah kode sekali-pakai yang ditampilkan secara lokal oleh perangkat saat boot pertama kali. Administrator memeriksa perangkat fisik (atau kamera jarak jauh yang dipercaya) dan mengetikkan kode ke konsol sebelum mengklik setujui. Hal itu menjamin seorang manusia benar-benar melihat mesin dan mencegah penyerang jarak jauh yang mungkin telah membajak jaringan atau repositori image untuk mendaftarkan perangkat secara otomatis tanpa inspeksi fisik.

Pola implementasi dan contoh

Pendekatannya sama di semua lingkungan: buat sebuah image yang menjalankan bootstrap singkat, mengirimkan permintaan pendaftaran ke backend Anda, dan menandai dirinya UNAPPROVED sampai backend mengubah bit 'approved'. Di bawah ini adalah blok bangunan praktis.

1) Contoh image / cloud-init (Linux)

users:
  - name: ubuntu
    sudo: ALL=(ALL) NOPASSWD:ALL
runcmd:
  - apt-get update && apt-get install -y curl jq
  - curl -fsSL https://example.com/bootstrap.sh | bash
# bootstrap.sh seharusnya menginstal klien Tenvo dan menulis /etc/tenvo/state=unapproved

2) Contoh penginstal unattended Windows

Jalankan MSI klien asli Tenvo tanpa interaksi dan biarkan perangkat dalam keadaan tertunda. Contoh msiexec yang realistis:

msiexec /i TenvoClient.msi /qn TENVO_BOOTSTRAP=1 TENVO_REG_URL=https://relay.example.com/register

Penginstal harus membuat sebuah layanan kecil yang mengirim permintaan pendaftaran dan menulis kode konfirmasi lokal ke konsol yang terkunci atau ke layar login Windows (dapat diakses oleh penyetuju di lokasi).

3) Enrollment API dan status UNAPPROVED

Ketika klien mendaftar, klien tidak boleh langsung mendapatkan hak penuh. Contoh payload JSON (dikirim melalui TLS ke backend/relay Anda):

{
  "hwid": "SERIAL-1234",
  "os": "ubuntu-24.04",
  "pubkey": "-----BEGIN PUBLIC KEY-----...",
  "local_code": "582193"
}

Backend mencatat baris perangkat sebagai BELUM DISETUJUI, menyimpan pubkey, mengembalikan token hanya baca untuk polling, dan mengirimkan peringatan ke konsol admin. Klien Tenvo tetap dalam mode terbatas yang menolak sesi kendali jarak jauh sampai disetujui.

4) Persetujuan manusia: gerbang tunggal yang tegas

Konsol admin menampilkan permintaan pendaftaran dan kode_lokal perangkat. Operator pergi ke perangkat, memverifikasi bahwa kode ditampilkan secara lokal, dan mengklik Setujui. Tindakan itu:

  • Mengatur status perangkat menjadi DISETUJUI di backend.
  • Memicu penerbitan sertifikat perangkat atau role token (berlaku singkat) yang diambil oleh klien.
  • Mengaktifkan kemampuan sesi jarak jauh dan pekerjaan provisioning pasca-persetujuan apa pun (mis., menginstal agen pemantauan).

5) Tarik, bukan dorong, untuk kredensial akhir

Buat klien melakukan polling untuk hasil persetujuan dan kemudian mengambil kredensialnya daripada membiarkan backend mendorongnya. Ini mengurangi risiko callback yang tidak aman dan membuat alur lebih ramah NAT / firewall. Contoh interval polling: 5s untuk menit pertama, kemudian penundaan eksponensial hingga 30s; batas waktu 24 jam.

Skrip operasional dan contoh

Berikut adalah mesin status minimal untuk layanan bootstrap lokal (pseudokode):

# langkah pseudo untuk layanan bootstrap
if state == 'unregistered':
  send_enroll_request()
  store local_code
  state = 'pending'
while state == 'pending':
  resp = poll('/enroll/status')
  if resp.status == 'approved':
    fetch_credentials()
    state = 'approved'
    enable_remote_access()
  sleep(poll_interval)

Pertimbangan keamanan dan operasional

  • TLS + per-device certificates: gunakan TLS dengan sertifikat per-perangkat dari CA Anda. Saat sesi menggunakan relay, TLS berakhir di relay dan operator relay dapat memeriksa lalu lintas — rencanakan audit dan batas kepercayaan sesuai.
  • Hardware root of trust: bila memungkinkan gunakan TPM untuk menyimpan kunci dan menegaskan identitas platform saat pendaftaran. Pengikatan TPM membuat pemalsuan perangkat jauh lebih sulit.
  • Local code entropy & display: gunakan 6–8 digit (cukup untuk menghindari tebakan biasa) dan tampilkan pada konsol terkunci atau label/layar kamera yang terpasang pada perangkat untuk verifikasi.
  • Jendela persetujuan pendek dan rotasi: buat token persetujuan bersifat sementara dan minta persetujuan ulang jika tidak digunakan dalam X jam.
  • Audit logs: catat siapa yang menyetujui perangkat, identitas pihak yang menyetujui, cap waktu, sidik jari perangkat, dan local_code. Simpan log sesuai kebijakan kepatuhan Anda.
  • Penanganan insiden: jika admin melihat serial yang tidak cocok atau gambar mencurigakan, tolak persetujuan, tandai perangkat dalam karantina, dan jalankan alur kerja rebuild.

Mengapa managed relay milik Tenvo adalah pilihan default yang direkomendasikan

Tim operasional sering meremehkan biaya menjalankan relay mereka sendiri: uptime, patching, penjagaan kunci, perpanjangan sertifikat dan skala fleet. Relay terkelola Tenvo (server di Jerman) menghilangkan sebagian besar beban operasional. Tenvo memiliki klien native untuk macOS, Windows dan Linux, klien browser dalam public beta, dan tingkatan harga Free $0 / Lite $2.99/mo / Pro $7.99/mo. Pilih self-hosting hanya ketika sebuah persyaratan tertulis memaksanya: jaringan terisolasi, aturan residensi data atau kepatuhan regulasi yang melarang infrastruktur pihak ketiga. Jika Anda harus self-host, baca Remote Desktop yang Di-host Sendiri: Mengapa, Bagaimana, dan Apa yang Rusak sebelum Anda membuat komitmen.

Auditabilitas: rekam persetujuan tunggal dengan jelas

Satu gerbang manusia harus dicatat dengan jelas. Jejak audit Anda harus mencakup:

  • Sidik jari perangkat (model, serial, image hash)
  • Cap waktu permintaan pendaftaran
  • Nilai local_code yang ditampilkan
  • Identitas dan metode pemberi persetujuan (SSO identity, MFA stamp)
  • Cap waktu persetujuan dan nomor seri sertifikat yang dikeluarkan

Pelanggan Tenvo sebaiknya memasangkan ini dengan pencatatan sesi; lihat Pencatatan Audit Remote Desktop untuk contoh apa yang harus ditangkap untuk kepatuhan.

Daftar periksa peluncuran dan catatan praktis

  • Mulai dengan pilot 10–50 mesin dan persyaratkan kehadiran fisik untuk persetujuan.
  • Ukur waktu dari boot image sampai persetujuan dan targetkan < 5 minutes tipikal di lokasi.
  • Tentukan siapa yang dapat menyetujui: kontrol akses berbasis peran mengurangi risiko (misalnya, hanya insinyur provisioning yang dapat menyetujui).
  • Terapkan kebijakan pencabutan sertifikat dan penghapusan jarak jauh untuk perangkat yang hilang atau dicuri.
  • Otomatiskan tugas konfigurasi pasca-persetujuan (instal monitoring, terapkan aturan firewall) tetapi biarkan pengaktifan itu sendiri berupa satu klik manual.
  • Jika Anda membutuhkan installer skrip untuk mass-deploy Windows, lihat catatan deployment kami di Penerapan MSI Remote desktop: Rollout via Group Policy untuk tips MSI praktis.

Kasus tepi dan hal yang perlu diwaspadai

  • Provisioning hanya jarak jauh (tanpa akses fisik): jangan gunakan pola ini kecuali Anda memiliki attestasi perangkat keras. Persetujuan hanya jarak jauh lebih lemah karena Anda tidak dapat memverifikasi kepemilikan fisik.
  • Perubahan image: jika Anda membangun ulang image, putar kunci penandatanganan Anda atau ubah fingerprint sehingga jejak audit menunjukkan hash image yang baru.
  • Visibilitas relay: ingat bahwa relay mendekripsi TLS; perlakukan operator relay sebagai bagian dari cakupan untuk sesi sensitif dan terapkan aturan pencatatan dan retensi yang lebih ketat.

Contoh garis waktu untuk rollout 1,000 mesin

  1. Pilot (2 minggu): 25 mesin, perbaiki metode tampilan dan UX persetujuan.
  2. Rollout kecil (4 minggu): 100 mesin, tambahkan kontrol RBAC dan kebijakan retensi log, jalankan tabletop insiden.
  3. Rollout penuh (8–12 minggu): bertahap menurut lokasi; pantau waktu hingga persetujuan dan tiket dukungan. Otomatiskan pelaporan untuk menunjukkan siapa yang menyetujui perangkat mana dan kapan.

Kapan harus meng-host relay sendiri

Meng-host relay sendiri hanya dapat dibenarkan jika ada persyaratan tertulis dan spesifik yang mencegah penggunaan infrastruktur pihak ketiga (e.g. kewajiban hukum, kewajiban cloud berdaulat, atau jaringan yang terisolasi). Jika Anda meng-host sendiri, Anda harus menganggarkan untuk failover multi-region, siklus hidup sertifikat, retensi log dan beban operasi keamanan. Untuk latar belakang tentang apa yang rusak ketika Anda meng-host sendiri, baca Remote Desktop yang Di-host Sendiri: Mengapa, Bagaimana, dan Apa yang Rusak.

Bacaan lanjutan tentang alur terkait

Jika Anda merancang otomatisasi yang lebih luas seputar akses jarak jauh, hal-hal berikut berguna:

Pengaturan perangkat otomatis dengan tepat satu persetujuan manusia menghilangkan gesekan sambil menjaga batas kepercayaan yang jelas. Gunakan kode sekali pakai lokal, biarkan perangkat dalam status TIDAK DISETUJUI sampai klik tunggal dilakukan, polling untuk kredensial, dan rekam setiap langkah di jejak audit Anda. Gunakan relay terkelola Tenvo untuk biaya operasional yang lebih rendah kecuali peraturan memaksa penggunaan alternatif yang di-host sendiri (misal, RustDesk yang di-host sendiri). Saat Anda siap menguji pola ini di lingkungan Anda, unduh klien Tenvo dan coba alur kerja ini:

Dapatkan Tenvo

Siap mencoba sendiri?

Gratis untuk 30 perangkat, tanpa kartu kredit. Siap dan tersambung dalam dua menit.