10 puan yazan xguru 2024-08-27 | Henüz yorum yok. | WhatsApp'ta paylaş
  • Sunucuya UDP paketi göndererek komut çalıştıran bir araç
  • Komutlar sunucu tarafında yapılandırılır; bu nedenle istemci çalıştırılacak komutu tanımlamaz, yalnızca mevcut komutlardan birini seçer
  • 3 ikiliden oluşur
    • client: bilgisayarda çalışır ve UDP paketi gönderir
    • server: UDP paketini alır ve geçerli olup olmadığını doğrular
    • commander: UDP paketindeki veriye kodlanmış komut geçerliyse bunu çalıştırır
  • Güvenlik
    • UDP ile gönderildiği için sunucu hiçbir şekilde yanıt vermez: port taraması yapılamaz
    • İstemciden sunucuya gönderilen veriler RSA kullanılarak şifrelenir
    • İstemci yalnızca çalıştırılacak komutu belirtir ve komut sunucuda saklanır -> istemci komutu seçebilir ama tanımlayamaz
    • Sunucu yazılımını mümkün olduğunca az işletim sistemi yetkisiyle çalıştırın
    • Sunucunun aldığı tüm paketler replay saldırılarına karşı koruma için engelleme listesine eklenir
    • (WIP) DoS koruması

Kullanım örneği: single packet authorization (SPA)

Sunucu güvenliği için SSH'yi tamamen kapatmak yerine, SSH portunu kısa süreliğine açıp sonra yeniden kapatan bir yöntem uygulanabilir

address = "0.0.0.0:8080"  # Ruroco sunucusunun dinlediği adres (systemd/ruroco.socket kullanılmıyorsa)  
config_dir = "/etc/ruroco/"  # Yapılandırma dosyalarının saklandığı yol  
  
[commands]  
# SSH aç (yalnızca isteğin geldiği IP adresi için)  
open_ssh = "ufw allow from $RUROCO_IP proto tcp to any port 22"   
# SSH kapat (yalnızca isteğin geldiği IP adresi için)  
close_ssh = "ufw delete allow from $RUROCO_IP proto tcp to any port 22"  
  • Sunucuda Ruroco bu şekilde yapılandırıldıktan sonra istemci tarafında şu komut çalıştırılır
    ruroco-client send --address host.domain:8080 --private-pem-path /path/to/ruroco_private.pem --command open_ssh --deadline 5
  • Sunucu, RSA kullanarak istemcinin ilgili komutu çalıştırma yetkisi olup olmadığını doğrular ve "open_ssh" altında tanımlanan komutu çalıştırır
  • --deadline argümanı, komut çalıştırıldıktan sonra sunucunun 5 saniye içinde komutu başlatması gerektiği anlamına gelir
  • SSH portuna erişim yalnızca UDP paketinin gönderildiği IP için izinli olur
  • Elbette, SSH portu internete açıldığında olduğu gibi diğer tüm güvenlik sıkılaştırma işlemleri de yapılmalıdır
  • Yapılandırma dosyasına daha fazla komut ekleyerek istediğiniz sayıda komut tanımlayabilirsiniz

Henüz yorum yok.

Henüz yorum yok.