PAM, NIS, LDAP, Kerberos, DS ו- Samba 4 AD-DC - SMB Networks

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

שלום חברים וחברים!

Con éste artículo digo Adiós a la Comunidad DesdeLinux. Una especial despedida para una Especial Comunidad. Desde ahora estaré en mi proyecto personal el cual puedes conocer en http://www.gigainside.com.

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

אנו רוצים לציין כי הפרוטוקול המשותף לרבות ממערכות האימות המודרניות הוא ה- LDAP, וכי זה לא סרק ללמוד אותו בקפידה, מתוך חומר הלימוד שנמצא באתר הרשמי http://www.openldap.org/.

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

  • PAM: מודול אימות תקע.
  • ש"ח: רשת_מידע_שירות.
  • LDAP: פרוטוקול גישה קלה לספריות.
  • Kerberos: פרוטוקול אבטחה לאימות משתמשים, מחשבים ושירותים באופן מרכזי ברשת, המאמת את פרטי הכניסה שלהם מול רשומות קיימות במסד הנתונים של Kerberos.
  • DS: שרת מדריך או שירות ספריות
  • AD–DC: Active Directory - בקרת תחומים

PAM

אנו מקדישים סדרה קטנה לסוג זה של אימות מקומי, אותו תוכלו לראות בתרגול יומיומי כי נעשה בו שימוש נרחב כאשר, למשל, אנו מצטרפים לתחנת עבודה לבקר תחום או ל- Active Directory; למפות משתמשים המאוחסנים בבסיסי LDAP חיצוניים כאילו היו משתמשים מקומיים; למפות משתמשים המאוחסנים בבקר התחום של Active Directory כאילו היו משתמשים מקומיים וכן הלאה.

ש"ח

De ויקיפדיה:

  • מערכת מידע ברשת (הידועה בראשי התיבות NIS, שפירושה בספרדית מערכת מידע ברשת), היא שמו של פרוטוקול שירותי ספריית שרת לקוח שפותח על ידי Sun Microsystems לשליחת נתוני תצורה במערכות מבוזרות כגון שמות משתמשים ומארחים בין מחשבים ברשת.NIS מבוסס על RPC של ONC, והוא מורכב משרת, ספריה בצד הלקוח וכלי ניהול שונים.

    NIS נקרא במקור דפי זהב, או YP, המשמש עדיין להתייחס אליו. למרבה הצער, שם זה הוא סימן מסחרי של חברת British Telecom, אשר דרשה מ- Sun להוריד את השם הזה. עם זאת YP נותרה קידומת בשמות רוב הפקודות הקשורות ל- NIS, כגון ypserv ו- ypbind.

    DNS משרת מגוון מידע מוגבל, והחשוב ביותר הוא ההתאמה בין שם הצומת לבין כתובת ה- IP. לגבי סוגים אחרים של מידע, אין שירות מיוחד כזה. מצד שני, אם אתה מנהל רק LAN קטן ללא קישוריות לאינטרנט, לא כדאי להגדיר DNS. זו הסיבה ש- Sun פיתחה את מערכת המידע ברשת (₪). NIS מספק יכולות גישה כלליות למסדי נתונים המשמשות להפצת, למשל, המידע הכלול בקבצי passwd וקבוצות לכל הצמתים ברשת שלך. זה גורם לרשת להיראות כמו מערכת אחת, עם אותם חשבונות בכל הצמתים. באופן דומה, ניתן להשתמש ב- NIS להפצת המידע על שם הצומת הכלול ב- / etc / hosts לכל המכונות ברשת.

    כיום ניתן להשיג ש"ח כמעט בכל הפצות יוניקס, ויש אפילו יישומים בחינם. BSD Net-2 פרסם אחד שהופק מיישום הפניה לרשות הציבור שנתרם על ידי Sun. קוד הספרייה עבור חלק הלקוח בגרסה זו נמצא ב- lib GNU / Linux במשך זמן רב, ותוכניות הניהול הועברו ל- GNU / Linux על ידי Swen Thümmler. עם זאת, שרת NIS חסר נכון ליישום הייחוס.

    פיטר אריקסון פיתח יישום חדש בשם NYS. הוא תומך הן בש"ח בסיסיות והן בגרסה המשופרת של Sun ש"ח +. [1] NYS לא רק מספקת מספר כלים של ש"ח ושרת, אלא גם מוסיפה קבוצה חדשה לגמרי של פונקציות ספרייה שעליך להרכיב לתוך ה- libc שלך אם ברצונך להשתמש בהן. זה כולל ערכת תצורה חדשה לפתרון שמות צומת המחליפה את התוכנית הנוכחית בה משתמשים הקובץ "host.conf".

    ה- GNU libc, המכונה libc6 בקהילת GNU / Linux, כולל גרסה מעודכנת של התמיכה המסורתית ב- NIS שפותחה על ידי תורסטן קוקוק. הוא תומך בכל פונקציות הספרייה המסופקות על ידי NYS, ומשתמש גם בתכנית התצורה המתקדמת של NYS. הכלים והשרת עדיין נדרשים, אך השימוש ב- libc של GNU חוסך את הבעיה בתיקון והידור מחדש של הספרייה

    .

מחשב ושם תחום, ממשק רשת ופותר

  • אנו מתחילים מהתקנה נקייה - ללא ממשק גרפי - של Debian 8 "ג'סי". פירוש הדומיין swl.fan הוא "חובבי תוכנה חופשית". איזה שם טוב מזה?.
root @ master: ~ # host host
אב
root @ master: ~ # hostname -f
מאסטר.swl.fan

root @ master: ~ # ip addr 1: lo: mtu 65536 qdisc noqueue state לא ידוע קבוצת קישור ברירת מחדל / loopback 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00 inet 127.0.0.1/8 מארח היקף lo valid_lft לנצח עדיף_לפט לנצח inet6 :: 1/128 מארח היקף valid_lft לנצח עדיף_לפט לנצח 2: eth0: mtu 1500 qdisc pfifo_fast מצב UP ברירת מחדל קבוצת qlen 1000 קישור / אתר 00: 0c: 29: 4c: 76: d9 brd ff: ff: ff: ff: ff: ff inet 192.168.10.5/24 brd 192.168.10.255 היקף גלובלי eth0 valid_lft לנצח עדיף_לפט לנצח inet6 fe80 :: 20c: 29ff: fe4c: קישור היקף 76d9 / 64 valid_lft לנצח עדיף_לפט

root @ master: ~ # cat /etc/resolv.conf 
חיפוש swl.fan שרת שמות 127.0.0.1

התקנת bind9, isc-dhcp-server ו- ntp

לאגד 9

root @ master: ~ # aptitude install bind9 bind9-doc nmap
root @ master: ~ # systemctl status bind9

root @ master: ~ # nano /etc/bind/named.conf
כוללים "/etc/bind/named.conf.options"; כוללים "/etc/bind/named.conf.local"; כוללים "/etc/bind/named.conf.default-zones";

root @ master: ~ # cp /etc/bind/named.conf.options \ /etc/bind/named.conf.options.original

root @ master: ~ # nano /etc/bind/named.conf.options
אפשרויות {directory "/ var / cache / bind"; // אם יש חומת אש בינך לבין שרת שמות שאתה רוצה // לדבר איתם, ייתכן שיהיה עליך לתקן את חומת האש כדי לאפשר למספר // יציאות לדבר. לִרְאוֹת http://www.kb.cert.org/vuls/id/800113

        // אם ספק שירותי האינטרנט שלך סיפק כתובת IP אחת או יותר עבור שרתי // שמות יציבים, סביר להניח שתרצה להשתמש בהם כמעבירים. // בטל את ההערה של החסימה הבאה והוסף את הכתובות המחליפות // את מציין המיקום של all-0. // משלחים {// 0.0.0.0; //}; // ================================================== ====================== $ // אם BIND רושם הודעות שגיאה לגבי פג תוקף מפתח הבסיס, // יהיה עליכם לעדכן את המפתחות. לִרְאוֹת https://www.isc.org/bind-keys
        // ================================================== ======================== $ // אנחנו לא רוצים DNSSEC
        לא מאפשר dnssec;
        // אוטומטי אימות dnssec; auth-nxdomain לא; # להתאים ל- RFC1035 האזנה ב- v6 {any; }; // לבדיקות מ- localhost ו- sysadmin // דרך dig swl.fan axfr // אין לנו DNS Slave ... עד עכשיו
        העברת הרשאה {localhost; 192.168.10.1; };
}; root @ master: ~ # named-checkconf

root @ master: ~ # nano /etc/bind/zones.rfcFreeBSD
// שטח כתובות משותף (RFC 6598)
zone "64.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "65.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "66.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "67.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "68.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "69.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "70.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "71.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "72.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "73.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "74.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "75.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "76.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "77.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "78.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "79.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "80.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "81.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "82.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "83.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "84.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "85.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "86.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "87.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "88.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "89.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "90.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "91.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "92.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "93.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "94.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "95.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "96.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "97.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "98.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "99.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "100.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "101.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "102.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "103.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "104.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "105.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "106.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "107.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "108.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "109.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "110.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "111.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "112.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "113.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "114.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "115.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "116.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "117.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "118.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "119.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "120.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "121.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "122.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "123.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "124.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "125.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "126.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "127.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };

// קישור מקומי / APIPA (RFCs 3927, 5735 ו- 6303)
אזור "254.169.in-addr.arpa" {סוג מאסטר; קובץ "/etc/bind/db.empty"; };

// הקצאות פרוטוקול IETF (RFC 5735 ו- 5736)
אזור "0.0.192.in-addr.arpa" {סוג מאסטר; קובץ "/etc/bind/db.empty"; };

// TEST-NET- [1-3] לתיעוד (RFCs 5735, 5737 ו- 6303)
אזור "2.0.192.in-addr.arpa" {סוג מאסטר; קובץ "/etc/bind/db.empty"; }; אזור "100.51.198.in-addr.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "113.0.203.in-addr.arpa" {master master; קובץ "/etc/bind/db.empty"; };

// טווח דוגמאות IPv6 לתיעוד (RFC 3849 ו- 6303)
אזור "8.bd0.1.0.0.2.ip6.arpa" {סוג מאסטר; קובץ "/etc/bind/db.empty"; };

// שמות דומיינים לתיעוד ובדיקה (BCP 32)
אזור "מבחן" {סוג מאסטר; קובץ "/etc/bind/db.empty"; }; אזור "דוגמה" {master type; קובץ "/etc/bind/db.empty"; }; אזור "לא חוקי" {master master; קובץ "/etc/bind/db.empty"; }; אזור "example.com" {master type; קובץ "/etc/bind/db.empty"; }; אזור "example.net" {סוג מאסטר; קובץ "/etc/bind/db.empty"; }; אזור "example.org" {master type; קובץ "/etc/bind/db.empty"; };

// בדיקת מידוד נתבים (RFCs 2544 ו- 5735)
אזור "18.198.in-addr.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "19.198.in-addr.arpa" {master master; קובץ "/etc/bind/db.empty"; };

// IANA שמורה - Old Class E Space (RFC 5735)
אזור "240.in-addr.arpa" {מאסטר סוג; קובץ "/etc/bind/db.empty"; }; אזור "241.in-addr.arpa" {מאסטר סוג; קובץ "/etc/bind/db.empty"; }; אזור "242.in-addr.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "243.in-addr.arpa" {סוג מאסטר; קובץ "/etc/bind/db.empty"; }; אזור "244.in-addr.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "245.in-addr.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "246.in-addr.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "247.in-addr.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "248.in-addr.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "249.in-addr.arpa" {סוג מאסטר; קובץ "/etc/bind/db.empty"; }; אזור "250.in-addr.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "251.in-addr.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "252.in-addr.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "253.in-addr.arpa" {סוג מאסטר; קובץ "/etc/bind/db.empty"; }; אזור "254.in-addr.arpa" {סוג מאסטר; קובץ "/etc/bind/db.empty"; };

// IPv6 כתובות לא מוקצות (RFC 4291)
אזור "1.ip6.arpa" {סוג מאסטר; קובץ "/etc/bind/db.empty"; }; אזור "3.ip6.arpa" {מאסטר מסוג; קובץ "/etc/bind/db.empty"; }; אזור "4.ip6.arpa" {סוג מאסטר; קובץ "/etc/bind/db.empty"; }; אזור "5.ip6.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "6.ip6.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "7.ip6.arpa" {סוג מאסטר; קובץ "/etc/bind/db.empty"; }; אזור "8.ip6.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "9.ip6.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "a.ip6.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "b.ip6.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "c.ip6.arpa" {מאסטר סוג; קובץ "/etc/bind/db.empty"; }; אזור "d.ip6.arpa" {מאסטר סוג; קובץ "/etc/bind/db.empty"; }; אזור "e.ip6.arpa" {master type; קובץ "/etc/bind/db.empty"; }; אזור "0.f.ip6.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "1.f.ip6.arpa" {master type; קובץ "/etc/bind/db.empty"; }; אזור "2.f.ip6.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "3.f.ip6.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "4.f.ip6.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "5.f.ip6.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "6.f.ip6.arpa" {master type; קובץ "/etc/bind/db.empty"; }; אזור "7.f.ip6.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "8.f.ip6.arpa" {master type; קובץ "/etc/bind/db.empty"; }; אזור "9.f.ip6.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "afip6.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "bfip6.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "0.efip6.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "1.efip6.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "2.efip6.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "3.efip6.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "4.efip6.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "5.efip6.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "6.efip6.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "7.efip6.arpa" {master master; קובץ "/etc/bind/db.empty"; };

// IPv6 ULA (RFCs 4193 ו- 6303)
אזור "cfip6.arpa" {מאסטר סוג; קובץ "/etc/bind/db.empty"; }; אזור "dfip6.arpa" {מאסטר סוג; קובץ "/etc/bind/db.empty"; };

// קישור IPv6 מקומי (RFCs 4291 ו- 6303)
אזור "8.efip6.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "9.efip6.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "aefip6.arpa" {master master; קובץ "/etc/bind/db.empty"; }; אזור "befip6.arpa" {master type; קובץ "/etc/bind/db.empty"; };

// כתובות אתר מקומיות שהוצאו משימוש ב- IPv6 (RFCs 3879 ו- 6303)
אזור "cefip6.arpa" {מאסטר סוג; קובץ "/etc/bind/db.empty"; }; אזור "defip6.arpa" {master type; קובץ "/etc/bind/db.empty"; }; אזור "eefip6.arpa" {מאסטר סוג; קובץ "/etc/bind/db.empty"; }; אזור "fefip6.arpa" {master master; קובץ "/etc/bind/db.empty"; };

// IP6.INT הוצא משימוש (RFC 4159)
אזור "ip6.int" {master master; קובץ "/etc/bind/db.empty"; };

root @ master: ~ # nano /etc/bind/named.conf.local
// // בצע כאן תצורה מקומית // // שקול להוסיף כאן את אזורי 1918, אם הם לא משמשים בארגון שלך // כוללים "/etc/bind/zones.rfc1918";
כוללים "/etc/bind/zones.rfcFreeBSD";

// הצהרת שם, סוג, מיקום והיתר עדכון // של אזורי רשומות ה- DNS // שני האזורים הם אזור MASTER "swl.fan" {master type; קובץ "/var/lib/bind/db.swl.fan"; }; אזור "10.168.192.in-addr.arpa" {סוג מאסטר; קובץ "/var/lib/bind/db.10.168.192.in-addr.arpa"; };

root @ master: ~ # named-checkconf

root @ master: ~ # nano /var/lib/bind/db.swl.fan
$ TTL 3H @ IN SOA master.swl.fan. root.master.swl.fan. (1; 1D סדרתי; רענן 1H; נסה שוב 1W; תפוג 3H); מינימום או; זמן מטמון שלילי לחיות; @ IN NS master.swl.fan. @ IN MX 10 mail.swl.fan. @ IN A 192.168.10.5 @ IN TXT "לחובבי תוכנה חופשית"; sysadmin IN שרת קבצים 192.168.10.1 IN מאסטר 192.168.10.4 IN proxyweb 192.168.10.5 IN בלוג 192.168.10.6 בשרת ftps 192.168.10.7 ב דואר 192.168.10.8 ב 192.168.10.9

root @ master: ~ # nano /var/lib/bind/db.10.168.192.in-addr.arpa
$ TTL 3H @ IN SOA master.swl.fan. root.master.swl.fan. (1; 1D סדרתי; רענן 1H; נסה שוב 1W; תפוג 3H); מינימום או; זמן מטמון שלילי לחיות; @ IN NS master.swl.fan. ; 1 IN PTR sysadmin.swl.fan. 4 IN PTR fileserver.swl.fan. 5 IN PTR master.swl.fan. 6 ב- PTR proxyweb.swl.fan. 7 ב PTR blog.swl.fan. 8 IN PTR ftpserver.swl.fan. 9 ב- PTR mail.swl.fan.

root @ master: ~ # named-checkzone swl.fan /var/lib/bind/db.swl.fan
אזור swl.fan/IN: טעון סדרתי 1 בסדר
root @ master: ~ # named-checkzone 10.168.192.in-addr.arpa /var/lib/bind/db.10.168.192.in-addr.arpa
אזור 10.168.192.in-addr.arpa/IN: טורי סדרתי 1 בסדר

root @ master: ~ # named-checkconf -zp
root @ master: ~ # systemctl הפעל מחדש את bind9.service
root @ master: ~ # systemctl status bind9.service

בדיקות Bind9

root @ master: ~ # dig swl.fan axfr
root @ master: ~ # dig 10.168.192.in-addr.arpa axfr
root @ master: ~ # dig IN SOA swl.fan
root @ master: ~ # dig IN NS swl.fan
root @ master: ~ # dig IN MX swl.fan
root @ master: ~ # proxyweb host root @ master: ~ # nping --tcp -p 53 -c 3 localhost
root @ master: ~ # nping --udp -p 53 -c 3 localhost
root @ master: ~ # nping --tcp -p 53 -c 3 master.swl.fan
root @ master: ~ # nping --udp -p 53 -c 3 master.swl.fan
החל מ Nping 0.6.47 ( http://nmap.org/nping ) ב 2017-05-27 09:32 EDT SENT (0.0037 שניות) UDP 192.168.10.5:53> 192.168.10.245:53 ttl = 64 id = 20743 iplen = 28 נשלח (1.0044 שניות) UDP 192.168.10.5:53> 192.168.10.245 .53: 64 ttl = 20743 id = 28 iplen = 2.0060 SENT (192.168.10.5 s) UDP 53:192.168.10.245> 53:64 ttl = 20743 id = 28 iplen = 3 מקסימום rtt: N / A | מינימום רט: לא רלוונטי | ממוצע rtt: N / A מנות גלם שנשלחו: 84 (0B) | Rcvd: 0 (3B) | אבד: 100.00 (1%) הצפייה הסתיימה: כתובת IP אחת הועברה תוך 3.01 שניות 

שרת isc-dhcp

root @ master: ~ # aptitude התקן שרת isc-dhcp
root @ master: ~ # nano / etc / default / isc-dhcp-server
# באילו ממשקים על שרת DHCP (dhcpd) לשרת בקשות DHCP? # הפרד ממשקים מרובים עם רווחים, למשל "eth0 eth1".
ממשקים = ​​"eth0"

root @ master: ~ # dnssec-keygen -a HMAC-MD5 -b 128 -r / dev / urandom -n משתמש dhcp-key
root @ master: ~ # חתול Kdhcp-key. +157 + 51777. פרטי 
פורמט מפתח פרטי: v1.3 אלגוריתם: 157 (HMAC_MD5) מפתח: Ba9GVadq4vOCixjPN94dCQ == ביטים: AAA = נוצר: 20170527133656 פרסם: 20170527133656 הפעל: 20170527133656

root @ master: ~ # nano dhcp.key
מפתח dhcp-key {
        אלגוריתם hmac-md5;
        סוד "Ba9GVadq4vOCixjPN94dCQ == ";
}; root @ master: ~ # install -o root -g bind -m 0640 dhcp.key /etc/bind/dhcp.key root @ master: ~ # install -o root -g root -m 0640 dhcp.key / etc / dhcp / dhcp.key root @ master: ~ # nano /etc/bind/named.conf.local
כוללים "/etc/bind/dhcp.key";

אזור "swl.fan" {master type; קובץ "/var/lib/bind/db.swl.fan";
        allow-update {key dhcp-key; };
}; אזור "10.168.192.in-addr.arpa" {סוג מאסטר; קובץ "/var/lib/bind/db.10.168.192.in-addr.arpa";
        allow-update {key dhcp-key; };
};

root @ master: ~ # named-checkconf

root @ master: ~ # mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.original
root @ master: ~ # nano /etc/dhcp/dhcpd.conf
ביניים בסגנון ddns-update; ddns-updates על; ddns-domainname "swl.fan."; ddns-rev-domainname "in-addr.arpa."; התעלם מעדכוני לקוח; עדכון אופטימיזציה כוזב; # עשוי להידרש על סמכות דביאן; אפשרות העברת ip כבויה; שם תחום אפשרות "swl.fan"; כוללים "/etc/dhcp/dhcp.key"; אזור swl.fan. {ראשית 127.0.0.1; מקש dhcp-key; } אזור 10.168.192.in-addr.arpa. {ראשית 127.0.0.1; מקש dhcp-key; } מיקוד מחדש של רשת משותפת {subnet 192.168.10.0 netmask 255.255.255.0 {routers option 192.168.10.1; מסכת רשת משנה אופציה 255.255.255.0; אפשרות שידור אפשרות 192.168.10.255; שרתי שמות מתחם אופציה 192.168.10.5; אפשרות שרתים נטביוס אפשרות 192.168.10.5; אפשרות שרתי ntp 192.168.10.5; שרתי זמן אופציה 192.168.10.5; טווח 192.168.10.30 192.168.10.250; }}

root @ master: ~ # dhcpd -t
קונסורציום מערכות אינטרנט באינטרנט שרת DHCP 4.3.1 זכויות יוצרים 2004-2014 קונסורציום מערכות אינטרנט. כל הזכויות שמורות. למידע אנא בקרו https://www.isc.org/software/dhcp/
קובץ תצורה: /etc/dhcp/dhcpd.conf קובץ מסד נתונים: /var/lib/dhcp/dhcpd. משכיר קובץ PID: /var/run/dhcpd.pid

root @ master: ~ # systemctl הפעל מחדש את bind9.service 
root @ master: ~ # systemctl status bind9.service 

root @ master: ~ # systemctl התחל isc-dhcp-server.service
root @ master: ~ # systemctl status isc-dhcp-server.service

ntp

root @ master: ~ # aptitude להתקין ntp ntpdate
root @ master: ~ # cp /etc/ntp.conf /etc/ntp.conf.original
root @ master: ~ # nano /etc/ntp.conf
driftfile /var/lib/ntp/ntp.drift סטטיסטיקה loopstats peerstats שעוני נתונים filegen loopstats קובץ loopstats סוג יום אפשר filegen peerstats קובץ peerstats סוג יום אפשר filegen שעון נתונים קובץ שעון סוג יום מאפשר שרת 192.168.10.1 הגבל -4 ברירת מחדל קוד notrap nomodify noopeer noquery להגביל -6 ברירת מחדל קוד notrap nomodify noopery noquery להגביל 127.0.0.1 להגביל :: 1 שידור 192.168.10.255

root @ master: ~ # systemctl הפעל מחדש את ntp.service 
root @ master: ~ # systemctl status ntp.service
root @ master: ~ # ntpdate -u sysadmin.swl.fan
27 במאי 10:04:01 ntpdate [18769]: התאמת שרת הזמן 192.168.10.1 קיזוז 0.369354 שניות

בדיקות גלובליות לגבי שרת ntp, bind9 ו- isc-dhcp

מלקוח לינוקס, BSD, Mac OS או Windows בדוק שהזמן מסונכרן כהלכה. שהיא רוכשת כתובת IP דינמית ושמו של אותו מארח נפתר באמצעות שאילתות DNS ישירות והפוכות. שנה את שם הלקוח ובצע מחדש את כל הצ'קים. אל תמשיך עד שתהיה בטוח שהשירותים שהותקנו עד כה פועלים כהלכה. בשביל משהו כתבנו את כל המאמרים על DNS ו- DHCP רשתות מחשבים עבור חברות קטנות ובינוניות.

התקנת שרת NIS

root @ master: ~ # aptitude show nis
מתנגש עם: netstd (<= 1.26) תיאור: לקוחות ודמונים עבור שירות המידע ברשת (ש"ח) חבילה זו מספקת כלים להקמה ותחזוקה של דומיין ש"ח. NIS, המכונה במקור דפי זהב (YP), משמש בעיקר בכדי לאפשר למספר מכונות ברשת לחלוק את אותו חשבון חשבון, כמו למשל קובץ הסיסמה.

root @ master: ~ # aptitude להתקין nis
תצורת אריזה ───────────┐ │ בחרו "שם התחום" של NIS עבור מערכת זו. אם אתה רוצה ש- │ │ מכונה זו תהיה רק ​​לקוח, עליך להזין את שם הדומיין │ │ NIS שאליו ברצונך להצטרף. │ │ │ │ לחלופין, אם מכונה זו אמורה להיות שרת NIS, תוכל │ │ להזין "שם דומיין" חדש של NIS או שם של דומיין קיים NIS NIS existing. Domain │ │ │ תחום NIS: │ │ │ │ swl.fan __________________________________________________________________________ │ │ │ │ │ │ │ └─ └ ─ ─ ─ ─ ─ ─ ─ ─────────────────────────────┘  

זה יעכב את שלך מכיוון שתצורת השירות אינה קיימת ככזו. אנא המתן לסיום התהליך.

root @ master: ~ # nano / etc / default / nis
# האם אנחנו שרת ש"ח ואם כן איזה סוג (ערכים: שקר, עבד, אדון)?
NISSERVER = מאסטר

root @ master: ~ # nano /etc/ypserv.securenets # securenets קובץ זה מגדיר את זכויות הגישה לשרת NIS שלך עבור לקוחות NIS (ושרתי עבדים - ypxfrd משתמש גם בקובץ # זה). קובץ זה מכיל זוגות מסיכה / רשת. # כתובת ה- IP של הלקוחות צריכה להתאים לפחות למספר אחד מאלה. # # אפשר להשתמש במילה "מארח" במקום מסיכת רשת של # 255.255.255.255. רק כתובות IP מורשות בקובץ # זה, ולא שמות מארחים. # # אפשר תמיד גישה עבור localhost 255.0.0.0 127.0.0.0 # שורה זו מעניקה גישה לכולם. אנא התאם! # 0.0.0.0 0.0.0.0
255.255.255.0 192.168.10.0

root @ master: ~ # nano / var / yp / Makefile # האם עלינו למזג את קובץ passwd עם קובץ הצל? # MERGE_PASSWD = נכון | שקר
MERGE_PASSWD = נכון

# האם עלינו למזג את קובץ הקבוצה עם קובץ gshadow? # MERGE_GROUP = נכון | שקר
MERGE_GROUP = נכון

אנו בונים את מסד הנתונים של NIS

root @ master: ~ # / usr / lib / yp / ypinit -m
בשלב זה עלינו לבנות רשימה של המארחים אשר יפעילו שרתי NIS. master.swl.fan מופיע ברשימת מארחי השרתים של NIS. אנא המשך להוסיף את השמות עבור שאר המארחים, אחד בכל שורה. כשתסיים עם הרשימה, הקלד א . המארח הבא להוסיף: master.swl.fan המארח הבא להוסיף: הרשימה הנוכחית של שרתי NIS נראית כך: master.swl.fan האם זה נכון? [y / n: y] אנחנו זקוקים למספר דקות כדי לבנות את מסדי הנתונים ... להכין [1]: השארת הספרייה '/var/yp/swl.fan' master.swl.fan הוגדרה כשרת ראשי של NIS . עכשיו אתה יכול להפעיל את ypinit -s master.swl.fan בכל שרת העבדים.

root @ master: ~ # systemctl הפעל מחדש את nis
root @ master: ~ # systemctl status nis

אנו מוסיפים משתמשים מקומיים

root @ master: ~ # adduser bilbo
הוספת המשתמש 'בילבו' ... הוספת הקבוצה החדשה 'בילבו' (1001) ... הוספת המשתמש החדש 'בילבו' (1001) עם הקבוצה 'בילבו' ... יצירת הספרייה הביתית '/ בית / בילבו' ... העתקת הקבצים מ- '/ etc / skel' ... הזן את סיסמת UNIX החדשה: הקלד מחדש את סיסמת UNIX החדשה: passwd: הסיסמה עודכנה כהלכה שינוי פרטי המשתמש עבור bilbo הזן את הערך החדש, או הקש ENTER כדי להשתמש ב ברירת מחדל שם מלא []: בילבו באגינס מספר חדר []: טלפון לעבודה []: טלפון ביתי []: אחר []: האם המידע נכון? [Y / n]

root @ master: ~ # adduser strides root @ master: ~ # adduser legolas

וכן הלאה.

root @ master: ~ # אצבעות לגולה
כניסה: legolas שם: Legolas Archer Directory: / home / legolas מעטפת: / bin / bash מעולם לא התחבר. אין דואר. אין תוכנית.

אנו מעדכנים את מאגר הנתונים של NIS

root @ master: / var / yp # make
make [1]: נכנסת לספרייה '/var/yp/swl.fan' מעדכן passwd.byname ... מעדכן passwd.byuid ... מעדכן group.byname ... מעדכן group.bygid ... מעדכן netid.byname. .. מעדכן shadow.byname ... התעלם -> מוזג עם make passwd [1]: עוזב את הספרייה '/var/yp/swl.fan'

אנו מוסיפים אפשרויות ש"ח לשרת isc-dhcp

root @ master: ~ # nano /etc/dhcp/dhcpd.conf
ביניים בסגנון ddns-update; ddns-updates על; ddns-domainname "swl.fan."; ddns-rev-domainname "in-addr.arpa."; התעלם מעדכוני לקוח; עדכון אופטימיזציה כוזב; מוּסמָך; אפשרות העברת ip כבויה; שם תחום אפשרות "swl.fan"; כוללים "/etc/dhcp/dhcp.key"; אזור swl.fan. {127.0.0.1 ראשוני; מקש dhcp-key; } אזור 10.168.192.in-addr.arpa. {127.0.0.1 ראשוני; מקש dhcp-key; } מיקוד מחדש של רשת משותפת {subnet 192.168.10.0 netmask 255.255.255.0 {routers option 192.168.10.1; מסכת רשת משנה אופציה 255.255.255.0; אפשרות שידור אפשרות 192.168.10.255; שרתי שמות מתחם אופציה 192.168.10.5; אפשרות שרתים נטביוס אפשרות 192.168.10.5; אפשרות שרתי ntp 192.168.10.5; שרתי זמן אופציה 192.168.10.5;
                אפשרות nis-domain "swl.fan";
                אפשרות nis-servers 192.168.10.5;
                טווח 192.168.10.30 192.168.10.250; }}

root @ master: ~ # dhcpd -t
root @ master: ~ # systemctl הפעל מחדש את isc-dhcp-server.service

התקנת לקוח של NIS

  • אנו מתחילים מהתקנה נקייה - ללא ממשק גרפי - של Debian 8 "ג'סי".
root @ mail: ~ # host host -f
mail.swl.fan

root @ mail: ~ # ip addr
2: eth0: mtu 1500 qdisc pfifo_fast מצב UP ברירת מחדל קבוצת qlen 1000 קישור / אתר 00: 0c: 29: 25: 1f: 54 brd ff: ff: ff: ff: ff: ff
    inet 192.168.10.9/24 brd 192.168.10.255 היקף eth0 גלובלי

root @ mail: ~ # יכולת להתקין
root @ mail: ~ # nano /etc/yp.conf # # yp.conf קובץ תצורה לתהליך ypbind. תוכלו להגדיר כאן # שרתי NIS באופן ידני אם לא ניתן למצוא אותם על ידי שידור # ברשת המקומית (שהיא ברירת המחדל). # # ראה את התחביר של קובץ זה בעמוד הידני של ypbind. # # חשוב: עבור ה- "ypserver", השתמש בכתובות IP, או וודא ש- # המארח נמצא ב- / etc / hosts. קובץ זה מתפרש # פעם אחת בלבד, ואם עדיין לא ניתן להגיע ל- DNS, לא ניתן לפתור את שרת ה- yps ו- ypbind לעולם לא ייקשר לשרת. # ypserver ypserver.network.com ypserver master.swl.fan תחום swl.fan

root @ mail: ~ # nano /etc/nsswitch.conf
# /etc/nsswitch.conf # # תצורה לדוגמא של פונקציונליות מתג שירות השירות של GNU. # אם התקנתם חבילות 'glibc-doc-reference' ו- 'info', נסו: # `info libc" שם שירות מתג "לקבלת מידע אודות קובץ זה. passwd: compat nis קבוצה: compat nis צל: compat nis gshadow: קבצי מארח: קבצים dns nis רשתות: קבצי פרוטוקולים: שירותי קבצי db: קבצי db אתרים: קבצי db rpc: קבצי db netgroup: nis

root @ mail: ~ # nano /etc/pam.d/common-session
# pam-auth-update (8) לפרטים.
הפעלה אופציונלית pam_mkhomedir.so skel = / etc / skel umask = 077
# הנה המודולים לכל חבילה (הבלוק "ראשי")

root @ mail: ~ # systemctl status nis
root @ mail: ~ # systemctl הפעל מחדש את nis

אנו סוגרים את ההפעלה ומתחילים אותה שוב אך עם משתמש שרשום במסד הנתונים ב- NIS בכתובת מאסטר.swl.fan.

root @ mail: ~ # יציאה
התנתק החיבור לדואר נסגר.

buzz @ sysadmin: ~ $ ssh legolas @ mail
סיסמת legolas @ mail: יצירת ספריה '/ home / legolas'. התוכניות הכלולות במערכת GNU / Linux של דביאן הן תוכנה חופשית; תנאי ההפצה המדויקים עבור כל תוכנית מתוארים בקבצים הבודדים ב- / usr / share / doc / * / copyright. דביאן GNU / Linux מגיע עם אחריות מוחלטת, ככל שמותר בחוק החל.
לגולה @ דואר: ~ $ pwd
/ בית / לגולה
לגולה @ דואר: ~ $ 

אנו משנים את הסיסמה של המשתמש legolas ובודקים

legolas @ mail: ~ $ yppasswd 
שינוי פרטי חשבון NIS עבור לגולאס באתר master.swl.fan. אנא הזן סיסמה ישנה: legolas שינוי סיסמת NIS עבור legolas ב- master.swl.fan. אנא הזן סיסמה חדשה: archer הסיסמה חייבת להכיל אותיות קטנות וקטנות, או שאינן אותיות. אנא הזן סיסמה חדשה: Arquero2017 אנא הקלד סיסמה חדשה: Arquero2017 סיסמת ה- NIS שונתה ב- master.swl.fan.

legolas @ mail: יציאה ~ $
התנתק החיבור לדואר נסגר.

buzz @ sysadmin: ~ $ ssh legolas @ mail
סיסמת legolas @ mail: Arquero2017

התוכניות הכלולות במערכת GNU / Linux של דביאן הן תוכנה חופשית; תנאי ההפצה המדויקים עבור כל תוכנית מתוארים בקבצים הבודדים ב- / usr / share / doc / * / copyright. דביאן GNU / Linux מגיע עם אחריות מוחלטת, ככל שמותר בחוק החל. כניסה אחרונה: יום שבת 27 במאי 12:51:50 2017 מאת sysadmin.swl.fan
לגולה @ דואר: ~ $

שירות ה- NIS המיושם ברמת השרת והלקוח פועל כהלכה.

LDAP

מתוך ויקיפדיה:

  • LDAP הוא ראשי התיבות של פרוטוקול גישה קלה לספריות (בספרדית קל משקל / פרוטוקול גישה לספריות פשוטות) המתייחס לפרוטוקול ברמת היישום המאפשר גישה לשירות ספריות מסודר ומופץ כדי לחפש מידע שונה ברשת סביבה. LDAP נחשב גם למסד נתונים (אם כי מערכת האחסון שלו עשויה להיות שונה) שניתן לשאול.ספריה היא קבוצה של אובייקטים עם תכונות המאורגנות בצורה הגיונית והיררכית. הדוגמה הנפוצה ביותר היא מדריך הטלפונים, המורכב מסדרת שמות (אנשים או ארגונים) המסודרים באלף-בית, כאשר לכל שם מצורפת כתובת ומספר טלפון. כדי להבין את זה טוב יותר, מדובר בספר או בתיקייה, בהם נכתבים שמות של אנשים, מספרי טלפון וכתובות, והם מסודרים בסדר אלפביתי.

    עץ מדריך LDAP משקף לפעמים גבולות פוליטיים, גיאוגרפיים או ארגוניים שונים, בהתאם למודל שנבחר. פריסות LDAP נוכחיות נוטות להשתמש בשמות Domain Name System (DNS) כדי לבנות את הרמות הגבוהות יותר של ההיררכיה. כאשר אתה גולל בספרייה, עשויים להופיע ערכים המייצגים אנשים, יחידות ארגוניות, מדפסות, מסמכים, קבוצות אנשים או כל דבר שמייצג ערך נתון בעץ (או מספר ערכים).

    בדרך כלל, הוא שומר את פרטי האימות (שם משתמש וסיסמה) ומשמש לאימות, אם כי ניתן לאחסן מידע אחר (נתוני קשר של משתמשים, מיקום משאבי רשת שונים, הרשאות, אישורים וכו '). לסיכום, LDAP הוא פרוטוקול גישה מאוחד למערכת מידע ברשת.

    הגרסה הנוכחית היא LDAPv3, והיא מוגדרת ב- RFCs RFC 2251 ו- RFC 2256 (מסמך בסיס LDAP), RFC 2829 (שיטת אימות ל- LDAP), RFC 2830 (סיומת ל- TLS) ו- RFC 3377 (מפרט טכני)

    .

במשך זמן רב, פרוטוקול LDAP - ומאגרי המידע שלו תואמים או לא OpenLDAP - הוא הנפוץ ביותר ברוב מערכות האימות כיום. כדוגמה להצהרה הקודמת, אנו מביאים להלן כמה שמות של מערכות - Free או Private - המשתמשות במאגרי LDAP כ- backend לאחסון כל אובייקטים:

  • OpenLDAP
  • שרת ספריית אפאצ'י
  • שרת הספריות של רד האט - 389 DS
  • שירותי מדריך נובל - eDirectory
  • SUN Microsystems Open DS
  • מנהל זהות רד האט
  • FreeIPA
  • בקר התחום הקלאסי של סמבה NT4.
    אנו רוצים להבהיר כי מערכת זו הייתה פיתוח של צוות סמבה עם סמבה 3.xxx + OpenLDAP כ Backend. מיקרוסופט מעולם לא יישמה דבר כזה. קפץ מבקרי תחום NT 4 לספריות הפעילות שלהם
  • Samba 4 Active Directory - בקרת תחומים
  • נקה מערכת הפעלה
  • זנטיאל
  • UCS Uninvention Server Server
  • מדריך Active Directory של מיקרוסופט

לכל יישום יש מאפיינים משלו, והסטנדרטי והתואם ביותר הוא OpenLDAP.

Active Directory, אם זה המקור ממיקרוסופט או זה מסמבה 4, מהווה איחוד של כמה מרכיבים עיקריים שהם:

אסור לנו לבלבל א שירות מדריכים o שירות מדריך עם של Active Directory o Active Directory. הראשונים עשויים לארח או לא לאמת Kerberos, אך הם אינם מציעים את שירות הרשת של מיקרוסופט שמספק דומיין של Windows, ואין להם בקר תחום של Windows ככזה.

ניתן להשתמש בשירות מדריכים או בשירות מדריכים לאימות משתמשים ברשת מעורבת עם לקוחות UNIX / Linux ו- Windows. עבור האחרון, יש להתקין תוכנית על כל לקוח המשמש כמתווך בין שירות הספריות לבין לקוח Windows עצמו, כגון תוכנה חופשית. עמוד.

שירות מדריכים עם OpenLDAP

  • אנו מתחילים מהתקנה נקייה - ללא ממשק גרפי - של Debian 8 "ג'סי", עם אותו שם מכונה "מאסטר" המשמש להתקנת ה- NIS, כמו גם תצורת ממשק הרשת שלו וקובץ /etc/resolv.conf. לשרת חדש זה אנו מתקינים את ה- ntp, bind9 ו- isc-dhcp-server, מבלי לשכוח את הבדיקות הגלובליות של הפעולה הנכונה של שלושת השירותים הקודמים.
root @ master: ~ # aptitude התקן slapd ldap-utils

תצורת החבילה

┌─────────────────────┤ תצורה סלאפית ├──────────────────────┐ │ הזינו את הסיסמה להזנת מנהל המערכת בספריית LDAP │ │ שלכם. │ │ │ password סיסמת מנהל מערכת: │ │ │ │ ******** _________________________________________________________________ │ │ │ │ │ │ │ └─ └ ─ ─ ─ ─ ─ ─ ─ ─────────────────────┘

אנו בודקים את התצורה הראשונית

root @ master: ~ # slapcat
dn: dc = swl, dc = מאוורר
objectClass: top objectClass: dcObject objectClass: ארגון o: swl.fan dc: swl structureObjectClass: כניסה לארגון UUID: c8510708-da8e-1036-8fe1-71d022a16904 יוצרים שם: cn = admin, dc = swl, dc = כניסת אוהדים createTimestamp20170531205219N: 20170531205219.833955 Z # 000000 # 000 # 000000 שינויים שם: cn = admin, dc = swl, dc = modifier modestempest: 20170531205219Z

dn: cn = admin, dc = swl, dc = מאוורר
objectClass: simpleSecurityObject objectClass: organizationalRole cn: תיאור מנהל: מנהל LDAP userPassword :: e1NTSEF9emJNSFU1R3l2OWVEN0pmTmlYOVhKSUF4ekY1bU9YQXc = structuralObjectClass: organizationalRole entryUUID: c851178e- da8fe1036e entrySw8d-da2fe71 entrySw022c16904e-da20170531205219fe20170531205219.834422e-000000 entrySw000e-da000000fe20170531205219e = entrySXNUMX entrySwXNUMXe-daXNUMXfeXNUMXeXNUMXpmTmlYOVhKSUXNUMX entrySXNUMXe-XNUMXe כניסה = cXNUMXe XNUMX Z # XNUMX # XNUMX # XNUMX שינויים שם: cn = admin, dc = swl, dc = modifier modestempest: XNUMXZ

אנו משנים את הקובץ /etc/ldap/ldap.conf

root @ master: ~ # nano /etc/ldap/ldap.conf
BASE dc = swl, dc = URI מאוורר    ldap: // localhost

יחידות ארגוניות וקבוצות כלליות «משתמשים»

אנו מוסיפים את היחידות הארגוניות המינימליות הדרושות, כמו גם את קבוצת "Posix" של קבוצת Posix אליה נהפוך את כל המשתמשים לחברים, לפי הדוגמה של מערכות רבות שיש להן את הקבוצה «משתמשים«. אנו מכנים אותו בשם "משתמשים" כדי לא להיכנס לעימותים אפשריים עם הקבוצה «המשתמש" של המערכת.

root @ master: ~ # nano base.ldif
dn: ou = אנשים, dc = swl, dc = אובייקט אוהד קלאס: organisationalUnit ou: אנשים dn: ou = קבוצות, dc = swl, dc = אובייקט אוהד Class: organisational יחידת ou: קבוצות dn: cn = משתמשים, ou = קבוצות, dc = swl, dc = אובייקט מאוורר Class: posix קבוצה cn: משתמשים gid מספר: 10000

root @ master: ~ # ldapadd -x -D cn = admin, dc = swl, dc = fan -W -f base.ldif
הזן סיסמת LDAP: הוספת ערך חדש "ou = אנשים, dc = swl, dc = מאוורר" הוספת ערך חדש "ou = קבוצות, dc = swl, dc = מאוורר"

אנו בודקים את הערכים שנוספו

root @ master: ~ # ldapsearch -x ou = אנשים
# אנשים, swl.fan dn: ou = אנשים, dc = swl, dc = אובייקט אוהד קלאס: ארגוני יוני או: אנשים

root @ master: ~ # ldapsearch -x ou = קבוצות
# קבוצות, swl.fan dn: ou = קבוצות, dc = swl, dc = אובייקט אוהד קלאס: ארגוני יחיד או: קבוצות

root @ master: ~ # ldapsearch -x cn = משתמשים
# משתמשים, קבוצות, swl.fan dn: cn = משתמשים, ou = קבוצות, dc = swl, dc = אובייקט מאוורר קלאס: posix קבוצה cn: משתמשים gid מספר: 10000

אנו מוסיפים מספר משתמשים

את הסיסמה שעלינו להכריז ב- LDAP יש להשיג באמצעות הפקודה slappasswd, המחזיר סיסמה מוצפנת SSHA.

סיסמה לצעדי המשתמש:

root @ master: ~ # slappasswd 
סיסמה חדשה: הזן סיסמה חדשה: 
{SSHA}Fn8Juihsr137u8KnxGTNPmnV8ai//0lp

סיסמה לגולולות המשתמש

root @ master: ~ # slappasswd 
סיסמה חדשה: הזן סיסמה חדשה: 
{SSHA}rC50/W3kBmmDd+8+0Lz70vkGEu34tXmD

סיסמא לגנדלף המשתמש

root @ master: ~ # slappasswd 
סיסמה חדשה: הזן סיסמה חדשה: 
{SSHA} oIVFelqv8WIxJ40r12lnh3bp + SXGbV + u

root @ master: ~ # nano users.ldif
dn: uid = צעדים, ou = אנשים, dc = swl, dc = אובייקט אוהד קלאס: inetOrg אובייקט אישי קלאס: posix חשבון אובייקט קלאס: צל חשבון uid: צעדים cn: צעדים נתון שם: צעדים sn: אל ריי משתמש סיסמה: {SSHA}Fn8Juihsr137u8KnxGTNPmnV8ai//0lp
uidNumber: 10000 gidNumber: 10000 דואר: striders@swl.fan
gecos: Strider El Rey login מעטפת: / bin / bash home ספריה: / home / strider dn: uid = legolas, ou = people, dc = swl, dc = object fan קלאס: inetOrg אובייקט אישי Class: posix אובייקט חשבון Class: shadow חשבון uid: legolas cn: legolas givenName : לגולאס sn: משתמש ארצ'ר סיסמא: {SSHA}rC50/W3kBmmDd+8+0Lz70vkGEu34tXmD
uidNumber: 10001 gidNumber: 10000 דואר: legolas@swl.fan
gecos: כניסה של Legolas Archer מעטפה: / bin / bash home ספריה: / home / legolas dn: uid = gandalf, ou = people, dc = swl, dc = object fan קלאס: inetOrg אובייקט אישי Class: posix אובייקט חשבון Class: shadow חשבון uid: gandalf cn: gandalf נתון שם: Gandalf sn: משתמש הקוסם סיסמא: {SSHA} oIVFelqv8WIxJ40r12lnh3bp + SXGbV + u
uidNumber: 10002 gidNumber: 10000 דואר: gandalf@swl.fan
gecos: כניסה של Gandalf The Wizard מעטפת: / bin / bash home ספריה: / home / gandalf

root @ master: ~ # ldapadd -x -D cn = admin, dc = swl, dc = fan -W -f users.ldif
הזן סיסמת LDAP: הוספת ערך חדש "uid = צעדים, ou = אנשים, dc = swl, dc = מאוורר" הוספת ערך חדש "uid = legolas, ou = אנשים, dc = swl, dc = מאוורר" הוספת ערך חדש "uid = גנדלף, ou = אנשים, dc = swl, dc = אוהד "

אנו בודקים את הערכים שנוספו

root @ master: ~ # ldapsearch -x cn = צעדים
root @ master: ~ # ldapsearch -x uid = צעדים

אנו מנהלים את מסד הנתונים slpad עם כלי עזר לקונסולות

אנו בוחרים את החבילה כתבי יד למשימה כזו. הליך ההתקנה והתצורה הוא כדלקמן:

root @ master: ~ # aptitude להתקין ldapscripts
 
root @ master: ~ # mv /etc/ldapscripts/ldapscripts.conf \
/etc/ldapscripts/ldapscripts.conf.original
 
root @ master: ~ # nano /etc/ldapscripts/ldapscripts.conf
SERVER = localhost BINDDN = 'cn = admin, dc = swl, dc = fan' BINDPWDFILE = "/ etc / ldapscripts / ldapscripts.passwd" SUFFIX = 'dc = swl, dc = fan' GSUFFIX = 'ou = קבוצות' USUFFIX = 'ou = people' # MSUFFIX = 'ou = מחשבים' GIDSTART = 10001 UIDSTART = 10003 # MIDSTART = 10000 # פקודות לקוח של OpenLDAP LDAPSEARCHBIN = "/ usr / bin / ldapsearch" LDAPADDBIN = "/ usr / bin / ldapadd" LDAPDELETEBIN = " / usr / bin / ldapdelete "LDAPMODIFYBIN =" / usr / bin / ldapmodify "LDAPMODRDNBIN =" / usr / bin / ldapmodrdn "LDAPPASSWDBIN =" / usr / bin / ldappasswd "GCLASS =" posixGroup "# UTEMPLATE = וכו '/ UTEMPLATE = /ldapadduser.template "PASSWORDGEN =" הד% u "

שימו לב שהתסריטים משתמשים בפקודות החבילה ldap- כלים. לָרוּץ dpkg -L ldap-utils | grep / bin לדעת מה הם.

root @ master: ~ # sh -c "echo -n 'admin-password'> \
/etc/ldapscripts/ldapscripts.passwd "
 
root @ master: ~ # chmod 400 /etc/ldapscripts/ldapscripts.passwd
 
root @ master: ~ # cp /usr/share/doc/ldapscripts/examples/ldapadduser.template.sample \
/etc/ldapscripts/ldapdduser.template
 
root @ master: ~ # nano /etc/ldapscripts/ldapadduser.template
dn: uid = , , objectClass: inetOrg אובייקט אישי Class: posixAccount objectClass: shadowAid uid: cn: שם פרטי: sn: הצג שם: uidNumber: gid מספר: 10000 בית ספרייה: loginShell: דוֹאַר: @ swl.fan שממיות: תיאור: חשבון משתמש
 
root @ master: ~ # nano /etc/ldapscripts/ldapscripts.conf
## אנו מסירים את ההערה UTEMPLATE = "/ etc / ldapscripts / ldapadduser.template"

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

root @ master: ~ # ldapadduser משתמשי בילבו
[dn: uid = bilbo, ou = people, dc = swl, dc = fan] הזן ערך עבור "givenName": בילבו [dn: uid = bilbo, ou = אנשים, dc = swl, dc = מאוורר] הזן ערך עבור " sn ": Bagins [dn: uid = bilbo, ou = people, dc = swl, dc = fan] הזן ערך עבור" displayName ": בילבו Bagins נוספה בהצלחה bilbo ל- LDAP הגדר סיסמה עבור משתמש bilbo בהצלחה

root @ master: ~ # ldapsearch -x uid = bilbo
# bilbo, people, swl.fan dn: uid = bilbo, ou = people, dc = swl, dc = fan fanClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: bilbo cn: bilbo givenName: Bilbo sn: Bagins displayName: Bilbo Bagins uidNumber: 10003 gidNumber: 10000 home ספריה: / כניסה לבית / בילבו מעטפה: / bin / mail דואר: bilbo@swl.fan
gecos: תיאור בילבו: חשבון משתמש

כדי לראות את חשיפת הסיסמה של משתמש הבילבו, יש צורך לבצע את השאילתה באימות:

root @ master: ~ # ldapsearch -x -D cn = admin, dc = swl, dc = fan - W uid = bilbo

כדי למחוק את המשתמש בילבו אנו מבצעים:

root @ master: ~ # ldapdelete -x -D cn = admin, dc = swl, dc = fan -W uid = bilbo, ou = people, dc = swl, dc = fan
הזן סיסמת LDAP:

root @ master: ~ # ldapsearch -x uid = bilbo

אנו מנהלים את מסד הנתונים slapd דרך ממשק אינטרנט

יש לנו שירות מדריכים פונקציונלי, ואנחנו רוצים לנהל אותו ביתר קלות. ישנן תוכניות רבות המיועדות למשימה זו, כגון phpldapadmin, ldap-account-managerוכו ', אשר זמינים ישירות מהמאגרים. אנו יכולים גם לנהל שירות מדריכים באמצעות סטודיו Apache Directory, שעלינו להוריד מהאינטרנט.

למידע נוסף אנא בקרו https://blog.desdelinux.net/ldap-introduccion/, ו -6 המאמרים הבאים.

לקוח LDAP

שלב:

תגיד שיש לנו את הצוות mail.swl.fan כשרת דואר המיושם כפי שראינו במאמר Postfix + Dovecot + Squirrelmail ומשתמשים מקומיים, שאף כי פותחה ב- CentOS, עשויה לשמש מדריך עבור דביאן והפצות לינוקס רבות אחרות. אנו רוצים שבנוסף למשתמשים המקומיים שכבר הכרזנו, המשתמשים המאוחסנים במסד הנתונים OpenLDAP הקיים ב מאסטר.swl.fan. כדי להשיג את האמור לעיל עלינו «למפות»למשתמשי LDAP כמשתמשים מקומיים בשרת mail.swl.fan. פתרון זה תקף גם לכל שירות המבוסס על אימות PAM. ההליך הכללי עבור דביאן, להלן:

root @ mail: ~ # aptitude להתקין libnss-ldap libpam-ldap ldap-utils

  ┌──────────────────────┤ תצורה של libnss-ldap ├─────────────────────┐ │ הזן את ה- URI (“מזהה משאבים אחיד”, או │ Ident מזהה משאבים אחיד) של שרת ה- LDAP. מחרוזת זו דומה ל- │ │ «ldap: //: / ». אתה יכול גם להשתמש ב- «ldaps: // » או "ldapi: //". מספר היציאה הוא אופציונלי. │ │ │ │ מומלץ להשתמש בכתובת IP כדי להימנע מכשל כאשר שירותי שמות מתחם אינם זמינים. │ │ │ │ URI של שרת LDAP: │ │ │ │ ldap: //master.swl.fan__________________________________________________________ │ │ │ │ │ │ │ └─ └ ─ ─ ─ ─ ─ ─ ─ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - תצורה של libnss-ldap ├───────────────────────┐ │ הזן את השם המכובד (DN) של בסיס החיפוש LDAP. אתרים רבים משתמשים ברכיבי שם הדומיין למטרה זו. לדוגמא, התחום "example.net" ישתמש ב- │ │ "dc = example, dc = net" כשמו המובהק של בסיס החיפוש. │ │ │ │ השם המכובד (DN) של בסיס החיפוש: │ │ │ │ dc = swl, dc = מאוורר ________________________________________________________________ │ │ │ │ │ │ │ └─ └ ─ ─ ─ ─ ─ ─ ─ ─ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ──┤ תצורה של libnss-ldap ├───────────────────────┐ │ הזן את הגרסה של פרוטוקול LDAP שעליו להשתמש ב- ldapns. מומלץ │ │ להשתמש במספר הגרסה הגבוה ביותר שיש. │ │ │ │ גרסת LDAP לשימוש: │ │ │ │                                     3                                     │ │ 2 │ │ │ │ │ │ │ │ │ └─ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ - ─ ─ ┌ ──┤ תצורה של libnss-ldap ├───────────────────────┐ בחר איזה חשבון ישמש לשאילתות nss עם הרשאות שורש │. │ │ │ work הערה: כדי שאפשרות זו תפעל, החשבון זקוק להרשאות כדי │ │ להיות מסוגל לגשת למאפייני LDAP המשויכים לערכי המשתמש │ entries "צל" וכן לסיסמאות המשתמשים וקבוצות │ . │ │ │ │ חשבון LDAP לשורש: │ │ │ │ cn = admin, dc = swl, dc = fan ___________________________________________________________ │ │ │ │ │ │ │ └─ └ ─ ─ ─ ─ ─ ─ ─ ─ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ──┤ תצורה של libnss-ldap ├─────────────────────┐ │ הזינו את הסיסמה שיש להשתמש בה כאשר libnss-ldap מנסה │ the לאמת לספריית LDAP באמצעות חשבון LDAP הבסיסי. │ │ │ │ הסיסמה תישמר בקובץ נפרד │ │ ("/etc/libnss-ldap.secret") שרק שורש יכול לגשת אליו. │ │ │ │ אם תזין סיסמה ריקה, הסיסמה הישנה תעשה שימוש חוזר. │ │ │ │ סיסמה לחשבון LDAP שורש: │ │ │ │ ******** ________________________________________________________________ │ │ │ │ │ │ │ └─ └ ─ ─ ─ ─ ─ ─ ─ ─ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ─┤ תצורה של libnss-ldap ├ ─ ─ ─ ─ ─ ss - nsswitch.conf אינו מנוהל באופן אוטומטי. להשתמש במקור נתונים של LDAP אם ברצונך שחבילת libnss-ldap תפעל. │ │ תוכל להשתמש בקובץ הדוגמה │ │ ב "/usr/share/doc/libnss-ldap/examples/nsswitch.ldap" כדוגמה לתצורת nsswitch או │ │ אתה יכול להעתיק אותו בתצורה הנוכחית שלך. שים לב שלפני הסרת חבילה זו יכול להיות נוח להסיר את ערכי "ldap" מקובץ nsswitch.conf כך שהשירותים הבסיסיים │ │ ימשיכו לעבוד. │ │ │ │ │ │ │ └─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ──┤ תצורה של libpam-ldap ├──────────────────────┐ │ │ option אפשרות זו מאפשרת לכלי סיסמא המשתמשים ב- PAM לשנות סיסמאות מקומיות. │ for │ │ הסיסמה לחשבון מנהל ה- LDAP תישמר בקובץ separate separate נפרד שניתן לקרוא רק על ידי המנהל. │ │ │ │ אפשרות זו צריכה להיות מושבתת אם מתקינים "/ וכו '" דרך NFS. │ │ │ │ האם אתה רוצה לאפשר לחשבון מנהל ה- LDAP להתנהג כמו │ │ המנהל המקומי? │ │ │ │                                            │ │ │ └─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ──┤ תצורה של libpam-ldap ├───────────────────────┐ │ │ │ בחרו אם שרת LDAP מאלץ זיהוי לפני קבלת רשומות ent. │ │ │ │ הגדרה זו לעיתים רחוקות נחוצה. │ │ │ │ האם המשתמש נדרש לגשת למסד הנתונים של LDAP? │ │ │ │                                               │ │ │ └─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ──┤ תצורה של libpam-ldap ├───────────────────────┐ │ הזן את שם חשבון מנהל LDAP. │ │ │ account חשבון זה ישמש אוטומטית לניהול מסד נתונים, │ │ עליו להיות בעל הרשאות הניהול המתאימות. Administrator │ │ │ חשבון מנהל LDAP: │ │ │ │ cn = admin, dc = swl, dc = fan ___________________________________________________ │ │ │ │ │ │ │ └─ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ - ─ ─ ┌ ──┤ תצורה של libpam-ldap ├───────────────────────┐ │ הזינו את הסיסמה לחשבון המנהל. │ │ │ │ הסיסמה תישמר בקובץ "/etc/pam_ldap.secret". מנהל │ │ יהיה היחיד שיכול לקרוא את הקובץ הזה, ויאפשר ל- p │ libpam-ldap לשלוט באופן אוטומטי בניהול החיבורים במסד הנתונים │ │. │ │ │ │ אם תשאיר שדה זה ריק, הסיסמה השמורה הקודמת │ │ תשמש שוב. │ │ │ │ סיסמת מנהל LDAP: │ │ │ ******** _________________________________________________________________________ _ │ │ │ │ │ └─ └ ─ ─ ─ ─ ─ ─ ─ ─────────────────────────────┘  

root @ mail: ~ # nano /etc/nsswitch.conf
# /etc/nsswitch.conf # # תצורה לדוגמא של פונקציונליות מתג שירות השירות של GNU. # אם התקנתם חבילות 'glibc-doc-reference' ו- 'info', נסו: # `info libc" שם שירות מתג "לקבלת מידע אודות קובץ זה. passwd: compat ldap
קבוצה: תאימות ldap
צל: תאימות ldap
gshadow: קבצי מארח: קבצים רשתות dns: פרוטוקולי קבצים: שירותי קבצי db: קבצי db אתרים: קבצי db rpc: קבצי db netgroup: nis

בואו נערוך את הקובץ /etc/pam.d/common- סיסמה, אנו עוברים לשורה 26 ומבטלים את הערך «use_authtok":

root @ mail: ~ # nano /etc/pam.d/password- נפוצה
# # /etc/pam.d/common-password - מודולים הקשורים לסיסמה המשותפים לכל השירותים # # קובץ זה נכלל מקבצי תצורת PAM אחרים המיועדים לשירות ספציפי, # ועליו להכיל רשימה של מודולים המגדירים את השירותים שהם # משמש לשינוי סיסמאות משתמש. ברירת המחדל היא pam_unix. # הסבר על אפשרויות pam_unix: # # האפשרות "sha512" מאפשרת סיסמאות SHA512 מומלחות. ללא אפשרות זו, # ברירת המחדל היא קריפטה של ​​יוניקס. מהדורות קודמות השתמשו באופציה "md5". # # האפשרות "סתומה" מחליפה את האפשרות "OBSCURE_CHECKS_ENAB" הישנה ב- # login.defs. # # עיין בדף העבודה של pam_unix לקבלת אפשרויות אחרות. # החל מ- pam 1.0.1-6, קובץ זה מנוהל על ידי עדכון pam-auth כברירת מחדל. # כדי לנצל זאת, מומלץ להגדיר כל אחד מהמודולים המקומיים לפני או אחרי חסימת ברירת המחדל, ולהשתמש ב- # pam-auth-update כדי לנהל בחירה של מודולים אחרים. ראה # pam-auth-update (8) לפרטים. # הנה הסיסמה למודולים לכל חבילה (סיסמת "ראשי") [הצלחה = 2 ברירת מחדל = להתעלם] pam_unix.so מעורפלת sha512
סיסמה [success = 1 user_unknown = התעלם מברירת מחדל = die] pam_ldap.so try_first_pass
# הנה החיסרון אם אף מודול לא מצליח בסיסמה הנדרשת pam_deny.so # הפעל את הערימה עם ערך החזר חיובי אם אין כבר כזו; # זה מונע מאיתנו להחזיר שגיאה רק משום ששום דבר לא קובע קוד הצלחה # מכיוון שהמודולים לעיל כל אחד מהם יקפוץ סביב הסיסמה הנדרשת תצורת auth-update

למקרה שאנחנו צריכים הכניסה המקומית של המשתמשים המאוחסנים ב- LDAP, ואנחנו רוצים שהתיקיות שלהם ייווצרו באופן אוטומטי בית, עלינו לערוך את הקובץ /etc/pam.d/common-session והוסף את השורה הבאה בסוף הקובץ:

הפעלה אופציונלית pam_mkhomedir.so skel = / etc / skel umask = 077

בדוגמה של שירות Directory Directory OpenLDAP שפותח קודם לכן, המשתמש המקומי היחיד שנוצר היה המשתמש זמזום, בעוד ב- LDAP אנו יוצרים את המשתמשים צעדים, לגולס, גנדלף, ו בילבו. אם התצורות שבוצעו עד כה נכונות, אנו נוכל לרשום את המשתמשים המקומיים ואת אלה הממופים כמקומיים אך מאוחסנים בשרת LDAP המרוחק:

root @ mail: ~ # getent passwd 
buzz: x: 1001: 1001: Buzz Debian מערכת הפעלה ראשונה ,,,: / home / buzz: / bin / bash
צעדים: x: 10000: 10000: צעדים אל ריי: / בית / צעדים: / bin / bash
לגולה: x: 10001: 10000: לגולה קשת: / בית / לגולה: / סל / באש
gandalf: x: 10002: 10000: Gandalf The Wizard: / home / gandalf: / bin / bash
bilbo: x: 10003: 10000: bilbo: / home / bilbo: / bin / bash

לאחר השינויים באימות המערכת, תקף להפעיל מחדש את השרת אחרת אנו עומדים בפני שירות קריטי:

root @ mail: ~ # אתחול מחדש

בהמשך אנו מתחילים הפעלה מקומית בשרת mail.swl.fan עם אישורי המשתמש המאוחסן במסד הנתונים LDAP של מאסטר.swl.fan. אנחנו יכולים גם לנסות להתחבר באמצעות SSH.

buzz @ sysadmin: ~ $ ssh gandalf @ mail
סיסמת gandalf @ mail: יצירת ספריה '/ home / gandalf'. התוכניות הכלולות במערכת דביאן GNU / Linux הן תוכנה חופשית; תנאי ההפצה המדויקים עבור כל תוכנית מתוארים בקבצים הבודדים ב- / usr / share / doc / * / copyright. דביאן GNU / Linux מגיע עם אחריות מוחלטת, ככל שמותר בחוק החל.
gandalf @ mail: ~ $ su
סיסמה:

root @ mail: / home / gandalf # getent group
באז: x: 1001: משתמשים: *: 10000:

root @ mail: / home / gandalf # יציאה
יציאה

gandalf @ mail: ~ $ ls -l / home /
סה"כ 8 drwxr-xr-x 2 באז באז     4096 17 ביוני 12:25 באז drwx ------ 2 משתמשי גנדלף 4096 17 ביוני 13:05 גנדלף

שירות הספריות המיושם ברמת השרת והלקוח, פועל כהלכה.

Kerberos

מתוך ויקיפדיה:

  • Kerberos הוא פרוטוקול אימות רשת מחשבים שנוצר על ידי MIT המאפשר לשני מחשבים ברשת לא בטוחה להוכיח בצורה מאובטחת זהותם זה לזה. מעצביו התמקדו לראשונה במודל שרת לקוח, והוא מספק אימות הדדי: גם הלקוח וגם השרת מאמתים את זהותם של זה. הודעות אימות מוגנות למניעה ציתות y התקפות חוזרות.

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

    קרברוס מבוסס על פרוטוקול נידהאם-שרדר. היא משתמשת בצד שלישי מהימן, הנקרא "מרכז הפצת מפתח" (KDC), המורכב משני חלקים לוגיים נפרדים: "שרת אימות" (AS או Authentication Server) ו- "שרת הנפקת כרטיסים" (TGS או שרת מתן כרטיסים). קרברוס פועלת על בסיס "כרטיסים", המשמשים להוכחת זהות המשתמשים.

    קרברוס מתחזק מסד נתונים של מפתחות סודיים; כל ישות ברשת - בין אם זו לקוח או שרת - חולקת מפתח סודי שידוע רק לעצמו ולקרברוס. הכרת מפתח זה משמשת להוכחת זהות היישות. לצורך תקשורת בין שתי ישויות, Kerberos מייצר מפתח הפעלה, שבו הם יכולים להשתמש כדי לאבטח את הבעיות שלהם.

חסרונותיו של קרברוס

De אקורד:

למרות Kerberos מסיר איום אבטחה נפוץ, זה יכול להיות קשה ליישם מסיבות שונות:

  • העברת סיסמאות משתמש ממאגר סיסמאות רגיל UNIX, כגון / etc / passwd או / etc / shadow, למאגר סיסמאות של Kerberos, יכול להיות מייגע ואין מנגנון מהיר לביצוע משימה זו.
  • Kerberos מניח כי כל משתמש אמין, אך משתמש במכונה לא מהימנה ברשת שאינה מהימנה. מטרתה העיקרית היא למנוע שליחת סיסמאות לא מוצפנות דרך הרשת. עם זאת, אם לכל משתמש אחר, פרט למשתמש המתאים, יש גישה למכונת הכרטיסים (KDC) לצורך אימות, קרברוס תהיה בסיכון.
  • כדי שאפליקציה תשתמש ב- Kerberos, יש לשנות את הקוד כדי לבצע את השיחות המתאימות לספריות Kerberos. יישומים שמשתנים בצורה זו נחשבים כמוסמכים. עבור יישומים מסוימים, זה יכול להיות מאמץ תכנות מוגזם, בגלל גודל היישום או העיצוב שלו. עבור יישומים לא תואמים אחרים, יש לבצע שינויים באופן תקשורת שרת הרשת ולקוחותיו; שוב, זה יכול לקחת לא מעט תכנות. באופן כללי, יישומי קוד סגור שאין להם תמיכה בקרברוס הם בדרך כלל הבעייתיים ביותר.
  • לבסוף, אם תחליט להשתמש ב- Kerberos ברשת שלך, עליך להבין שזו בחירה הכול או כלום. אם תחליט להשתמש ב- Kerberos ברשת שלך, עליך לזכור שאם סיסמאות כלשהן מועברות לשירות שאינו משתמש ב- Kerberos לאימות, אתה מסתכן בכך שהחבילה תיירט. לפיכך, הרשת שלך לא תקבל שום תועלת משימוש ב- Kerberos. כדי לאבטח את הרשת שלך עם Kerberos, עליך להשתמש רק בגרסאות המכוסות של כל יישומי הלקוח / שרת ששולחים סיסמאות לא מוצפנות או לא להשתמש באף אחד מהיישומים האלה ברשת..

יישום ידני והגדרת תצורה של OpenLDAP כ- Kerberos Back-End אינה משימה קלה. עם זאת, מאוחר יותר נראה כי ה- Samba 4 Active Directory - בקר התחום משתלב בצורה שקופה עבור ה- Sysadmin, שרת DNS, רשת מיקרוסופט ובקר הדומיין שלה, שרת LDAP כ- Back-End של כמעט כל האובייקטים שלה, ו שירות האימות מבוסס Kerberos כמרכיבים הבסיסיים של Active Directory בסגנון מיקרוסופט.

עד היום לא היה לנו צורך ליישם "רשת קרבריזית". זו הסיבה שלא כתבנו כיצד ליישם את Kerberos.

Samba 4 Active Directory - בקר תחום

חשוב:

אין תיעוד טוב יותר מהאתר wiki.samba.org. על סיסדמין שמכבד את עצמו לבקר באתר זה באנגלית ולעיין במספר הרב של העמודים המוקדשים כולה לסמבה 4, שנכתב על ידי צוות סמבה עצמו. אני לא מאמין שיש תיעוד זמין באינטרנט כדי להחליף אותו. אגב, צפו במספר הביקורים המשתקפים בתחתית כל עמוד. דוגמה לכך היא שהדף הראשי שלך או «העמוד הראשי» ביקרו 276,183 פעמים עד היום 20 ביוני 2017 בשעה 10:10 שעון מזרח סטנדרטי. בנוסף, התיעוד מתעדכן מאוד, מכיוון שהדף השתנה ב -6 ביוני.

מתוך ויקיפדיה:

Samba הוא יישום חינמי של פרוטוקול שיתוף הקבצים של מיקרוסופט Windows (שנקרא בעבר SMB, ששמו לאחרונה CIFS) עבור מערכות דומות ל- UNIX. באופן זה, ייתכן שמחשבים עם GNU / Linux, Mac OS X או יוניקס באופן כללי נראים כמו שרתים או מתנהגים כלקוחות ברשתות Windows. סמבה מאפשרת גם לאמת משתמשים כבקר תחום ראשי (PDC), כחבר תחום, ואפילו כתחום Active Directory עבור רשתות מבוססות Windows; מלבד האפשרות לשרת תורי הדפסה, ספריות משותפות ולאמת עם ארכיון המשתמשים שלה.

בין המערכות דומות ל- Unix בהן ניתן להפעיל את סמבה ניתן למצוא את הפצות GNU / Linux, Solaris ואת גרסאות ה- BSD השונות בין שנוכל למצוא את שרת Mac OS X של אפל.

סמבה 4 AD-DC עם ה- DNS הפנימי שלו

  • אנו מתחילים מהתקנה נקייה - ללא ממשק גרפי - של Debian 8 "ג'סי".

בדיקות ראשוניות

root @ master: ~ # host host
אב
root @ master: ~ # host host --fqdn
מאסטר.swl.fan
root @ master: ~ # ip addr
1: מה: mtu 65536 qdisc noqueue state לא ידוע קבוצת קישור ברירת מחדל / loopback 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00 inet 127.0.0.1/8 מארח היקף lo valid_lft לנצח עדיף_לפט לנצח inet6 :: 1/128 מארח היקף valid_lft לנצח עדיף_לפט לנצח 2: eth0: mtu 1500 qdisc מצב pfifo_fast לא ידוע ברירת מחדל קבוצת qlen 1000 קישור / אתר 00: 0c: 29: 80: 3b: 3f brd ff: ff: ff: ff: ff: ff
    inet 192.168.10.5/24 brd 192.168.10.255 היקף eth0 גלובלי
       valid_lft לנצח עדיף_lft לנצח inet6 fe80 :: 20c: 29ff: fe80: 3b3f / 64 קישור היקף valid_lft לנצח עדיף_לפט לנצח
root @ master: ~ # cat /etc/resolv.conf
חיפוש swl.fan שרת שמות 127.0.0.1
  • איתו אנו מכריזים על הסניף ראשי רק, זה די והותר למטרות שלנו.
root @ master: ~ # cat /etc/apt/sources.list
deb http://192.168.10.1/repos/jessie-8.6/debian/ ג'סי ראשי
deb http://192.168.10.1/repos/jessie-8.6/debian/security/ ג'סי / עדכונים ראשי

Postfix על ידי Exim וכלי עזר

root @ master: ~ # aptitude התקן postfix htop mc deborphan

  ┌ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (-). ────┐ │ בחר את סוג תצורת שרת הדואר המתאים ביותר לצרכיך │ │. │ │ │ │ אין תצורה: │ │ שומר על התצורה הנוכחית שלמה. │ │ אתר אינטרנט: │ │ דואר נשלח ומתקבל ישירות באמצעות SMTP. │ │ אינטרנט עם "smarthost": │ │ דואר מתקבל ישירות באמצעות SMTP או על ידי הפעלת כלי │ │ כמו "fetchmail". דואר יוצא נשלח באמצעות │ │ "smarthost". Mail │ דואר מקומי בלבד: │ │ הדואר היחיד שמועבר מיועד למשתמשים מקומיים. אין │ │ יש רשת. │ │ │ │ סוג כללי של תצורת דואר: │ │ │ │ ללא תצורה │ │ אתר אינטרנט │ │ אינטרנט עם "smarthost" │ │ מערכת לוויין │ │                         דואר מקומי בלבד                                │ │ │ │ │ │                                     │ │ │ └─ └ ─ ─ ─ ─ ─ ─ ─ ─ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ─────┤ תצורת Postfix ├───────────────────────── ┐ "שם מערכת הדואר" הוא שם התחום ש- │ │ משמש ל"הסמכה "של _ALL_ כתובות דוא"ל ללא שם דומיין. זה כולל דואר מ- "root" וממנו: אנא אל תגרום למקווינה │ שהמחשב שלך ישלח מיילים root@example.org ל │ │ פחות מ root@example.org שאל. │ │ │ │ תוכניות אחרות ישתמשו בשם זה. זה חייב להיות שם דומיין ייחודי (FQDN). │ │ │ │ לכן, אם כתובת דוא"ל במכונה המקומית היא │ │ משהו@example.org, הערך הנכון עבור אפשרות זו יהיה example.org. │ │ │ name שם מערכת הדואר: │ │ │ │ master.swl.fan ___________________________________________________________________ │ │ │ │ │ ││└ ─────────────────────────────┘  

אנחנו מנקים

root @ master: ~ # טיהור כושר ~ ג
root @ master: ~ # aptitude install -f
root @ master: ~ # כושר נקי
root @ master: ~ # aptitude autoclean

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

root @ master: ~ # aptitude להתקין acl attr autononf bison \
build-חיוני debhelper dnsutils docbook-xml docbook-xsl flex gdb \
משתמש krb5 libacl1-dev libaio-dev libattr1-dev libblkid-dev libbsd-dev \
libcap-dev libcups2-dev libgnutls28-dev libjson-perl \
libldap2-dev libncurses5-dev libpam0g-dev libparse-yapp-perl\
libpopt-dev libreadline-dev perl-perl-modules pkg-config \
python-all-dev python-dev python-dnspython python-crypto\
xsltproc zlib1g -dev libgpgme11 -dev python -gpgme python -m2crypto \
libgnutls28-dbg gnutls-dev ldap-utils krb5-config

 ┌────────────────┤ קביעת תצורה של אימות Kerberos ├─────────────────┐ כאשר משתמשים מנסים להשתמש ב- Kerberos ומציינים שם │ without מנהל או משתמש מבלי להבהיר לאיזה תחום Kerberos ניהולי הראשי │ │ שייך, המערכת לוקחת את תחום default ברירת המחדל.  תחום ברירת המחדל יכול לשמש גם כממלכה │ │ של שירות Kerberos הפועל במחשב המקומי.  │ │ בדרך כלל, תחום ברירת המחדל הוא שם האותיות של תחום ה- DNS המקומי DNS │.  │ │ │ │ ממלכת ברירת המחדל של Kerberos גרסה 5: │ │ │ │ SWL.FAN __________________________________________________________________________ │ │ │ │ │ │ │ └─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ - ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ Kerberos ├────────────────┐ │ הזן את שמות שרתי Kerberos בתחום SWL.FAN של │ │ Kerberos, מופרדים על ידי רווחים.  Servers │ │ │ שרתי Kerberos לממלכה שלך: │ │ │ │ master.swl.fan ___________________________________________________________ │ │ │ │ │ │ │ └─ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ - ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ Kerberos ├──────────────── ┐ הזן את שם השרת הניהולי (שינוי סיסמה) │ │ עבור תחום Kerberos SWL.FAN.   

התהליך הנ"ל לקח מעט זמן מכיוון שעדיין אין לנו שירותי DNS מותקנים. עם זאת, בחרת נכון בתחום לפי הגדרות הקובץ / Etc / hosts. זכרו את זה בקובץ / Etc / resolv.conf הכרזנו כשרת שם תחום ל- IP 127.0.0.1.

כעת אנו מגדירים את קובץ / etc / ldap / ldap / conf

root @ master: ~ # nano /etc/ldap/ldap.conf
BASE dc = swl, dc = URI מאוורר ldap: //master.swl.fan

לשאילתות באמצעות הפקודה ldapsearch המיוצרים ממשתמש השורש הם מהסוג ldapsearch -x -W cn = xxxx, עלינו ליצור את הקובץ /root/.ldapsearch עם התוכן הבא:

root @ master: ~ # nano .ldaprc
BINDDN CN = מנהל, CN = משתמשים, DC = swl, DC = מאוורר

מערכת הקבצים חייבת לתמוך ב- ACL - רשימת בקרת גישה

root @ master: ~ # nano / etc / fstab
# / etc / fstab: מידע על מערכת קבצים סטטית. # # השתמש ב- 'blkid' כדי להדפיס את המזהה הייחודי האוניברסלי למכשיר #; זה יכול לשמש עם UUID = כדרך חזקה יותר למתן שם למכשירים # שעובדת גם אם מוסיפים דיסקים ומוסרים אותם. ראה fstab (5). # # # / היה ב- / dev / sda1 במהלך ההתקנה UUID = 33acb024-291b-4767-b6f4-cf207a71060c / ext4 user_xattr, acl, מחסום = 1, זמן זמן, שגיאות = remount-ro 0 1
החלפה # הופעלה / dev / sda5 במהלך ההתקנה UUID = cb73228a-615d-4804-9877-3ec225e3ae32 אף swap 0 0 / dev / sr0 / media / cdrom0 udf, משתמש iso9660, noauto 0 0

root @ master: ~ # הר -a

root @ master: ~ # touch testing_acl.txt
root @ master: ~ # setfattr -n user.test -v test testing_acl.txt
root @ master: ~ # setfattr -n security.test -v test2 testing_acl.txt
root @ master: ~ # getfattr -d testing_acl.txt
# file: testing_acl.txt user.test = "test"

root @ master: ~ # getfattr -n security.test -d testing_acl.txt
# file: testing_acl.txt security.test = "test2"

root @ master: ~ # setfacl -mg: adm: rwx testing_acl.txt

root @ master: ~ # getfacl testing_acl.txt
# file: testing_acl.txt # owner: root # group: root root :: rw- group :: r-- group: adm: rwx mask :: rwx other :: r--

אנו משיגים את מקור ה- Samba 4, מרכיבים אותו ומתקינים אותו

מומלץ מאוד להוריד את קובץ המקור של הגרסה יציב מהאתר https://www.samba.org/. בדוגמה שלנו אנו מורידים את הגרסה סמבה 4.5.1.tar.gz לכיוון התיקייה / opt.

root @ master: ~ # cd / opt
root @ master: / opt # wget https://download.samba.org/pub/samba/stable/samba-4.5.1.tar.gz
root @ master: / opt # tar xvfz samba-4.5.1.tar.gz
root @ master: / opt # cd samba-4.5.1 /

אפשרויות תצורה

אם אנו רוצים להתאים אישית את אפשרויות התצורה, אנו מבצעים:

root @ master: /opt/samba-4.5.1# ./configure - עזרה

ובזהירות רבה בחר את אלה שאנחנו צריכים. מומלץ לבדוק אם ניתן להתקין את החבילה שהורדת בהפצת לינוקס בה אנו משתמשים, שהיא במקרה שלנו דביאן 8.6 ג'סי:

root @ master: /opt/samba-4.5.1# . / קביעת תצורה של לנקות

אנו מגדירים, מקמטים ומתקינים את samba-4.5.1

  • מהדרישות שהותקנו בעבר ומקבצי 8604 (המרכיבים את samba-4.5.1.tar.gz הקומפקטי) שמשקלם כ -101.7 מגה-בתים - כולל תיקיות המקור 3 והמקור 4 שמשקלן כ 61.1 מגה-בתים - נקבל תחליף ל מדריך Active Directory בסגנון מיקרוסופט, באיכות וביציבות המקובלים יותר מכל סביבת ייצור. עלינו להדגיש את עבודת צוות סמבה במסירת תוכנת החינם סמבה 4.

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

root @ master: /opt/samba-4.5.1# ./configure - with-systemd - כוסות ניתנות להפסקה
root @ master: /opt/samba-4.5.1# לעשות
root @ master: /opt/samba-4.5.1# להפוך את ההתקנה

בתהליך הפיקוד לעשותאנו יכולים לראות כי מקורות ה- Samba 3 ו- Samba 4. נערכים. לכן Team Samba מאשר כי גרסתו 4 היא העדכון הטבעי של גרסה 3, הן עבור בקרי תחום המבוססים על Samba 3 + OpenLDAP והן שרתי קבצים, או גרסאות ישנות יותר של סמבה 4.

אספקת סמבה

אנו נשתמש כ- DNS ב- SAMBA_INTERNAL. בתוך https://wiki.samba.org/index.php?title=Samba_Internal_DNS_Back_End אנו נמצא מידע נוסף. כאשר הם מבקשים מאיתנו את הסיסמה של משתמש המנהל, עלינו להקליד אחת באורך מינימלי של 8 תווים וגם באותיות - אותיות קטנות וקטנות - ומספרים.

לפני שתמשיך להפרשה ולהקל על החיים, אנו מוסיפים את נתיב מההפעלה של סמבה בתיק שלנו .bashrcואז אנחנו סוגרים ונכנסים שוב.

root @ master: ~ # nano .bashrc
# ~ / .bashrc: מבוצע על ידי bash (1) עבור קליפות שאינן מתחברות. הערה #: PS1 ו- umask כבר מוגדרים בפרופיל / etc /. אתה לא צריך # להזדקק לזה אלא אם אתה רוצה ברירות מחדל שונות עבור root. # PS1 = '$ {debian_chroot: + ($ debian_chroot)} \ h: \ w \ $' # umask 022 # ייתכן שתבטל את השורה הבאה אם ​​ברצונך לצבוע את 'ls': # export LS_OPTIONS = '- צבע = auto '# eval "` dircolors` "# alias ls =' ls $ LS_OPTIONS '# alias ll =' ls $ LS_OPTIONS -l '# alias l =' ls $ LS_OPTIONS -lA '# # כמה כינויים נוספים כדי למנוע טעויות : # alias rm = 'rm -i' # alias cp = 'cp -i' # alias mv = 'mv -i'
הצהיר על -x PATH = "/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: \ / sbin: / bin: / usr / local / samba / sbin: / usr / local / סמבה / סל "

root @ master: ~ # יציאת יציאה החיבור למסטר נסגר. xeon @ sysadmin: ~ $ ssh root @ master

root @ master: ~ # אספקת תחום כלי-סמבה --use-rfc2307 - אינטראקטיבי
תחום [SWL.FAN]: SWL.FAN
 דומיין [SWL]: SWL
 תפקיד השרת (dc, חבר, עצמאי) [dc]: dc
 Backend DNS (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: SAMBA_INTERNAL
 כתובת ה- IP של משלח ה- DNS (כתוב 'אף אחד' כדי להשבית את ההעברה) [192.168.10.5]: 8.8.8.8
סיסמת מנהל מערכת: TuPassword 2017
כתוב את הסיסמא מחדש: TuPassword 2017
חיפוש כתובות IPv4 חיפוש כתובות IPv6 לא יוקצה כתובת IPv6 הגדרת share.ldb הגדרת סודות.לדב הגדרת הרישום הגדרת מאגר הרשאות הגדרת idmap db הגדרת SAM db הגדרת מחיצות והגדרות sam.ldb הגדרה מעלה sam.ldb rootDSE טעינה מראש של סכימת Samba 4 ו- AD הוספת DomainDN: DC = swl, DC = מאוורר הוספת מיכל תצורה הגדרת סכימת sam.ldb הגדרת נתוני תצורה sam.ldb הגדרת מפרט תצוגה שינוי מפרט תצוגה הוספת מיכל משתמשים שינוי מיכל משתמשים הוספת מיכל מחשבים שינוי מיכל מחשבים הגדרת נתוני sam.ldb הגדרת עקרונות אבטחה ידועים הגדרת משתמשים וקבוצות sam.ldb הגדרת הצטרפות עצמית הוספת חשבונות DNS יצירת CN = MicrosoftDNS, CN = מערכת, DC = swl, DC = מאוורר יצירת מחיצות DomainDnsZones ו- ForestDnsZones מאכלס מחיצות DomainDnsZones ו- ForestDnsZones הגדרת סימון root.SE של sam.ldb כסנכרון תיקוני GUIDsתצורת Kerberos המתאימה לסמבה 4 נוצרה בכתובת /usr/local/samba/private/krb5.conf הגדרת הגדרות שרת yp מזויפות לאחר התקנת הקבצים הנ"ל, שרת Samba4 שלך יהיה מוכן לשימוש תפקיד השרת: תחום ספריה פעיל בקר מארח בקר: תחום NetBIOS ראשי: SWL DNS תחום: swl.fan DOMAIN SID: S-1-5-21-32182636-2892912266-1582980556

אל לנו לשכוח להעתיק את קובץ התצורה של Kerberos כפי שמצוין על ידי פלט ה- הפרשות:

root @ master: ~ # cp /usr/local/samba/private/krb5.conf /etc/krb5.conf

כדי לא להקליד את הפקודה כלי סמבה עם שמך המלא, אנו יוצרים קישור סמלי עם השם הקצר כלי:

root @ master: ~ # ln -s / usr / local / samba / bin / samba-tool / usr / local / samba / bin / tool

אנו מתקינים את ה- NTP

חלק בסיסי ב- Active Directory הוא שירות הזמן של הרשת. מכיוון שהאימות נעשה באמצעות Kerberos והכרטיסים שלו, סנכרון הזמן עם ה- Samba 4 AD-DC הוא חיוני.

root @ master: ~ # aptitude להתקין ntp
root @ master: ~ # mv /etc/ntp.conf /etc/ntp.conf.original

root @ master: ~ # nano /etc/ntp.conf
driftfile /var/lib/ntp/ntp.drift ntpsigndsocket / usr / local / samba / var / lib / ntp_signd סטטיסטיות loopstats peerstats clockstats filegen loopstats קובץ loopstats סוג יום אפשר filegen peerstats קובץ peerstats סוג יום אפשר filegenstats קובץ שעון נתונים שעון סוג יום מאפשר שרת 192.168.10.1 הגבל -4 ברירת מחדל קוד notrap nomodify nopeer noquery limit -6 ברירת מחדל kod notrap nomodify nopeer noquery הגבלת ברירת מחדל mssntp limit 127.0.0.1 limit :: 1 שידור 192.168.10.255

root @ master: ~ # ntp שירות מחדש
root @ master: ~ # status ntp service

root @ master: ~ # tail -f / var / log / syslog

אם כאשר בוחנים את syslog באמצעות הפקודה הנ"ל או באמצעות journalctl -f אנו מקבלים את המסר:

19 ביוני 12:13:21 אדון ntpd_intres [1498]: ההורה נפטר לפני שסיימנו, ביציאה

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

root @ master: ~ # ls -ld / usr / local / samba / var / lib / ntp_signd
ls: אין גישה / usr / local / samba / var / lib / ntp_signd: הקובץ או הספריה אינם קיימים

root @ master: ~ # mkdir / usr / local / samba / var / lib / ntp_signd
root @ master: ~ # root root: ntp / usr / local / samba / var / lib / ntp_signd /
root @ master: ~ # chmod 750 / usr / local / samba / var / lib / ntp_signd / root @ master: ~ # chmod gs, g + x / usr / local / samba / var / lib / ntp_signd /

# כמתבקש ב- samba.wiki.org
root @ master: ~ # ls -ld / usr / local / samba / var / lib / ntp_signd
drwxr-x --- 2 שורש ntp 4096 יוני 19 12:21 / usr / local / samba / var / lib / ntp_signd

אנו מגדירים את התחלת סמבה באמצעות systemd

root @ master: ~ # nano /lib/systemd/system/samba-ad-dc.service
[שירות] סוג = מזלג PIDFile = / usr / local / samba / var / run / samba.pid LimitNOFILE = 16384 # EnvironmentFile = - / etc / conf.d / samba ExecStart = / usr / local / samba / sbin / samba ExecReload = / usr / bin / kill -HUP $ MAINPID [Install] WantedBy = multi-user.target

root @ master: ~ # systemctl אפשר samba-ad-dc
root @ master: ~ # אתחול מחדש

root @ master: ~ # systemctl status samba-ad-dc
root @ master: ~ # systemctl status ntp

סמבה 4 מיקומי קבצים AD-DC

הכל -פחות השירות samba-ad-dc. שזה עתה נוצר- הקבצים נמצאים ב:

root @ master: ~ # ls -l / usr / local / samba /
סה"כ 32 drwxr-sr-x 2 צוות שורש 4096 19 ביוני 11:55 בן
drwxr-sr-x 2 צוות שורש 4096 19 ביוני 11:50 וכו '
drwxr-sr-x 7 צוות שורש 4096 19 ביוני 11:30 לכלול
drwxr-sr-x 15 צוות שורש 4096 19 ביוני 11:33 lib
drwxr-sr-x 7 צוות שורש 4096 19 ביוני 12:40 פְּרָטִי
drwxr-sr-x 2 צוות שורש 4096 19 ביוני 11:33 sbin
drwxr-sr-x 5 צוות שורש 4096 19 ביוני 11:33 נתח
drwxr-sr-x 8 צוות שורש 4096 19 ביוני 12:28 היה

בסגנון UNIX הטוב ביותר. תמיד מומלץ לדפדף בתיקיות השונות ולבחון את תוכנם.

/Usr/local/samba/etc/smb.conf

root @ master: ~ # nano /usr/local/samba/etc/smb.conf 
# פרמטרים גלובליים [גלובאל] שם netbios = MASTER תחום = SWL.FAN קבוצת עבודה = SWL מעביר DNS = 8.8.8.8 שירותי שרתים = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate , תפקיד שרת dns = בקר תחום ספרייה פעיל מאפשר עדכוני DNS = מאובטח בלבד idmap_ldb: השתמש ב- rfc2307 = כן תצורת idmap *: backend = tdb idmap config *: range = 1000000-1999999 שרת ldap דורש auth חזק = אין שם printcap = / dev / null [netlogon] path = /usr/local/samba/var/locks/sysvol/swl.fan/scripts read only = No [sysvol] path = / usr / local / samba / var / locks / sysvol read only = No

root @ master: ~ # testparm
טען קבצי תצורה של smb מ /usr/local/samba/etc/smb.conf קטע עיבוד "[netlogon]" קטע עיבוד "[sysvol]" קובץ שירותים טעון בסדר. תפקיד שרת: ROLE_ACTIVE_DIRECTORY_DC לחץ על Enter כדי לראות dump של הגדרות השירות שלך # פרמטרים גלובליים [global] realm = SWL.FAN workgroup = SWL dns forwarder = 192.168.10.1 שרת ldap דורש auth חזק = אין backdb backend = samba_dsdb תפקיד שרת = ספרייה פעילה בקר תחום rpc_server: tcpip = אין rpc_daemon: spoolssd = rpc_server מוטבע: spoolss = rpc_server מוטבע: winreg = rpc_server מוטבע: ntsvcs = rpc_server מוטבע: שרת RC_cctc צינורות חיצוניים = תצורת idmap אמיתית *: טווח = 1000000-1999999 idmap_ldb: השתמש ב- rfc2307 = כן תצורת idmap *: backend = tdb map archive = אין מפה קריאה בלבד = אין תכונות dos store = כן vfs objects = dfs_samba4 acl_xattr [netlogon] path = / usr / local / samba / var / locks / sysvol / swl.fan / scripts read more = No [sysvol] path = / usr / local / samba / var / locks / sysvol read only = No

בדיקות מינימליות

root @ master: ~ # מופע ברמת תחום כלי
רמת פונקציות תחום ויער עבור תחום 'DC = swl, DC = מאוורר' רמת פונקציית יער: (Windows) 2008 R2 רמת פונקציית תחום: (Windows) 2008 R2 רמת הפונקציה הנמוכה ביותר של DC: (Windows) 2008 R2

root @ master: ~ # ldapsearch -x -W

root @ master: ~ # כלי dbcheck
בודק 262 אובייקטים בדוק 262 אובייקטים (0 שגיאות)

root @ master: ~ # kinit Administrator
סיסמה עבור Administrator@SWL.FAN: 
root @ master: ~ # klist -f
מטמון כרטיסים: קובץ: / tmp / krb5cc_0
ברירת מחדל ראשית: Administrator@SWL.FAN

תקף החל תפוג שירות ראשי 19/06/17 12:53:24 19/06/17 22:53:24  krbtgt/SWL.FAN@SWL.FAN
    להתחדש עד 20/06/17 12:53:18, דגלים: RIA

root @ master: ~ # kdestroy
root @ master: ~ # klist -f
klist: קובץ המטמון של אישורי '/ tmp / krb5cc_0' לא נמצא

root @ master: ~ # smbclient -L localhost -U%
תחום = [SWL] OS = [Windows 6.1] שרת = [סמבה 4.5.1] שם שם סוג תגובה --------- ---- ------- netlogon דיסק sysvol דיסק IPC $ IPC IPC שירות (סמבה 4.5.1) תחום = [SWL] מערכת הפעלה = [Windows 6.1] שרת = [סמבה 4.5.1] תגובת שרת --------- ------- מאסטר בקבוצת העבודה ---- ----- -------

root @ master: ~ # smbclient // localhost / netlogon -UAdministrator -c 'ls'
הזן את סיסמת מנהל המערכת: Domain = [SWL] OS = [Windows 6.1] Server = [Samba 4.5.1]. D 0 יום שני 19 ביוני 11:50:52 2017 .. D 0 יום שני 19 ביוני 11:51:07 2017 19091584 בלוקים בגודל 1024. 16198044 בלוקים זמינים

root @ master: ~ # tool dns serverinfo master -U administrator

root @ master: ~ # host -t SRV _ldap._tcp.swl.fan
_ldap._tcp.swl.fan יש שיא SRV 0 100 389 master.swl.fan.

root @ master: ~ # host -t SRV _kerberos._udp.swl.fan
_kerberos._udp.swl.fan יש שיא SRV 0 100 88 master.swl.fan.

root @ master: ~ # host -t A master.swl.fan
לכתובת master.swl.fan יש כתובת 192.168.10.5

root @ master: ~ # host -t SOA swl.fan
ל- swl.fan יש שיא SOA master.swl.fan. hostmaster.swl.fan. 1 900 600 86400 3600

root @ master: ~ # host -t NS swl.fan
swl.fan שרת שמות master.swl.fan.

root @ master: ~ # host -t MX swl.fan
ל- swl.fan אין רשומת MX

root @ master: ~ # samba_dnsupdate --verbose

root @ master: ~ # רשימת משתמשים בכלי
מנהל krbtgt אורח

root @ master: ~ # רשימת קבוצות כלים
# הפלט הוא חבורה של קבוצות. ;-)

אנו מנהלים את ה- Samba 4 AD-DC שהותקן לאחרונה

אם אנו רוצים לשנות את התפוגה תוך ימים של סיסמת מנהל המערכת; מורכבות הסיסמאות; אורך הסיסמה המינימלי; משך המינימום והמקסימום - בימים - של הסיסמה; ושנה את סיסמת מנהל המערכת שהוכרזה במהלך הפרשות, עלינו לבצע את הפקודות הבאות באמצעות ה- ערכים המותאמים לצרכים שלך:

root @ master: ~ # כלי
שימוש: כלי סמבה כלי ניהול סמבה ראשי. אפשרויות: -h, - עזרה להציג הודעת עזרה זו ולצאת מאפשרויות גרסה: -V, - גרסה הצגת מספר גרסה פקודות משנה זמינות: dbcheck - בדוק אם קיימות שגיאות במסד הנתונים של AD. משלחת - ניהול משלחת. dns - ניהול Domain Name Service (DNS). תחום - ניהול תחום. drs - ניהול שירותי שכפול מדריך (DRS). dsacl - מניפולציה של DS ACL. fsmo - ניהול תפקידים גמיש לתפעול יחיד יחיד (FSMO). gpo - ניהול אובייקט מדיניות קבוצתית (GPO). קבוצה - ניהול קבוצה. ldapcmp - השווה בין שני מסדי נתונים ldap. ntacl - NT ACLs מניפולציה. תהליכים - רשימת תהליכים (כדי לסייע באיתור באגים במערכות ללא setproctitle). rodc - ניהול בקרת תחום לקריאה בלבד (RODC). אתרים - ניהול אתרים. spn - ניהול שם ראשי שירות (SPN). testparm - תחביר בדוק את קובץ התצורה. זמן - אחזר את הזמן בשרת. משתמש - ניהול משתמשים. לקבלת עזרה נוספת בפקודת משנה ספציפית, הקלד: samba-tool (-h | --עזרה)

root @ master: ~ # כלי משתמש להגדרת קבוצה - noexpiry
root @ master: ~ # הגדרות סיסמאות של דומיין כלים - min-pwd-length = 7
root @ master: ~ # הגדרות סיסמאות של דומיין כלים - min-pwd-age = 0
root @ master: ~ # הגדרות סיסמאות של תחום כלי - max-pwd-age = 60
root @ master: ~ # כלי משתמש setpassword - filter = samaccountname = מנהל - newpassword = Passw0rD

אנו מוסיפים מספר רשומות DNS

root @ master: ~ # כלי dns
שימוש: dns של כלי סמבה ניהול DNS (Domain Name Service Domain). אפשרויות: -h, - עזרה להציג את הודעת העזרה הזו ולצאת לפקודות משנה זמינות: להוסיף - להוסיף מחיקת רשומת DNS - מחיקת שאילתת רשומת DNS - שאילת שם. שורשים - רמזים לשורש שאילתות. serverinfo - שאילתה למידע על שרת. עדכון - עדכן רשומת DNS ליצור - ליצור אזור. zonedelete - מחק אזור. zoneinfo - שאילתה למידע על אזור. zonelist - שאילתת אזורים. לקבלת עזרה נוספת בפקודת משנה מסוימת, אנא הקלד: samba-tool dns (-h | --עזרה)

שרת דואר

root @ master: ~ # כלי dns הוסף master swl.fan דואר מנהל 192.168.10.9 -U
root @ master: ~ # tool dns add master swl.fan swl.fan MX "mail.swl.fan 10" -U administrator

IP קבוע של שרתים אחרים

root @ master: ~ # dns tool להוסיף master swl.fan sysadmin A 192.168.10.1 -U מנהל
root @ master: ~ # tool dns add master swl.fan server Files A 192.168.10.10 -U administrator
root @ master: ~ # כלי dns להוסיף master swl.fan proxy מנהל מערכת 192.168.10.11 -U
root @ master: ~ # כלי dns להוסיף master swl.fan צ'אט מנהל 192.168.10.12 -U

אזור הפוך

root @ master: ~ # tool dns zonecreate master 10.168.192.in-addr.arpa -U administrator
סיסמה עבור [SWL \ administrator]: אזור 10.168.192.in-addr.arpa נוצר בהצלחה

root @ master: ~ # tool dns add master 10.168.192.in-addr.arpa 5 PTR master.swl.fan. -מנהל
root @ master: ~ # tool dns add master 10.168.192.in-addr.arpa 9 PTR mail.swl.fan. -מנהל
root @ master: ~ # tool dns add master 10.168.192.in-addr.arpa 1 PTR sysadmin.swl.fan. -מנהל
root @ master: ~ # tool dns add master 10.168.192.in-addr.arpa 10 PTR fileserver.swl.fan. -מנהל
root @ master: ~ # tool dns add master 10.168.192.in-addr.arpa 11 PTR proxy.swl.fan. -מנהל
root @ master: ~ # tool dns add master 10.168.192.in-addr.arpa 12 PTR chat.swl.fan. -מנהל

בדיקות

root @ master: ~ # כלי dns שאילתה master swl.fan דואר ALL -U מנהל
סיסמה עבור [SWL \ מנהל]: שם =, רשומות = 1, ילדים = 0 א ': 192.168.10.9 (דגלים = f0, סדרתי = 2, ttl = 900)

root @ master: ~ # master host
לכתובת master.swl.fan יש כתובת 192.168.10.5
root @ master: ~ # sysadmin מארח
ל- sysadmin.swl.fan כתובת 192.168.10.1
root @ master: ~ # דואר מארח
לכתובת mail.swl.fan יש כתובת 192.168.10.9
root @ master: ~ # צ'אט מארח
ל- chat.swl.fan כתובת 192.168.10.12
root @ master: ~ # מארח פרוקסי
ל- proxy.swl.fan כתובת 192.168.10.11
root @ master: ~ # שרת קבצים מארח
ל- fileserver.swl.fan כתובת 192.168.10.10
root @ master: ~ # host 192.168.10.1
1.10.168.192.in-addr.arpa מצביע שם תחום sysadmin.swl.fan.
root @ master: ~ # host 192.168.10.5
5.10.168.192.in-addr.arpa מצביע שם תחום master.swl.fan.
root @ master: ~ # host 192.168.10.9
9.10.168.192.in-addr.arpa מצביע שם תחום mail.swl.fan.
root @ master: ~ # host 192.168.10.10
10.10.168.192.in-addr.arpa מצביע שם תחום fileserver.swl.fan.
root @ master: ~ # host 192.168.10.11
11.10.168.192.in-addr.arpa מצביע שם תחום proxy.swl.fan.
root @ master: ~ # host 192.168.10.12
12.10.168.192.in-addr.arpa מצביע שם תחום chat.swl.fan.

לסקרנים

root @ master: ~ # ldbsearch -H /usr/local/samba/private/sam.ldb.d/ \
DC = DOMAINDNSZONES, DC = SWL, DC = FAN.ldb | grep dn:

אנו מוסיפים משתמשים

root @ master: ~ # משתמש בכלי
שימוש: משתמש בכלי סמבה ניהול משתמשים. אפשרויות: -h, --עזרה להציג הודעת עזרה זו ולצאת לתת-פקודות זמינות: הוסף - צור משתמש חדש. ליצור - צור משתמש חדש. מחק - מחק משתמש. השבת - השבת משתמש. אפשר - אפשר משתמש. getpassword - קבל את שדות הסיסמה של חשבון משתמש / מחשב. list - רשימת כל המשתמשים. סיסמה - שנה סיסמה עבור חשבון משתמש (זה המסופק באימות). setexpiry - הגדר תפוגה של חשבון משתמש. setpassword - הגדר או אפס את הסיסמה של חשבון משתמש. סנכרון סיסמאות - סנכרן את הסיסמה של חשבונות המשתמש. לקבלת עזרה נוספת בפקודת משנה ספציפית, הקלד: משתמש בכלי samba (-h | --עזרה)

root @ master: ~ # כלי כלי ליצור צעדים Trancos01
המשתמש 'trancos' נוצר בהצלחה
root @ master: ~ # משתמש בכלי ליצור gandalf Gandalf01
המשתמש 'gandalf' נוצר בהצלחה
root @ master: ~ # משתמש בכלי ליצור legolas Legolas01
המשתמש 'לגולות' נוצר בהצלחה
root @ master: ~ # רשימת משתמשים בכלי
המנהל Gandalf Legolas צעד krbtgt אורח

ניהול באמצעות ממשק גרפי או באמצעות לקוח אינטרנט

בקר ב- wiki.samba.org למידע מפורט על אופן ההתקנה של ה- מיקרוסופט RSAT o כלי ניהול שרתים מרוחקים. אם אינך זקוק למדיניות הקלאסית שמספקת Microsoft Active Directory, תוכל להתקין את החבילה ldap-account-manager המציע ממשק פשוט לניהול באמצעות דפדפן אינטרנט.

חבילת התוכנה של Microsoft Remote Server Administration (RSAT) כלולה במערכות הפעלה של Windows Server.

אנו מצטרפים לדומיין ללקוח Windows 7 בשם "שבע"

מכיוון שאין לנו שרת DHCP ברשת, הדבר הראשון שעלינו לעשות הוא להגדיר את כרטיס הרשת של הלקוח עם IP קבוע, להכריז שה- DNS העיקרי יהיה ה- IP של ה- סמבה-עד-דק, ובדוק שהאפשרות "רשום את כתובת החיבור הזה ב- DNS" מופעלת. זה לא סרק לבדוק שהשם «שבע»עדיין לא רשום ב- DNS הפנימי של סמבה.

לאחר שנצטרף למחשב לתחום והפעלנו מחדש, בואו ננסה להתחבר עם המשתמש «צעדים«. אנו נבדוק שהכל עובד בסדר. מומלץ לבדוק גם את יומני לקוח Windows ולבדוק כיצד השעה מסונכרנת כהלכה.

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

תקציר

Espero que sea útil el artículo a los lectores de la Comunidad DesdeLinux.

הֱיה שלום!


8 תגובות, השאר את שלך

השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   גונסאלו מרטינז דיג'ו

    מאמר ארוך אך מפורט, צעד אחר צעד טוב מאוד כיצד לעשות הכל.

    אני מדגיש את NIS, האמת היא שלמרות שאני יודע על קיומה, אף פעם לא ממש ידעתי איך זה עובד, מכיוון שלמען האמת זה תמיד עשה לי את הרושם שהוא כמעט מת ליד LDAP וסמבה 4.

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

  2.   HO2Gi דיג'ו

    הדרכה ענקית כמו תמיד למועדפים עלי, ברכות פיקו.
    מזל טוב על הפרויקט.

  3.   איוו דיג'ו

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

  4.   פדריקו דיג'ו

    תודה רבה לכולם על התגובה !!!.
    לגבי

  5.   מוסול דיג'ו

    ל- smb.conf שאתה מציג אין שום קישור ל- LDAP, האם זה בכוונה או שהשארתי משהו?

  6.   פיקו דיג'ו

    mussol: מדובר בבקר תחום Active Directory של Samba 4 שכבר משולב בו שרת ה- LDAP שלו.

  7.   וינסנט דיג'ו

    האם תוכל להגיב כיצד לאחד מק (תפוח) לסמבה 4 AD-DC?
    תודה.

  8.   ג'רמירז דיג'ו

    מה שלומך;

    תודה על המדריך, זה נהדר. יש לי שאלה לגבי הודעה שמופיעה לי.

    root @ AD: ~ # nping –tcp -p 53 -c 3 ad.rjsolucionessac.com
    לא ניתן היה לפתור שם מארח / IP נתון: ad.rjsolucionessac.com. שים לב שאתה לא יכול להשתמש בטווחי IP בסגנון '/ מסכה' וב' 1-4,7,100- '
    לא ניתן למצוא יעד חוקי. אנא ודא שהמארחים שצוינו הם כתובות IP בסימון רגיל או שמות מארחים שניתן לפתור באמצעות DNS
    root @ AD: ~ #