מדריך · 4 דקות קריאה

אבטחת דומיין ו־DNS: רשימת בדיקות מעשית

בקצרה: מי ששולט בדומיין שלכם שולט באתר, בדוא״ל ובשאלה מי יכול לקבל תעודות בשמכם. הגנו על החשבון אצל רשם הדומיינים עם התחברות דו־שלבית, הפעילו חידוש אוטומטי ונעילת העברה, פרסמו רשומות CAA שמציינות את רשות האישורים שלכם, הפעילו DNSSEC אם ספק ה־DNS תומך בו, ומחקו רשומות DNS שמפנות לשירותים שכבר אינכם משתמשים בהם.

עודכן ב־ · HackGrade

בדקו קודם את האתר שלכם. הסריקה החינמית מראה אילו מהתיקונים האלה אתם צריכים. בדיקת אבטחת אתר

שלבים בקצרה

  1. אבטחו את החשבון אצל הרשם. התחברות דו־שלבית, דוא״ל שחזור בדומיין אחר וחשבון בעלים משותף.
  2. אל תתנו לדומיין לפוג. הפעילו חידוש אוטומטי ושמרו על כרטיס אשראי בתוקף.
  3. נעלו העברות. ודאו שהדומיין מציג clientTransferProhibited.
  4. הוסיפו רשומות CAA. אפשרו רק לרשויות האישורים שאתם באמת משתמשים בהן.
  5. הפעילו DNSSEC. חתמו את האזור אצל ספק ה־DNS ופרסמו את רשומת ה־DS אצל הרשם.
  6. הסירו רשומות יתומות. מחקו CNAME ורשומות אחרות שמפנות לשירותים שכבר אינכם משתמשים בהם.

הקוד וההגדרות נשארים באנגלית.

למה הדומיין הוא החשבון החשוב ביותר שלכם

אם מישהו משתלט על החשבון אצל הרשם או על ה־DNS, הוא יכול להפנות את האתר לשרת שלו, לקרוא את הדוא״ל הנכנס ולעבור את בדיקות הדומיין שרשויות אישורים משתמשות בהן, כך שהדפדפן יציג מנעול תקף על העותק שלו. שום הקשחת שרת לא עוזרת כשה־DNS אבד. רוב ההגנה היא כמה הגדרות שמשנים פעם אחת.

1. אבטחו את החשבונות אצל הרשם ואצל ספק ה־DNS

  • הפעילו אימות דו־שלבי אצל הרשם ואצל ספק ה־DNS (לעיתים קרובות אותה חברה, או Cloudflare).
  • השתמשו בדוא״ל שחזור בדומיין אחר. אם כתובת השחזור נמצאת על הדומיין עצמו והדומיין מפסיק לעבוד, לא תוכלו לקבל את מייל האיפוס.
  • רשמו את הדומיין על שם העסק, עם כתובת תפקיד משותפת, ולא על שם עובד לשעבר או הסוכנות שבנתה את האתר.
  • תעדו למי יש גישה, והסירו אנשים שעזבו.

2. אל תתנו לדומיין לפוג

דומיינים שפגו נקנים לפעמים בתוך ימים על ידי אחרים, יחד עם התנועה והדוא״ל שעדיין מגיעים אליהם. הפעילו חידוש אוטומטי, שמרו על כרטיס בתוקף, ובדקו את תאריך התפוגה ואת קודי הסטטוס:

Terminal
whois yourdomain.com | grep -iE 'expir|status'

3. הפעילו נעילת העברה

בשורות הסטטוס למעלה אתם רוצים לראות clientTransferProhibited. המשמעות היא שאי אפשר להעביר את הדומיין לרשם אחר עד שאתם משחררים את הנעילה בעצמכם. רוב הרשמים קוראים לזה „registrar lock” או „נעילת העברה”. לדומיינים בעלי ערך גבוה, שאלו אם שירות registry lock (נעילות ברמת המרשם שמשתנות רק אחרי אימות ידני) זמין לסיומת שלכם.

4. פרסמו רשומות CAA

רשומת CAA מפרטת את רשויות האישורים שמורשות להנפיק תעודות לדומיין שלכם; כל רשות אישורים ציבורית חייבת לבדוק אותה לפני הנפקה. בררו באיזו רשות אישורים משתמשים חברת האחסון או ה־CDN שלכם, ואז פרסמו רשומות כמו אלה (בדוגמה הזו מותרת רק Let’s Encrypt ותעודות wildcard אסורות):

DNS zone
yourdomain.com.  3600  IN  CAA  0 issue "letsencrypt.org"
yourdomain.com.  3600  IN  CAA  0 issuewild ";"
yourdomain.com.  3600  IN  CAA  0 iodef "mailto:security@yourdomain.com"
Terminal
dig +short CAA yourdomain.com

היזהרו: אם ה־CDN או חברת האחסון מנפיקים תעודות דרך רשות אחרת שלא מופיעה ברשימה, החידושים שלהם ייכשלו. הרבה ספקי CDN מתעדים אילו ערכי CAA להוסיף, וחלקם מוסיפים אותם בשבילכם.

5. הפעילו DNSSEC

‏DNSSEC חותם על תשובות ה־DNS שלכם, כך ששרתי DNS שמאמתים אותן יכולים לזהות תשובות מזויפות. הפעילו אותו אצל ספק ה־DNS, ואז הוסיפו אצל הרשם את רשומת ה־DS שהספק נותן לכם (רשמים רבים עושים את זה אוטומטית כשהם גם מארחים את ה־DNS). ודאו שרשומת ה־DS קיימת ושיש לדגל ad (נתונים מאומתים) בתשובה משרת DNS מאמת:

Terminal
dig +short DS yourdomain.com
dig @1.1.1.1 +dnssec yourdomain.com A | grep -E 'flags:'

אזהרה אחת: כשמעבירים את ה־DNS לספק אחר, הסירו קודם את רשומת ה־DS (או עקבו אחרי שלבי המעבר של הספק החדש ל־DNSSEC), אחרת שרתים מאמתים לא יצליחו לפענח את הדומיין שלכם בכלל.

6. הסירו רשומות יתומות (השתלטות על תת־דומיין)

רשומה „יתומה” מפנה לשירות שכבר אינכם משתמשים בו: דלי אחסון ענן שנמחק, כלי ישן לדפי נחיתה, חשבון אחסון שנסגר. אם מישהו אחר יכול לתפוס את השם הזה באותו שירות, הוא שולט בתוכן בתת־הדומיין שלכם, עם הדומיין שלכם בשורת הכתובת. הוציאו את רשימת תתי־הדומיינים מספק ה־DNS ובדקו לאן כל CNAME מפנה:

Terminal
for h in www shop blog staging old mail; do
  t=$(dig +short CNAME "$h.yourdomain.com")
  [ -n "$t" ] && echo "$h -> $t ($(dig +short "$t" | head -n1))"
done

סוגריים ריקים אומרים שהיעד כבר לא קיים ב־DNS: בררו מה הוא היה ומחקו את הרשומה. גם יעד שעדיין קיים יכול להיות יתום אם החשבון שמאחוריו נסגר, אז פתחו כל תת־דומיין וודאו שהוא מציג את מה שאתם מצפים לו. מחקו את רשומת ה־DNS לפני שאתם מבטלים את השירות שהיא מפנה אליו.

7. הגנו על הדוא״ל באותו דומיין

פרסמו SPF ו־DMARC כדי שאחרים לא יוכלו לשלוח דוא״ל שנראה כאילו הגיע מכם, והוסיפו מפתח DKIM לכל שירות ששולח בשמכם. ראו SPF,‏ DKIM ו־DMARC לעסקים קטנים. דומיינים שאף פעם לא שולחים דוא״ל צריכים לפרסם v=spf1 -all ומדיניות DMARC של reject.

מה HackGrade בודקת

הסריקה החינמית בודקת HTTPS, את התעודה ואת רשומות ה־SPF וה־DMARC של הדומיין. היא לא בודקת הגדרות אצל הרשם, CAA,‏ DNSSEC או רשומות יתומות, אז השתמשו ברשימה הזו עבורם, וחזרו עליה בכל פעם שאתם מוסיפים או מפסיקים שירות.

שאלות נפוצות

האם אתרי עסקים קטנים צריכים DNSSEC?

מומלץ, ואצל רוב ספקי ה־DNS המודרניים זו הגדרה אחת ועוד רשומת DS אצל הרשם. הסיכון העיקרי הוא לשבור את פענוח הדומיין כשמחליפים ספק DNS, אז עקבו אחרי שלבי המעבר.

מה קורה אם מוסיפים רשומת CAA עם רשות האישורים הלא נכונה?

הנפקות וחידושים מרשויות שלא ברשימה ייכשלו, והאתר עלול להישאר עם תעודה שפגה. בדקו באיזו רשות משתמשים חברת האחסון או ה־CDN לפני שמפרסמים CAA.

מה זו השתלטות על תת־דומיין?

כשרשומת DNS עדיין מפנה לשירות חיצוני שנמחק, מישהו אחר עשוי לתפוס את המשאב הזה ולפרסם תוכן בתת־הדומיין שלכם. מחיקת הרשומה מסירה את הסיכון.

האם נעילת העברה מספיקה כדי להגן על הדומיין?

היא עוצרת העברות שקטות לרשם אחר, אבל לא מישהו שמתחבר לחשבון שלכם אצל הרשם. התחברות דו־שלבית לחשבון הזה היא הדבר החשוב ביותר.

מקורות

מדריכים קשורים

חינם · מיידי · בלי הרשמה

גלו את הציון שלכם לפני שמישהו אחר יגלה.

סריקה פסיבית בלבד. שום בדיקה חודרנית לא מתבצעת בלי האישור שלכם.

מתחילים בחינם. Pro מ־29$ לחודש (כ־24$ בחיוב שנתי), או דוח מלא חד־פעמי ב־29$. למחירים