הפעלת Virtio RNG

‫Virtio RNG הוא מחולל מספרים אקראיים (RNG) שעובר פארא-וירטואליזציה. ‫Virtio RNG מספק מספרים אקראיים ממאגר אנטרופיה שנוצר על ידי מחשב המארח של המכונה הווירטואלית (VM). מאגר האנטרופיה אוסף ביטים אקראיים של מידע מהמערכת ומשתמש במידע הזה כדי ליצור מספרים אקראיים באמת, שאפשר להשתמש בהם למידע רגיש, כמו מפתחות SSH או מזהים ייחודיים.

לפני שמתחילים

  • אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות. אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Cloud de Confiance by S3NS . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
    1. התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:

      gcloud init
    2. הגדרת אזור ותחום כברירת מחדל

מגבלות

  • ‫Virtio RNG לא זמין לתמונות של Windows.
  • כברירת מחדל, מכונות וירטואליות ב-Compute Engine משתמשות ב-Virtio RNG במקום בדמון כדי למלא מחדש את מאגר האנטרופיה של האורח. אם אתם מעדיפים להשתמש בשד לאיסוף אנטרופיה במקום ב-Virtio RNG או בנוסף אליו, אתם צריכים להתקין אותו. דוגמה לדמון לאיסוף אנטרופיה מופיעה במסמכי התיעוד של rng-tools.

בדיקה אם Virtio RNG מופעל

כדי לבדוק אם Virtio RNG מופעל ב-VM, מריצים את הפקודה הבאה:

lsmod | grep rng

כשהאפשרות Virtio RNG מופעלת, הפלט אמור להיראות כך:

virtio_rng             16384  0
rng_core               16384  2 virtio_rng
virtio_ring            28672  4 virtio_rng,virtio_scsi,virtio_pci,virtio_net
virtio                 16384  4 virtio_rng,virtio_scsi,virtio_pci,virtio_net

בדיקת Virtio RNG

אפשר לבדוק את Virtio RNG באמצעות המכשיר /dev/random.

  1. מתחברים למכונה הווירטואלית באמצעות SSH. לדוגמה, אפשר להשתמש ב-CLI של gcloud כדי להתחבר:

    gcloud compute ssh VM_NAME
    

    מחליפים את VM_NAME בשם של המכונה הווירטואלית.

  2. התקנה של rng-tools:

    CentOS

    משתמשים בפקודה הבאה כדי להתקין את rng-tools:

    sudo yum install rng-tools

    Debian

    משתמשים בפקודה הבאה כדי להתקין את rng-tools:

    sudo apt install rng-tools

    Fedora CoreOS

    משתמשים בפקודה הבאה כדי להתקין את rng-tools:

    sudo yum install rng-tools

    RHEL

    משתמשים בפקודה הבאה כדי להתקין את rng-tools:

    sudo yum install rng-tools

    SLES

    משתמשים בפקודה הבאה כדי להתקין את rng-tools:

    sudo zypper install rng-tools

    Ubuntu LTS

    משתמשים בפקודה הבאה כדי להתקין את rng-tools:

    sudo apt install rng-tools

    חלק מתמונות Ubuntu מחזירות שגיאה Package 'rng-tools' has no installation candidate. אם קיבלתם את השגיאה הזו, מריצים את הפקודות הבאות:

    sudo apt update
    sudo apt install rng-tools
    
  3. במכונת ה-VM, מריצים את הפקודה rngtest:

    cat /dev/random | rngtest -c 1000
    

אם Virtio RNG לא מופעל, הפקודה לא מחזירה כלום. אם היא מופעלת, מקבלים תגובה שדומה לזו:

rngtest 2-unofficial-mt.14..
rngtest: starting FIPS tests...
rngtest: bits received from input: 20000032
rngtest: FIPS 140-2 successes: 1000
rngtest: FIPS 140-2 failures: 0
rngtest: FIPS 140-2(2001-10-10) Monobit: 0
rngtest: FIPS 140-2(2001-10-10) Poker: 0
rngtest: FIPS 140-2(2001-10-10) Runs: 0
rngtest: FIPS 140-2(2001-10-10) Long run: 0
rngtest: FIPS 140-2(2001-10-10) Continuous run: 0
rngtest: input channel speed: (min=4.801; avg=7.318; max=7.839)Mibits/s
rngtest: FIPS tests speed: (min=39.005; avg=69.557; max=72.523)Mibits/s
rngtest: Program run time: 2880954 microseconds

המאמרים הבאים