הצגת מפתחות DNSSEC

בדף הזה מוסבר איך להציג מפתחות של תוספי אבטחה של מערכת שמות הדומיינים (DNSSEC).

סקירה כללית על DNSSEC

DNSKEY הוא סוג של רשומת DNS שמכילה מפתח חתימה ציבורי. אם אתם מעבירים תחום חתום של DNSSEC למפעיל DNS אחר, יכול להיות שתצטרכו לראות את רשומות ה-DNSKEY. תהליך ההעברה שמתואר ב-RFC 6781 מחייב לייבא את רשומות ה-DNSKEY של מפתח החתימה של הדומיין (ZSK) ומפתח החתימה של המפתח (KSK) מתחום ה-DNS של Cloud לתחום של המפעיל השני.

אם הפעלתם את DNSSEC לאזור, מערכת Cloud DNS מנהלת באופן אוטומטי את היצירה והרוטציה של מפתחות DNSSEC (רשומות DNSKEY) ואת החתימה על נתוני האזור באמצעות רשומות RRSIG (חתימה דיגיטלית של רשומות משאבים). ‏Cloud DNS לא תומך ברוטציה אוטומטית של מפתחות KSK, כי בשלב זה רוטציות של מפתחות KSK מחייבות אינטראקציה ידנית עם רושם הדומיין. עם זאת, ב-Cloud DNS מתבצעות רוטציות ZSK אוטומטיות לחלוטין. אפשר להציג את מפתחות ה-DNSKEY שמנוהלים באופן אוטומטי באמצעות Google Cloud CLI או API ל-REST.

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

כדי שתוכלו להציג מפתחות DNSSEC, עליכם ליצור תחום מנוהל ולהפעיל את DNSSEC בתור תחום כדי שייווצרו רשומות DNSKEY.

הצגת רשומות ה-DNSKEY הנוכחיות

כדי להציג את רשומות ה-DNSKEY הנוכחיות של הדומיין, פועלים לפי השלבים הבאים.

gcloud

בדוגמאות הבאות של שורת הפקודה gcloud, אפשר לציין את הפרמטר --project כדי לפעול בפרויקט ספציפי.

כדי להדפיס את כל מפתחות ה-DNSKEY בפורמט JSON, משתמשים בפקודה gcloud dns dns-keys list:

gcloud dns dns-keys list --zone ZONE_NAME

מחליפים את ZONE_NAME בשם של האזור המנוהל.

כדי להציג את הפרטים של DNSKEY מסוים בפורמט JSON, משתמשים בפקודה gcloud dns dns-keys describe:

gcloud dns dns-keys describe DNSKEY_ID --zone ZONE_NAME

מחליפים את מה שכתוב בשדות הבאים:

  • DNSKEY_ID: המזהה של ה-DNSKEY שרוצים להציג את הפרטים שלו
  • ZONE_NAME: שם האזור המנוהל

API

כדי להדפיס את כל מפתחות ה-DNSKEY באוסף ResourceRecordSet, משתמשים ב-method‏ dnsKeys.get עם גוף בקשה ריק:

GET https://dns.googleapis.com/dns/v1/projects/PROJECT/managedZones/ZONE_NAME/dnsKeys

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT: השם או המזהה של פרויקט ה-DNS
  • ZONE_NAME: שם האזור המנוהל

הפלט אמור להיראות כך:

{
  "kind": "dns#dnsKeysListResponse",
  "header": {
    "operationId": string
  },
  "dnsKeys": [
    dnsKeys Resource
  ],
  "nextPageToken": string
}

כדי להציג את הפרטים של DNSKEY מסוים בפורמט JSON, משתמשים ב-method‏ dnsKeys DNSKEY_ID.get עם גוף בקשה ריק:

GET https://dns.googleapis.com/dns/v1/projects/PROJECT/managedZones/ZONE_NAME/dnsKeys/DNSKEY_ID

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT: השם או המזהה של פרויקט ה-DNS
  • ZONE_NAME: שם האזור המנוהל
  • DNSKEY_ID: המזהה של ה-DNSKEY שרוצים להציג את הפרטים שלו

Python

  from apiclient import errors
  from apiclient.discovery import build

  PROJECT_NAME= 'PROJECT_NAME'
  ZONE_NAME= 'ZONE_NAME'

  try:
    service = build('dns', 'v1')
    response = service.dnskeys().list(project=PROJECT_NAME,
                                      managedZone=ZONE_NAME).execute()
  except errors.HttpError, error:
    print 'An error occurred: %s' % error

  try:
    response = service.dnskeys().list(project=PROJECT_NAME,
                                      managedZone=ZONE_NAME,
                                      keyId=KEY_ID).execute()
  except errors.HttpError, error:
    print 'An error occurred: %s' % error

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_NAME: השם או המזהה של פרויקט ה-DNS
  • ZONE_NAME: שם האזור המנוהל

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