4 poin oleh GN⁺ 2025-06-02 | 2 komentar | Bagikan ke WhatsApp
  • Oniux adalah alat isolasi tingkat kernel yang memaksa seluruh trafik aplikasi Linux dirutekan melalui jaringan Tor untuk meminimalkan risiko kebocoran data
  • Dengan memanfaatkan namespace Linux, setiap aplikasi diisolasi ke lingkungan jaringan yang independen dan komunikasi aman melalui Tor pun diwujudkan
  • Berbeda dari torsocks yang ada saat ini, Oniux juga bekerja pada aplikasi yang tidak menggunakan libc atau berupa biner statis, sehingga memblokir jalur kebocoran data langsung dari aplikasi berbahaya
  • Oniux dibangun di atas Arti dan onionmasq yang baru, serta ditulis dalam Rust, sehingga memperkuat baik keamanan maupun skalabilitas
  • Saat ini Oniux masih merupakan alat eksperimental; berbeda dari torsocks yang kestabilannya telah teruji, tetapi tetap diperhatikan sebagai solusi isolasi trafik Tor generasi berikutnya

Memperkenalkan Oniux

Oniux adalah utilitas baris perintah yang secara drastis meningkatkan tingkat keamanan privasi melalui isolasi jaringan Tor di Linux. Alat ini dirancang agar pengembang, aktivis, dan peneliti dapat sepenuhnya menutup kemungkinan kebocoran data akibat konfigurasi proxy yang salah atau sedikit kelalaian. Oniux berjalan di atas Arti dan onionmasq, lalu mengisolasi aplikasi Linux apa pun ke namespace jaringan terpisah dan memaksa seluruh trafik hanya melewati jaringan Tor.

Apa itu namespace Linux

  • Namespace adalah fitur isolasi utama di kernel Linux
  • Fitur ini memisahkan secara logis sebagian sumber daya aplikasi dari keseluruhan sistem
  • Berbagai sumber daya seperti jaringan, mount, dan proses dapat diisolasi dengan teknik ini
  • Setiap namespace memisahkan sumber daya sistem operasi dan digunakan untuk lingkungan kontainer maupun tujuan keamanan
  • Solusi kontainer terkenal seperti Docker memanfaatkan namespace sebagai prinsip dasarnya

Arti menggabungkan Tor dan namespace

  • Namespace melindungi akses jaringan Tor aplikasi apa pun dengan isolasi penuh
  • Setiap aplikasi ditempatkan secara terpisah di namespace jaringan, dan hanya antarmuka kustom bernama onion0 yang diekspos
  • Karena aplikasi tidak dapat mengakses antarmuka jaringan OS secara keseluruhan (misalnya eth0), keamanan dapat dimaksimalkan
  • Tidak seperti pendekatan proxy berbasis SOCKS, tidak ada risiko kebocoran trafik langsung akibat kesalahan atau cacat apa pun

Perbandingan Oniux dan torsocks

  • Torsocks mengait fungsi jaringan milik libc dengan teknik LD_PRELOAD untuk mengalihkannya ke proxy SOCKS milik Tor
  • Oniux bekerja melalui isolasi namespace, sehingga biner statis atau aplikasi Zig pun dapat dicegah 100% dari kebocoran trafik
  • Poin perbandingan utama
    • Oniux: tidak memerlukan daemon Tor terpisah, menggunakan namespace, mendukung semua aplikasi, memblokir syscall mentah dari aplikasi berbahaya, khusus Linux, baru/eksperimental, berbasis Arti, ditulis dalam Rust
    • Torsocks: memerlukan daemon Tor, melakukan peretasan ld.so, hanya mendukung aplikasi yang terhubung ke libc, syscall mentah masih bisa bocor, lintas platform, telah teruji lebih dari 15 tahun, mesin CTor, ditulis dalam C

Cara menggunakan Oniux

  • Diperlukan sistem Linux dengan lingkungan pengembangan Rust yang telah disiapkan
  • Oniux dapat dipasang dan dijalankan dengan mudah dari baris perintah

Contoh penggunaan utama:

  • $ oniux curl https://icanhazip.com # Cek IP yang diperoleh melalui perutean Tor
  • $ oniux bash # Jalankan seluruh shell dalam isolasi Tor
  • $ oniux hexchat # Aplikasi GUI juga bisa dipaksa lewat Tor
  • $ RUST_LOG=debug oniux curl ... # Mendukung logging untuk debugging

Cara kerja internal

  • Oniux membuat proses anak di namespace jaringan, mount, PID, dan pengguna yang terpisah melalui syscall clone(2)
  • Proses anak me-mount /proc secara terpisah dan menyesuaikan hak akses melalui pemetaan UID/GID
  • File sementara berisi informasi nameserver di-bind mount ke /etc/resolv.conf untuk memaksa penggunaan name resolver berbasis Tor
  • Membuat antarmuka TUN (onion0) dengan onionmasq lalu menetapkan dan mengonfigurasi IP
  • Proses anak mengirimkan fd antarmuka ke proses induk melalui socket domain Unix untuk meminimalkan hak istimewa
  • Pada akhirnya, perintah yang dimasukkan pengguna dijalankan dengan memanfaatkan fitur Rust

Sifat eksperimental Oniux

  • Oniux adalah versi awal yang dibangun di atas teknologi baru seperti Arti dan onionmasq
  • Meski saat ini berfungsi dengan baik, Oniux masih belum memiliki pengalaman kematangan jangka panjang seperti torsocks
  • Beragam umpan balik dari penggunaan nyata diperlukan untuk memastikan stabilitas dan meningkatkan performa

Kredit dan dukungan

  • Disampaikan terima kasih kepada smoltcp, stack IP berbasis Rust, serta para pengembang seperti 7ppKb5bW yang memberi saran tentang pemanfaatan namespace pengguna dalam pengembangan
  • Proyek oniux dipelihara berkat dukungan The Tor Project dan komunitas, dan donasi dianjurkan demi kemajuan privasi dan perangkat lunak terbuka

2 komentar

 
ndrgrd 2025-06-03

Tor sepertinya tidak buruk untuk privasi, tetapi saya kurang yakin apakah ini alat yang cocok untuk anonimitas. Ada juga cerita bahwa node keluar sudah dikuasai oleh lembaga negara.

 
GN⁺ 2025-06-02
Komentar Hacker News
  • Sekitar 10 tahun lalu, saat network namespace sedang menjadi topik hangat, saya pernah membahas topik ini dengan pengembang Tor. Umpan balik yang saya terima saat itu adalah bahwa isolasi melalui namespace bisa membuat orang merasa aman, padahal masih banyak informasi yang dapat mengidentifikasi pengguna yang tetap bisa bocor, sehingga seingat saya hal ini tidak lagi didorong
    • Saya pikir penekanan Tor team pada bagian itu adalah kesalahan strategis. Memang benar bahwa orang-orang yang menghadapi ancaman serius sebaiknya memakai Tor Browser dan juga memperhatikan jalur kebocoran informasi lainnya, tetapi kalau Tor menjadi default untuk semua orang, pengawasan massal sendiri akan jauh lebih sulit dilakukan. Saat ini, fakta bahwa seseorang memakai Tor saja sudah menjadi objek pengawasan, tetapi jika semua orang memakainya maka informasi itu menjadi tidak berarti
    • torsock dan torify pada dasarnya juga melakukan peran yang sama, tetapi ada titik-titik di mana keduanya terasa kurang kokoh dari segi ketahanan
  • Jika mengikuti perintah di panduan instalasi, hasilnya tidak berjalan. Nomor versinya harus diubah dari 0.4.0 menjadi 0.5.0
    cargo install --git https://gitlab.torproject.org/tpo/core/oniux oniux@0.5.0
  • Awalnya saya mengira trafik keluar melalui daemon tor lokal yang berjalan seperti torsocks. Namun bahkan ketika daemon tor lokal dimatikan, oniux tetap berjalan dengan baik sementara torify dan torsocks tidak. Setelah melihat dokumentasinya, ternyata memang begitu cara kerjanya. Fakta yang sangat menarik. Di docker juga berjalan baik, meski saya harus memakai opsi --privileged, dan sekadar menyalin binary ke container debian:12 pun tetap bekerja dengan normal
    docker run -it --rm --privileged -v "$PWD/oniux:/usr/bin/oniux" debian:12
  • Saya penasaran apakah semua ini hanya berlaku untuk TCP. Artinya, saya bertanya-tanya apakah trafik non-TCP juga terlindungi
    • Saya tidak tahu detailnya, tetapi dari https://gitlab.torproject.org/tpo/core/onionmasq kelihatannya mereka sedang mencoba membuat network stack user-space yang mendukung bukan hanya TCP tetapi juga UDP, lalu meneruskannya ke jaringan Tor
    • Saya penasaran bagaimana pengguna Tor Browser menangani YouTube, DNS, dan juga HTTP/3
    • Trafik non-TCP tidak dirutekan dan pengirimannya langsung gagal
  • Oniux tampaknya adalah alat yang didukung secara resmi. Mirip dengan orjail, tetapi orjail sudah tidak punya commit selama 4 tahun, meski masih berfungsi baik sebagai shell script bersama alat iptables/iproute
    orjail juga punya opsi untuk isolasi tambahan dengan firejail, tetapi Oniux belum memiliki fitur itu
    https://github.com/orjail/orjail/blob/master/usr/sbin/orjail
  • Sekarang saya jadi penasaran apakah bisa mengakses situs web tor dengan chrome
    • Secara teknis bisa, tetapi saya sarankan jangan. chrome tidak punya berbagai strategi anti-fingerprinting yang ada di Tor Browser. Dengan memakai browser biasa, Anda justru menjadi pengguna yang lebih menonjol
    • Sebenarnya sejak dulu pun akses lewat browser seperti chrome bisa dilakukan asalkan proxy environment variable (atau pengaturannya) diset dengan benar. Port standar daemon tor adalah 9050. Menulis sendiri proxy socks untuk merutekan trafik juga cukup mudah. Sebagai contoh, trafik bisa dikirim ke tempat seperti syncthing lewat proxy socks5
      https://github.com/acheong08/syndicate
  • Mereka memakai hexchat sebagai contoh, tetapi kalau pengaturan profil pengguna dipakai apa adanya, bukankah username IRC akan bocor?
    Saat menjalankan browser, hal seperti cookie juga berpotensi bocor
    • Pemisahan peran itu penting. Tor memang berupaya keras mencegah fingerprinting, tetapi pada dasarnya tujuan Tor dan Oniux adalah membuat pelacakan IP asal menjadi tidak mungkin. Jika Anda login ke Gmail lewat Tor, masalah yang sama tetap ada (kecuali HTTPS tidak diterapkan)
    • Saya penasaran apa yang dimaksud dengan membocorkan username. Pada praktiknya, itu hanya memberi tahu bahwa username tersebut memakai Tor. Jika username yang sama terus terhubung ke host IRC yang sama, maka bisa terungkap bahwa semuanya adalah orang yang sama. Jika orientasinya anonimitas, IRC adalah sarana yang cukup berisiko. Banyak orang menyimpan log dan mengaitkannya dengan peristiwa seperti putusnya koneksi jaringan, jadi ada potensi korelasi terungkap
  • Bagian DevEx (pengalaman pengembang)-nya benar-benar sangat baik dan terasa sampai level tahan-bodoh. Saya ingin memberi tepuk tangan kepada tim pengembang
    • Sebenarnya saya rasa tidak sepenuhnya begitu. Orang ceroboh selalu kreatif, dan untuk menjamin anonimitas diperlukan operasional yang sangat hati-hati, pada tingkat yang sulit diharapkan dari kebanyakan pengguna
  • Saya akan dengan senang hati memakainya kalau kodenya ditulis ulang dalam C
    • Itu sudah ditulis dalam Rust. Saya penasaran kenapa Anda tetap menginginkan versi C