מה זה DNS?
DNS הוא ראשי תיבות של Domain Name System , נקרא גם Domain Name Server, מטרתו של הDNS הוא לתרגם כתובות של שמות מתחם (דומיינים) אל כתובת הIP המתאימה שלהם. התהליך מתבצע על ידי פנייה לשרת DNS בו נמצאות הרשומות המתאימות לכתובת הדומיין שחיפשנו.
DNS עם AD DS
כאשר מותקן שרת מבוסס Windows Server עם תפקיד של Active Directory באופן אוטמטי מותקן גם תפקיד הDNS על ידי הServer Manager. למה זה קורה? ומה היתרונות של האינטגרציה המובנית של Active Directory עם DNS. נסכם במאמר הזה.
לאחר התקנת שירותי AD DS , כאשר מחשב מצטרף לדומיין באופן אוטומטי הוא מבצע Register בDNS של השרת , כך שפנייה לשם המחשב, תפנה לIP של המחשב ברשת. דבר שמאפשר לנו אנשי IT וגם אנשים העובדים בארגון או בעסק גישה מאוד נוחה לגשת למשאבים בלי להיות מחויב לזכור ואו לבדוק בכל רגע נתון כאשר נרצה לגשת למשאב כלשהו למחשב ברשת את הIP שלו שבדרך כלל דינאמי ומשתנה.
כתובת של מחשב ברשת AD DS מורכבת משני חלקים: Hostname ו-Domain Name , לדוגמא מחשב שנקרא PC1 שהצטרף לדומיין Sivim.co.il, וכמובן באופן אוטומטי נרשם בDNS כתובתו תהיה: PC1.Sivim.co.il. השם המלא של הכתובת נקרא FQDN שהוא ראשי תיבות של Fully qualified domain name.
PC1 – הוא הHOSTNAME – שם המחשב. וSivim.Co.il הוא הדומיין שפתחנו בAD DS.
Dynamic Update
אז מה הוא בעצם Dynamic Update? כאשר מחשב בדומיין יחליף כתובת IP , אם זה בגלל תהליך Renew Lease של DHCP שמחדש את כתובת הIP אוטמטית ואו שינוי כתובת IP לכתובת סטטית על ידי המשתמש מסיבה כלשהי. שרת הDNS יאמת את המחשב שמחובר אליו , יוודא שזה אכן הוא נמצא בכתובת החדשה וירשום בDNS את הכתובת החדשה של המחשב ככה שהגישה לIP הנכון של המחשב או השרת ברשת תמיד יהיה זמין על ידי גישה לכתובתו באופן שתיארנו למעלה. במידה ובעקבות תקלה בהצטרפות לדומיין , ואו מכל סיבה אחרת קיימת בעיה וכתובת הIP של מחשב ברשת שנמצא בדומיין , לא עודכן בDNS ואו לא הוסיף רשומה מתאימה על ידי עדכון אוטומטי, נריץ את הפקודה הבאה לתיקון ורישום מחדש בשרת הDNS של הדומיין:
IPCONFIG /RegisterDNS – It either creates or updates a host A/AAAA record within your active directory integrated DNS. If your pc is in a workgroup it would do nothing because external public DNS Server not storing privte networks records.
Secure Update DNS לאבטחת מידע
אספקט נוסף של Secure Update הוא מתחום אבטחת המידע , רק מחשב מאושר בActive Directory יכול לרשום את עצמו בDNS. למה צריך את זה ומה זה אומר? לדוגמא , האקר קיבל גישה לרשת הארגון ורוצה לשבש או לזייף רשומות DNS כאשר אנו נמצאים במצב Dynamic Update DNS , עם אופציית הNo Secure יוכל ההאקר להוסיף רשומות ולשנות רשומות קיימות ובכך להטות את משתמשי הארגון. למשל להשתיל רשומה A Record עבור אתר של בנק שבכניסה לכתובת אתר הבנק יופנה המשתמש לדוגמא מנהלת הכספים בעסק או בארגון לאתר מתחזה בו יגנבו פרטי החשבון והססמה.
לכן כאשר בארגון אנו משתמשים Dynamic Updates עלינו לוודא שאנו עובדים תחת Secure Update. במצב הזה מתבצעת Auth – אותנטיקציה שהיא בעברית אימות אל מול שרת הActive Directory שהוא מוודא שאכן זהו מחשב מאושר לעדכון הDNS, ויוזר מאושר על ידי פרוטוקול האימות Kerberos של Microsoft ורק לאחר אישור מתבצע עדכון של רשומת הDNS המקושרת למחשב הספציפי!
מה זה DNS Forwarder?
בשביל להבין נכונה את משמעות הForwarder עלינו תחילה להבין כיצד מתבצעת בקשה בשרת הDNS.
כאשר מחשב בארגון ניגש לדוגמא לכתובת Google.co.il התהליך אותו עובר המחשב מרגע בקשת האתר ועד לפתיחת האתר המבוקש (גוגל במקרה שלנו), כלהלן:
- האם זה אני? המחשב בודק , האם Google.co.il זה אני? והתשובה כמובן לא
- האם אני זוכר? המחשב יבדוק בDNS Resolver Cache – זכרון מטמון בו נשמרים כתובות IP של רשומות שכבר אוחזרו על מנת לצמצם בקשות מיותרות על שרת הDNS ולאחזר במהירות אתרים וכתובות שכבר אוחזרו בעבר. נניח שבמקרה שלנו התשובה היא לא , Google לא קיים בזכרון המטמון של הDNS.
- פנייה אל שרת הDNS של הארגון , שרת הDNS בודק האם הוא Authoritative , כלומר האם הוא בעל סמכות על הZone Google.co.il. ומגלה שלא.
- פנייה ל-Forwarders ,בשלב זה מתבצעת בקשה החוצה לשרתי DNS חיצוניים כמו למשל הDNS של הISP , הDNS של Google שנמצא בכתובת 8.8.8.8 , DNS של Cloudflare שנמצא בכתובת 1.1.1.1 וכו'. שרת הDNS יבצע בקשה רקורסיבית Recursive אל הForwarder ויבקש את כתובת הIP של הדומיין Google.co.il. במידע והוא קיים בשרתי הDNS (במקרה הזה התשובה כן, הוא קיים בשרת הDNS האלה) האלה הוא יחזור אל שרת הDNS והוא יחזיר את התוצאה למחשב שביקש לגשת לGoogle.co.il. במידה ולא ימצא רשומה מתאימה.
- בקשה לRoot-Hints , הבקשה לRoot Hints ממנה אנו רוצים להמנע בדרך כלל , היא פנייה אל שרתי השורש על ידי בקשה איטרטיבית Iterative שמשמעותה היא שרת הDNS מבצע בקשה לROOT HINT מהרשימה , במידה והרשומה לא נמצאת שם , שרת הROOT HINT לא יפנה ויחפש בעבורך את הרשומה כמו בבקשה רקורסיבית אלא יחזיר לך תשובה בסגנון: "אצלי זה לא נמצא , ומחזיר : לך לשרת ROOT HINT אחר כלשהו וכתובתו וחפש שם." , שרת הDNS של הארגון יקבל את התשובה ויפנה לכתובת אותה קיבל מה-ROOT HINT עד למציאת הרשומה.
- במידה ובסיום של התהליך לא נמצאה הרשומה , יחזיר שרת הDNS , שהרשומה אינה קיימת בדוק מחדש את הכתובת.
הערה: Reverse DNS lookup – כלומר בקשה לשרת הDNS עם IP בכדי לבצע איחזור רשומת DNS על פי ה-IP ולא לפי כתובת הדומיין.
תודה שקראתם אצלנו!
עד כאן חברים , שמחתי לכתוב לכם את המאמר כי אני יודע שרוב הארגונים והעסקים בארץ מבוססים על Windows Server לשלל גירסאותיו 2012 , 2016 וכו' , והוא עלול להועיל ולהאיר פנים לאנשים שאינם שולטים בActive Directory ובפרט בשרתי DNS.
ניתן לקרוא עוד על DNS באתר מייקרוסופט בלחיצה כאן.