10 poin oleh xguru 2024-08-27 | Belum ada komentar. | Bagikan ke WhatsApp
  • Alat untuk menjalankan perintah dengan mengirim paket UDP ke server
  • Karena perintah dikonfigurasi di sisi server, klien tidak mendefinisikan perintah yang akan dijalankan dan hanya memilih dari perintah yang sudah ada
  • Terdiri dari 3 biner
    • client: dijalankan di komputer untuk mengirim paket UDP
    • server: menerima paket UDP dan memeriksa validitasnya
    • commander: menjalankan perintah jika perintah yang dienkode dalam data paket UDP valid
  • Keamanan
    • Karena dikirim melalui UDP, server sama sekali tidak merespons: pemindaian port tidak dimungkinkan
    • Data yang dikirim dari klien ke server dienkripsi menggunakan RSA
    • Klien hanya menentukan perintah yang akan dijalankan dan perintah disimpan di server -> klien bisa memilih perintah, tetapi tidak bisa mendefinisikannya
    • Jalankan perangkat lunak server dengan hak akses sistem operasi sesedikit mungkin
    • Semua paket yang diterima server ditambahkan ke daftar blokir untuk perlindungan dari replay
    • Perlindungan DoS (WIP)

Contoh penggunaan: single packet authorization (SPA)

Demi keamanan server, alih-alih membiarkan SSH selalu terbuka, dapat diterapkan pendekatan membuka port SSH sebentar lalu menutupnya kembali

address = "0.0.0.0:8080"  # Alamat tempat server Ruroco mendengarkan (jika tidak menggunakan systemd/ruroco.socket)  
config_dir = "/etc/ruroco/"  # Jalur tempat file konfigurasi disimpan  
  
[commands]  
# Buka SSH (hanya untuk alamat IP yang mengirim permintaan)  
open_ssh = "ufw allow from $RUROCO_IP proto tcp to any port 22"   
# Tutup SSH (hanya untuk alamat IP yang mengirim permintaan)  
close_ssh = "ufw delete allow from $RUROCO_IP proto tcp to any port 22"  
  • Konfigurasikan Ruroco seperti ini di server lalu jalankan perintah berikut di sisi klien
    ruroco-client send --address host.domain:8080 --private-pem-path /path/to/ruroco_private.pem --command open_ssh --deadline 5
  • Server memverifikasi dengan RSA bahwa klien memiliki izin untuk menjalankan perintah tersebut lalu mengeksekusi perintah yang didefinisikan di bawah "open_ssh"
  • Argumen --deadline berarti server harus mulai menjalankan perintah dalam waktu 5 detik setelah perintah diminta
  • Akses ke port SSH hanya diizinkan untuk IP yang mengirim paket UDP
  • Tentu saja, seperti ketika port SSH diekspos ke internet, semua langkah hardening keamanan lainnya juga harus dilakukan
  • Anda dapat menambahkan lebih banyak perintah ke file konfigurasi untuk mendefinisikan sebanyak mungkin perintah yang diinginkan

Belum ada komentar.

Belum ada komentar.