Enhancing RPKI Robustness with Diverse Rsync Implementations

go for rsync diversity n.w
1 / 11
Embed
Share

Explore the benefits of using different Rsync variants for fetching RPKI material, focusing on gokrazy.rsync written in Go by Michael Stapelberg. Discover how this approach enhances security, reliability, and performance in the networking domain.

  • RPKI
  • Networking Tools
  • Rsync Variants
  • Go Language
  • Cybersecurity

Uploaded on | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. Go for rsync Diversity Simon Leinen <simon.leinen@switch.ch>, Switch (AS559) RIPE 90 Routing WG, 15 June 2025

  2. Management Summary TL;DL I tried to use Michael Stapelberg1 s gokrazy rsync variant for fetching RPKI material (ROAs) with Routinator and FORT. It works2 RRDP is still the better protocol, ceterum censeo rsync delendum esse(???) 1 He did all the work. Thank you, Michael! 2 For some value of works With a bit of configuration fiddling, reliably with acceptable performance, and (small) manageability impact 2

  3. Diversity for RPKI Robustness Many operators use different RPKI caches/validators, e.g. two of Routinator 3000 rpki-client FORT Should we use different rsync implementations as well? (Assumption: We still need rsync at all until everyone has moved to RRDP) 3

  4. Rsync variants Tridge rsync openrsync (in OpenBSD and macOS(?)) Gokrazy rsync Written from scratch/spec in Go, a memory-safe language By Michael Stapelberg (of router7 fame) (possibly others, not all well supported anymore) 4

  5. Why Go? Memory safe , i.e. no buffer overflows and use-after-free Remember CVE-2024-12084 & friends? Easy multithreading model, useful for networking tools 5

  6. Why gokrazy rsync? Michael has large-systems and Go street credibility He expressed willingness to help with this use case (implement missing options etc.) We live in the same town country 6

  7. gokr-rsync compatibility status rpki-client: Assumes support for (too) many rsync options FORT: works, as of May 2025 see below Routinator 3000: works, as of March 2025 /etc/routinator/routinator.conf: rsync-command = "/usr/bin/gokr-rsync" rsync-args = ["--compress", "--no-motd", "--contimeout=10"] 7

  8. Measurement results FORT 1.6.6, rsync.priority=90 (prefer rsync over RRDP) Tridge rsync ~980s (16 20 ) gokr-rsync ~1600s (26 40 ) Initial load time Subsequent refresh times ~823 1 001s ~751 986s #Validated ROAs after initial load 687 868 693 054 #Validated ROAs over a few hours 687 868 693 075 692 863 693 079 8

  9. Possible Future Work Add missing command-line args (--include/--exclude etc.) Maybe add diverse return codes like Tridge rsync Use as library for Go-based RPKI implementations? 9

  10. BUT WHY? Haven t we moved past rsync for RPKI? RRDP is the future! (Or we ll come up with something else ) Yes, but Even when deprecated, we ll have to support rsync for RPKI for a while (years) Keeping old infrastructure running not sexy but someone has to do it (to enable blockchain, AI ) (OK, the actual reason was that I wanted to learn Go from the pros ;-) 10

Related


More Related Content