PAM, NIS, LDAP, Kerberos, DS in Samba 4 AD-DC - SMB omrežja

Splošno kazalo serije: Računalniška omrežja za MSP: Uvod

Pozdravljeni prijatelji in prijatelji!

S tem člankom se poslavljam od Skupnosti DesdeLinux. Posebno slovo za posebno skupnost. Od zdaj naprej bom v svojem osebnem projektu, ki si ga lahko ogledate na http://www.gigainside.com.

Glavni cilj prispevka je ponuditi «Velika slika»O avtentifikacijskih storitvah z brezplačno programsko opremo, s katerimi razpolagamo. Vsaj to je naš namen. Zato bo dolgo, kljub temu da vemo, da je v nasprotju s splošnimi pravili pisanja člankov. Upamo, da ga bodo skrbniki sistema cenili.

Poudariti želimo, da je skupni protokol za številne sodobne avtentikacijske sisteme LDAP, in da ni prazno, če ga natančno preučujemo, iz študijskega gradiva, ki ga bomo našli na uradni strani http://www.openldap.org/.

Ne bomo podali podrobnih opredelitev - ali povezav - glede vidikov, ki so bili obravnavani v prejšnjih člankih, ali tistih, katerih opis je lahko dostopen na Wikipediji ali drugih spletnih mestih ali člankih na internetu, da ne bi izgubili objektivnosti sporočila, ki ga želimo dati. Uporabili bomo tudi veljavno kombinacijo imen v angleščini in španščini, saj menimo, da se je večina sistemov rodila z imeni v angleščini in je za Sysadmina zelo koristno, da jih asimilira v izvirnem jeziku.

  • PAM: Vtični modul za preverjanje pristnosti.
  • NIS: omrežna_informacijska_storitev.
  • LDAP: lahek protokol za dostop do imenika.
  • Kerberos: Varnostni protokol za centralno overjanje uporabnikov, računalnikov in storitev v omrežju, preverjanje njihovih poverilnic glede na obstoječe vnose v zbirko podatkov Kerberos.
  • DS: Imeniški strežnik ali imeniška storitev
  • AD–DC: Active Directory - Nadzornik domene

PAM

Tovrstnemu lokalnemu preverjanju pristnosti namenjamo majhno serijo, ki jo boste v vsakdanji praksi videli, da se pogosto uporablja, kadar na primer delovno postajo pridružimo krmilniku domene ali Active Directoryu; za preslikavo uporabnikov, shranjenih v zunanjih podatkovnih bazah LDAP, kot da gre za lokalne uporabnike; za preslikavo uporabnikov, shranjenih v krmilniku domene Active Directory, kot da gre za lokalne uporabnike itd.

NIS

De Wikipedia:

  • Omrežni informacijski sistem (znan pod kratico NIS, kar v španščini pomeni Network Information System) je ime protokola odjemalsko-strežniških imeniških storitev, ki ga je razvil Sun Microsystems za pošiljanje konfiguracijskih podatkov v porazdeljenih sistemih, kot so imena uporabnikov in gostitelji med računalniki. v omrežju.NIS temelji na ONC RPC in ga sestavljajo strežnik, odjemalska knjižnica in različna skrbniška orodja.

    NIS se je prvotno imenoval Yellow Pages ali YP, kar se še vedno uporablja za sklicevanje nanj. Na žalost je to ime blagovna znamka British Telecom, ki je zahtevala, da Sun to ime opusti. Vendar YP ostaja predpona v imenih večine ukazov, povezanih z NIS, kot sta ypserv in ypbind.

    DNS ponuja omejen obseg informacij, najpomembnejša pa je korespondenca med imenom vozlišča in naslovom IP. Za druge vrste informacij takšne specializirane storitve ni. Po drugi strani pa, če upravljate le majhen LAN brez internetne povezave, se ne zdi vredno nastaviti DNS. Zato je Sun razvil omrežni informacijski sistem (NIS). NIS ponuja splošne zmožnosti dostopa do zbirke podatkov, ki jih je mogoče uporabiti za distribucijo, na primer informacij, ki jih vsebujejo datoteke passwd in datoteke v skupinah, vsem vozliščem v omrežju. Zaradi tega je omrežje videti kot en sam sistem z enakimi računi na vseh vozliščih. Podobno se NIS lahko uporablja za distribucijo informacij o imenih vozlišč, ki jih vsebuje / etc / hosts, vsem računalnikom v omrežju.

    Danes je NIS na voljo v skoraj vseh distribucijah Unixa in obstajajo celo brezplačne izvedbe. BSD Net-2 je objavil tisto, ki je izhajala iz referenčne izvedbe javne domene, ki jo je podaril Sun. Koda knjižnice za odjemalski del te različice je že dolgo v libc GNU / Linux, skrbniške programe pa je v GNU / Linux prenesel Swen Thümmler. Vendar pa strežnik NIS od referenčne izvedbe manjka.

    Peter Eriksson je razvil novo izvedbo, imenovano NYS. Podpira tako osnovni NIS kot tudi izboljšano različico Sun NIS +. [1] NYS ne ponuja le številnih orodij NIS in strežnika, temveč doda tudi povsem nov nabor knjižničnih funkcij, ki jih morate zbrati v libc, če jih želite uporabiti. To vključuje novo konfiguracijsko shemo za razrešitev imen vozlišč, ki nadomešča trenutno shemo, ki jo uporablja datoteka "host.conf".

    GNU libc, v skupnosti GNU / Linux znan kot libc6, vključuje posodobljeno različico tradicionalne podpore za NIS, ki jo je razvil Thorsten Kukuk. Podpira vse funkcije knjižnice, ki jih ponuja NYS, in uporablja tudi napredno konfiguracijsko shemo NYS. Orodja in strežnik so še vedno potrebni, vendar uporaba GNU libc prihrani težave s popravljanjem in ponovnim prevajanjem knjižnice

    .

Ime računalnika in domene, omrežni vmesnik in razreševalec

  • Izhajamo iz čiste namestitve - brez grafičnega vmesnika - Debian 8 "Jessie". Domena swl.fan pomeni "Ljubitelji brezplačne programske opreme." Kakšno boljše ime od tega?.
root @ master: ~ # ime gostitelja
mojster
root @ master: ~ # ime gostitelja -f
master.swl.fan

root @ master: ~ # ip addr 1: lo: mtu 65536 qdisc noqueue stanje NEZNANO skupina privzeta povezava / povratna zanka 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00 inet 127.0.0.1/8 obseg gostitelj lo valid_lft za vedno prednost_lft za vedno inet6 :: 1/128 obseg gostitelj valid_lft za vedno prednost_lft za vedno 2: eth0: mtu 1500 qdisc pfifo_fast stanje UP skupina privzeto qlen 1000 povezava / eter 00: 0c: 29: 4c: 76: d9 brd ff: ff: ff: ff: ff: ff inet 192.168.10.5/24 brd 192.168.10.255 obseg globalno eth0 valid_lft za vedno prefer_lft za vedno inet6 fe80 :: 20c: 29ff: fe4c: 76d9 / 64 povezava obsega valid_lft forever prefer_lft forever

root @ master: ~ # cat /etc/resolv.conf 
iskanje swl.fan imenski strežnik 127.0.0.1

Namestitev bind9, isc-dhcp-server in ntp

veži9

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

root @ master: ~ # nano /etc/bind/named.conf
vključite "/etc/bind/named.conf.options"; vključite "/etc/bind/named.conf.local"; vključujejo "/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
možnosti {imenik "/ var / cache / bind"; // Če obstaja požarni zid med vami in strežniki imen, s katerimi želite // govoriti, boste morda morali popraviti požarni zid, da bo omogočil več // vrat. Glej http://www.kb.cert.org/vuls/id/800113

        // Če je vaš ponudnik internetnih storitev navedel enega ali več naslovov IP za stabilne // strežnike imen, jih verjetno želite uporabiti kot posrednike. // Odstranite komentar iz naslednjega bloka in vstavite naslove, ki nadomeščajo // nadomestno mesto all-0. // špediterji {// 0.0.0.0; //}; // ================================================== = ==================== $ // Če BIND zabeleži sporočila o napakah o poteku korenskega ključa, // boste morali posodobiti svoje ključe. Glej https://www.isc.org/bind-keys
        // ================================================== = ==================== $ // Ne želimo DNSSEC
        dnssec-omogoči št;
        // samodejno preverjanje dnssec; auth-nxdomain št; # v skladu z RFC1035 listen-on-v6 {kateri koli; }; // Za preverjanja od localhost in sysadmin // preko dig swl.fan axfr // Nimamo podrejenega DNS-a ... do zdaj
        dovoli prenos {localhost; 192.168.10.1; };
}; root @ master: ~ # named-checkconf

root @ master: ~ # nano /etc/bind/zones.rfcFreeBSD
// Prostor za naslove v skupni rabi (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"; };

// Link-local / APIPA (RFCs 3927, 5735 in 6303)
cona "254.169.in-addr.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; };

// dodelitve protokola IETF (RFC 5735 in 5736)
cona "0.0.192.in-addr.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; };

// TEST-NET- [1-3] za dokumentacijo (RFC 5735, 5737 in 6303)
cona "2.0.192.in-addr.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "100.51.198.in-addr.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "113.0.203.in-addr.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; };

// Primer obsega IPv6 za dokumentacijo (RFC 3849 in 6303)
cona "8.bd0.1.0.0.2.ip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; };

// Imena domen za dokumentacijo in testiranje (BCP 32)
cona "test" {type master; datoteka "/etc/bind/db.empty"; }; cona "primer" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "neveljavno" {glavni tip; datoteka "/etc/bind/db.empty"; }; cona "example.com" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "example.net" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "example.org" {glavni mojster; datoteka "/etc/bind/db.empty"; };

// Testiranje primerjalnega preizkusa usmerjevalnika (RFC 2544 in 5735)
cona "18.198.in-addr.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "19.198.in-addr.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; };

// IANA Rezervirano - Vesolje starega razreda E (RFC 5735)
cona "240.in-addr.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "241.in-addr.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "242.in-addr.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "243.in-addr.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "244.in-addr.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "245.in-addr.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "246.in-addr.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "247.in-addr.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "248.in-addr.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "249.in-addr.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "250.in-addr.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "251.in-addr.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "252.in-addr.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "253.in-addr.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "254.in-addr.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; };

// Neodločeni naslovi IPv6 (RFC 4291)
cona "1.ip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "3.ip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "4.ip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "5.ip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "6.ip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "7.ip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "8.ip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "9.ip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "a.ip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "b.ip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "c.ip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "d.ip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "e.ip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "0.f.ip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "1.f.ip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "2.f.ip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "3.f.ip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "4.f.ip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "5.f.ip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "6.f.ip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "7.f.ip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "8.f.ip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "9.f.ip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "afip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "bfip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "0.efip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "1.efip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "2.efip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "3.efip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "4.efip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "5.efip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "6.efip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "7.efip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; };

// IPv6 ULA (RFC 4193 in 6303)
cona "cfip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "dfip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; };

// Lokalna povezava IPv6 (RFC 4291 in 6303)
cona "8.efip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "9.efip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "aefip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "befip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; };

// Zastareli lokalni naslovi IPv6 (RFCs 3879 in 6303)
cona "cefip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "defip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "eefip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; }; cona "fefip6.arpa" {glavni mojster; datoteka "/etc/bind/db.empty"; };

// IP6.INT je zastarel (RFC 4159)
cona "ip6.int" {glavni mojster; datoteka "/etc/bind/db.empty"; };

root @ master: ~ # nano /etc/bind/named.conf.local
// // Naredite kakršno koli lokalno konfiguracijo tukaj // // Razmislite o dodajanju 1918 con tukaj, če jih ne uporabljate v vaši // organizaciji vključujejo "/etc/bind/zones.rfc1918";
vključujejo "/etc/bind/zones.rfcFreeBSD";

// Izjava o imenu, tipu, lokaciji in dovoljenju za posodobitev // DNS Record Cones // Obe coni sta MASTER coni "swl.fan" {master master; datoteka "/var/lib/bind/db.swl.fan"; }; cona "10.168.192.in-addr.arpa" {glavni mojster; datoteka "/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; serijski 1D; osveži 1H; poskusi 1W; poteče 3H); najmanj ali; Negativni čas predpomnjenja za življenje; @ V NS master.swl.fan. @ IN MX 10 mail.swl.fan. @ V 192.168.10.5 @ IN TXT "Za ljubitelje brezplačne programske opreme"; sysadmin IN A 192.168.10.1 datotečni strežnik IN A 192.168.10.4 master IN A 192.168.10.5 proxyweb IN A 192.168.10.6 blog IN A 192.168.10.7 ftpserver IN A 192.168.10.8 mail IN A 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; serijski 1D; osveži 1H; poskusi 1W; poteče 3H); najmanj ali; Negativni čas predpomnjenja za življenje; @ V NS master.swl.fan. ; 1 V PTR sysadmin.swl.fan. 4 V PTR fileserver.swl.fan. 5 V PTR master.swl.fan. 6 V PTR proxyweb.swl.fan. 7 V PTR blog.swl.fan. 8 V PTR ftpserver.swl.fan. 9 V PTR mail.swl.fan.

root @ master: ~ # named-checkzone swl.fan /var/lib/bind/db.swl.fan
zone swl.fan/IN: naložen serijski 1 OK
root @ master: ~ # named-checkzone 10.168.192.in-addr.arpa /var/lib/bind/db.10.168.192.in-addr.arpa
cona 10.168.192.in-addr.arpa/IN: naložen serijski 1 OK

root @ master: ~ # named-checkconf -zp
root @ master: ~ # systemctl znova zaženite bind9.service
root @ master: ~ # systemctl status bind9.service

Preveri 9

root @ master: ~ # dig swl.fan axfr
root @ master: ~ # dig 10.168.192.in-addr.arpa axfr
root @ master: ~ # kopati v SOA swl.fan
root @ master: ~ # kopati v NS swl.fan
root @ master: ~ # kopati v MX swl.fan
root @ master: ~ # proxyweb gostitelj root @ master: ~ # nping --tcp -p 53 -c 3 localhost
root @ master: ~ # nping --udp -p 53 -c 3 lokalni gostitelj
root @ master: ~ # nping --tcp -p 53 -c 3 master.swl.fan
root @ master: ~ # nping --udp -p 53 -c 3 master.swl.fan
Začetek Npinga 0.6.47 ( http://nmap.org/nping ) v 2017-05-27 09:32 EDT SENT (0.0037s) UDP 192.168.10.5:53> 192.168.10.245:53 ttl = 64 id = 20743 iplen = 28 SENT (1.0044s) UDP 192.168.10.5:53> 192.168.10.245 .53: 64 ttl = 20743 id = 28 iplen = 2.0060 SENT (192.168.10.5s) UDP 53:192.168.10.245> 53:64 ttl = 20743 id = 28 iplen = 3 Max rtt: N / A | Najmanjša rtt: N / A | Povpr. Rtt: N / A Poslani surovi paketi: 84 (0B) | Rcvd: 0 (3B) | Izgubljeno: 100.00 (1%) Nping dokončano: 3.01 naslov IP je pingiran v XNUMX sekunde 

isc-dhcp-strežnik

root @ master: ~ # aptitude namestite isc-dhcp-server
root @ master: ~ # nano / etc / default / isc-dhcp-server
# Na katerih vmesnikih naj strežnik DHCP (dhcpd) streže zahteve DHCP? # Ločite več vmesnikov s presledki, npr. "Eth0 eth1".
VMESNIKI = "eth0"

root @ master: ~ # dnssec-keygen -a HMAC-MD5 -b 128 -r / dev / urandom -n USER dhcp-ključ
root @ master: ~ # mačka Kdhcp-ključ. +157 + 51777. zasebno 
Oblika zasebnega ključa: v1.3 Algoritem: 157 (HMAC_MD5) Ključ: Ba9GVadq4vOCixjPN94dCQ == Bit: AAA = Ustvarjeno: 20170527133656 Objavi: 20170527133656 Aktiviraj: 20170527133656

root @ master: ~ # nano dhcp.key
ključ dhcp-ključ {
        algoritem hmac-md5;
        skrivnost "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
vključite "/etc/bind/dhcp.key";

cona "swl.fan" {glavni mojster; datoteka "/var/lib/bind/db.swl.fan";
        allow-update {ključ dhcp-ključ; };
}; cona "10.168.192.in-addr.arpa" {glavni mojster; datoteka "/var/lib/bind/db.10.168.192.in-addr.arpa";
        allow-update {ključ dhcp-ključ; };
};

root @ master: ~ # named-checkconf

root @ master: ~ # mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.original
root @ master: ~ # nano /etc/dhcp/dhcpd.conf
ddns-vmesni slog posodobitve; ddns-posodobitve o; ddns-ime domene "swl.fan."; ddns-rev-ime domene "in-addr.arpa."; prezreti posodobitve odjemalca; posodobitev-optimizacija false; # Morda bo potrebno za Debian avtoritativni; možnost ip-posredovanja izključena; možnost ime-domene "swl.fan"; vključite "/etc/dhcp/dhcp.key"; cona swl.fan. {primarno 127.0.0.1; ključ dhcp-ključ; } cona 10.168.192.in-addr.arpa. {primarno 127.0.0.1; ključ dhcp-ključ; } redlocal v skupnem omrežju {podomrežje 192.168.10.0 netmask 255.255.255.0 {usmerjevalniki možnosti 192.168.10.1; možnost podomrežja-maska ​​255.255.255.0; možnost oddajanja-naslov 192.168.10.255; možnost domena-ime-strežniki 192.168.10.5; možnost netbios-name-strežniki 192.168.10.5; možnost ntp-strežniki 192.168.10.5; možnost časovni strežniki 192.168.10.5; obseg 192.168.10.30 192.168.10.250; }}

root @ master: ~ # dhcpd -t
Konzorcij za internetne sisteme DHCP strežnik 4.3.1 Copyright 2004-2014 Konzorcij za internetne sisteme. Vse pravice pridržane. Za informacije obiščite https://www.isc.org/software/dhcp/
Datoteka z nastavitvami: /etc/dhcp/dhcpd.conf Datoteka z zbirko podatkov: /var/lib/dhcp/dhcpd.leases PID datoteka: /var/run/dhcpd.pid

root @ master: ~ # systemctl znova zaženite bind9.service 
root @ master: ~ # systemctl status bind9.service 

root @ master: ~ # systemctl start isc-dhcp-server.service
root @ master: ~ # systemctl status isc-dhcp-server.service

ntp

root @ master: ~ # aptitude namestite ntp ntpdate
root @ master: ~ # cp /etc/ntp.conf /etc/ntp.conf.original
root @ master: ~ # nano /etc/ntp.conf
driftfile /var/lib/ntp/ntp.drift statistika loopstats peerstats clockstats filegen loopstats datoteka loopstats type day omogoči filegen peerstats datoteka peerstats type day omogoči filegen clockstats datoteka clockstats type day omogoči strežnik 192.168.10.1 omeji -4 privzeto kod notrap nomodify nopeer noquery restrict -6 privzeto kod notrap nomodify nopeer noquery omeji 127.0.0.1 omeji :: 1 oddaja 192.168.10.255

root @ master: ~ # systemctl znova zaženite ntp.service 
root @ master: ~ # systemctl status ntp.service
root @ master: ~ # ntpdate -u sysadmin.swl.fan
27. maj 10:04:01 ntpdate [18769]: prilagodite časovni strežnik 192.168.10.1 odmik 0.369354 sek

Globalna preverjanja strežnikov ntp, bind9 in isc-dhcp

Iz odjemalca Linux, BSD, Mac OS ali Windows preverite, ali je čas pravilno sinhroniziran. Da pridobi dinamični naslov IP in da se ime tega gostitelja razreši z neposrednimi in povratnimi poizvedbami DNS. Spremenite ime stranke in ponovite vsa preverjanja. Ne nadaljujte, dokler se ne prepričate, da do zdaj nameščene storitve delujejo pravilno. Za nekaj smo v članku napisali vse članke o DNS in DHCP Računalniška omrežja za MSP.

Namestitev strežnika NIS

root @ master: ~ # aptitude show nis
Konflikti z: netstd (<= 1.26) Opis: odjemalci in demoni za omrežno informacijsko storitev (NIS) Ta paket ponuja orodja za nastavitev in vzdrževanje domene NIS. NIS, prvotno znan kot Yellow Pages (YP), se večinoma uporablja za omogočanje, da več naprav v omrežju deli iste podatke o računu, na primer datoteko z geslom.

root @ master: ~ # aptitude namestite nis
Konfiguracija paketa ────────┐ │ Izberite "ime domene" NIS za ta sistem. Če želite, da je ta naprava just │ samo odjemalec, vnesite ime domene IS │ NIS, ki se ji želite pridružiti. Če želite, da je ta naprava strežnik NIS, lahko │ │ vnesete novo ime domene NIS ali ime obstoječe domene NIS. │ │ │ │ Domena NIS: │ │ │ │ swl.fan __________________________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘  

Vaša bo zamudila, ker konfiguracija storitve kot taka ne obstaja. Počakajte, da se postopek konča.

root @ master: ~ # nano / etc / default / nis
# Ali smo strežnik NIS in če je odgovor kakšen (vrednosti: false, slave, master)?
NISSERVER = mojster

root @ master: ~ # nano /etc/ypserv.securenets # securenets Ta datoteka določa pravice dostopa do vašega strežnika NIS # za odjemalce NIS (in pomožni strežniki - ypxfrd uporablja tudi to # datoteko). Ta datoteka vsebuje mrežne maske / omrežne pare. # Naslov IP odjemalca se mora ujemati z vsaj enim #. # # Namesto mrežne maske # 255.255.255.255 lahko uporabimo besedo "gostitelj". V tej # datoteki so dovoljeni samo naslovi IP, ne pa tudi imen gostiteljev. # # Vedno dovoli dostop za localhost 255.0.0.0 127.0.0.0 # Ta vrstica omogoča dostop vsem. PROSIM, PRILAGODITE! # 0.0.0.0 0.0.0.0
255.255.255.0 192.168.10.0

root @ master: ~ # nano / var / yp / Makefile # Ali naj datoteko passwd združimo s senčno datoteko? # MERGE_PASSWD = true | false
MERGE_PASSWD = res

# Ali naj datoteko skupine združimo z datoteko gshadow? # MERGE_GROUP = true | false
MERGE_GROUP = res

Izdelujemo bazo podatkov NIS

root @ master: ~ # / usr / lib / yp / ypinit -m
Na tej točki moramo sestaviti seznam gostiteljev, ki bodo izvajali strežnike NIS. master.swl.fan je na seznamu gostiteljev strežnikov NIS. Nadaljujte z dodajanjem imen za druge gostitelje, po eno v vrstico. Ko končate s seznamom, vnesite a . naslednji gostitelj za dodajanje: master.swl.fan naslednji gostitelj za dodajanje: trenutni seznam strežnikov NIS je videti tako: master.swl.fan Ali je to pravilno? [y / n: y] Za izdelavo baz podatkov potrebujemo nekaj minut ... make [1]: Zapuščanje imenika '/var/yp/swl.fan' master.swl.fan je bil nastavljen kot glavni strežnik NIS . Zdaj lahko zaženete ypinit -s master.swl.fan na vseh pomožnih strežnikih.

root @ master: ~ # systemctl znova zaženi nis
root @ master: ~ # systemctl status nis

Dodamo lokalne uporabnike

root @ master: ~ # adduser bilbo
Dodajanje uporabnika `bilbo '... Dodajanje nove skupine` bilbo' (1001) ... Dodajanje novega uporabnika `bilbo '(1001) s skupino` bilbo' ... Ustvarjanje domačega imenika `/ home / bilbo ' ... Kopiranje datotek iz `/ etc / skel '... Vnesite novo geslo UNIX: Znova vnesite novo geslo UNIX: passwd: geslo pravilno posodobljeno Spreminjanje uporabniških podatkov za bilbo Vnesite novo vrednost ali pritisnite ENTER, da uporabite privzeto Polno ime []: Bilbo Bagins Številka sobe []: Službeni telefon []: Domači telefon []: Drugo []: Ali so podatki pravilni? [DA / N]

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

in tako naprej.

root @ master: ~ # prstne legole
Prijava: legolas Ime: Legolas Archer Directory: / home / legolas Shell: / bin / bash Nikoli ni prijavljen. Brez pošte. Brez načrta.

Posodabljamo bazo podatkov NIS

root @ master: / var / yp # make
make [1]: Vnos imenika '/var/yp/swl.fan' Posodabljanje passwd.byname ... Posodabljanje passwd.byuid ... Posodabljanje group.byname ... Posodabljanje group.bygid ... Posodabljanje netid.byname. .. Posodabljanje shadow.byname ... Prezrto -> združeno s passwd make [1]: zapusti imenik '/var/yp/swl.fan'

Na strežnik isc-dhcp dodamo možnosti NIS

root @ master: ~ # nano /etc/dhcp/dhcpd.conf
ddns-vmesni slog posodobitve; ddns-posodobitve o; ddns-ime domene "swl.fan."; ddns-rev-ime domene "in-addr.arpa."; prezreti posodobitve odjemalca; posodobitev-optimizacija false; avtoritativni; možnost ip-posredovanja izključena; možnost ime-domene "swl.fan"; vključite "/etc/dhcp/dhcp.key"; cona swl.fan. {primarno 127.0.0.1; ključ dhcp-ključ; } cona 10.168.192.in-addr.arpa. {primarno 127.0.0.1; ključ dhcp-ključ; } redlocal v deljenem omrežju {podomrežje 192.168.10.0 netmask 255.255.255.0 {usmerjevalniki možnosti 192.168.10.1; možnost podomrežja-maska ​​255.255.255.0; možnost oddajanja-naslov 192.168.10.255; možnost domena-ime-strežniki 192.168.10.5; možnost netbios-name-strežniki 192.168.10.5; možnost ntp-strežniki 192.168.10.5; možnost časovni strežniki 192.168.10.5;
                možnost nis-domene "swl.fan";
                možnost nis-strežniki 192.168.10.5;
                obseg 192.168.10.30 192.168.10.250; }}

root @ master: ~ # dhcpd -t
root @ master: ~ # systemctl znova zaženite isc-dhcp-server.service

Namestitev odjemalca NIS

  • Izhajamo iz čiste namestitve - brez grafičnega vmesnika - Debian 8 "Jessie".
root @ mail: ~ # ime gostitelja -f
mail.swl.fan

root @ mail: ~ # ip addr
2: eth0: mtu 1500 qdisc pfifo_fast stanje UP skupina privzeto qlen 1000 povezava / eter 00: 0c: 29: 25: 1f: 54 brd ff: ff: ff: ff: ff: ff
    inet 192.168.10.9/24 brd 192.168.10.255 obseg globalni eth0

root @ mail: ~ # aptitude namestitev
root @ mail: ~ # nano /etc/yp.conf # # yp.conf Konfiguracijska datoteka za postopek ypbind. Tu lahko ročno določite # strežnikov NIS, če jih ni mogoče najti z # oddajanjem v lokalnem omrežju (kar je privzeto). # # Sintakso te datoteke si oglejte na priročniku strani ypbind. # # POMEMBNO: Za "ypserver" uporabite naslove IP ali pazite, da je # gostitelj v / etc / hosts. Ta datoteka se interpretira # enkrat in če DNS še ni dosegljiv, strežnika yp ni mogoče razrešiti in ypbind se ne bo nikoli vezal na strežnik. # ypserver ypserver.network.com ypserver master.swl.fan domena swl.fan

root @ mail: ~ # nano /etc/nsswitch.conf
# /etc/nsswitch.conf # # Primer konfiguracije funkcije GNU Name Service Switch. # Če imate nameščena paketa `glibc-doc-reference 'in` info', poskusite: # `info libc" Name Service Switch "za informacije o tej datoteki. passwd: compat nis skupina: compat nis senca: compat nis gshadow: datoteke gostitelji: datoteke dns nis omrežja: datoteke protokoli: db datoteke storitve: db datoteke eterji: db datoteke rpc: db datoteke netgroup: nis

root @ mail: ~ # nano /etc/pam.d/common-session
# pam-auth-update (8) za podrobnosti.
seja neobvezno pam_mkhomedir.so skel = / etc / skel umask = 077
# tukaj so moduli po paketu (blok "Primarni")

root @ mail: ~ # systemctl status nis
root @ mail: ~ # systemctl znova zaženi nis

Sejo zapremo in začnemo znova, vendar z uporabnikom, registriranim v bazi podatkov NIS na naslovu master.swl.fan.

root @ mail: ~ # izhod
odjava Povezava s pošto je zaprta.

buzz @ sysadmin: ~ $ ssh legolas @ mail
geslo legolas @ mail: Ustvarjanje imenika '/ home / legolas'. Programi, vključeni v sistem Debian GNU / Linux, so brezplačna programska oprema; natančni pogoji distribucije za vsak program so opisani v posameznih datotekah v / usr / share / doc / * / copyright. Debian GNU / Linux je opremljen s ČISTO BREZ GARANCIJ, v obsegu, ki ga dovoljuje veljavna zakonodaja.
legolas @ mail: ~ $ pwd
/ domov / legole
legolas @ mail: ~ $ 

Spremenimo geslo uporabnika legolas in preverimo

legolas @ mail: ~ $ yppasswd 
Spreminjanje podatkov o računu NIS za legole na master.swl.fan. Vnesite staro geslo: legolas Spreminjanje gesla NIS za legole na master.swl.fan. Vnesite novo geslo: lokostrelec Geslo mora imeti velike in male črke ali ne-črke. Vnesite novo geslo: Arquero2017 Prosimo, vnesite novo geslo: Arquero2017 Geslo za NIS je bilo spremenjeno na master.swl.fan.

legolas @ mail: ~ $ izhod
odjava Povezava s pošto je zaprta.

buzz @ sysadmin: ~ $ ssh legolas @ mail
geslo legolas @ mail: Arquero2017

Programi, vključeni v sistem Debian GNU / Linux, so brezplačna programska oprema; natančni pogoji distribucije za vsak program so opisani v posameznih datotekah v / usr / share / doc / * / copyright. Debian GNU / Linux je opremljen s ČISTO BREZ GARANCIJ, v obsegu, ki ga dovoljuje veljavna zakonodaja. Zadnja prijava: 27. maja 12:51:50 2017 s sysadmin.swl.fan
legolas @ mail: ~ $

Storitev NIS, izvedena na ravni strežnika in odjemalca, deluje pravilno.

LDAP

Iz Wikipedije:

  • LDAP je okrajšava za Lightweight Directory Access Protocol (v španskem protokolu lahkega / poenostavljenega dostopa do imenika), ki se nanaša na protokol na ravni aplikacije, ki omogoča dostop do urejene in distribuirane imeniške storitve za iskanje različnih informacij v omrežju okolja. LDAP velja tudi za bazo podatkov (čeprav je njen sistem za shranjevanje lahko drugačen), ki jo je mogoče poizvedovati.Imenik je nabor predmetov z atributi, organiziranimi na logičen in hierarhičen način. Najpogostejši primer je telefonski imenik, ki je sestavljen iz vrste imen (oseb ali organizacij), ki so razporejena po abecedi, pri čemer ima vsako ime naslov in telefonsko številko. Za boljše razumevanje gre za knjigo ali mapo, v katero so zapisana imena, telefonske številke in naslovi ljudi, urejena pa je po abecedi.

    Drevo imenikov LDAP včasih odraža različne politične, geografske ali organizacijske meje, odvisno od izbranega modela. Trenutne razmestitve LDAP običajno uporabljajo imena sistemov domenskih imen (DNS) za strukturiranje višjih ravni hierarhije. Ko se pomikate po imeniku, se lahko pojavijo vnosi, ki predstavljajo ljudi, organizacijske enote, tiskalnike, dokumente, skupine ljudi ali kar koli, kar predstavlja dani vnos v drevesu (ali več vnosov).

    Običajno shrani podatke za preverjanje pristnosti (uporabnik in geslo) in se uporablja za preverjanje pristnosti, čeprav je mogoče shraniti tudi druge podatke (kontaktni podatki uporabnika, lokacija različnih omrežnih virov, dovoljenja, potrdila itd.) Če povzamemo, LDAP je enoten protokol za dostop do nabora informacij v omrežju.

    Trenutna različica je LDAPv3 in je opredeljena v RFC RFC 2251 in RFC 2256 (osnovni dokument LDAP), RFC 2829 (metoda overjanja za LDAP), RFC 2830 (razširitev za TLS) in RFC 3377 (tehnična specifikacija)

    .

Za dolgo, protokol LDAP - in njegove zbirke podatkov, združljive ali ne z OpenLDAP -, je danes najbolj uporabljen v večini sistemov za preverjanje pristnosti. Kot primer prejšnje izjave spodaj navajamo nekaj imen sistemov - Free ali Private -, ki uporabljajo baze podatkov LDAP kot zaledje za shranjevanje vseh svojih predmetov:

  • OpenLDAP
  • Imeniški strežnik Apache
  • Red Hat Directory Server - 389 DS
  • Novell Directory Services - eDirectory
  • SUN Microsystems Open DS
  • Red Hat Identity Manager
  • FreeIPA
  • Krmilnik domene Samba NT4 Classic.
    Pojasniti želimo, da je bil ta sistem razvoj ekipe Samba s programom Samba 3.xxx + OpenLDAP as backend. Microsoft nikoli ni uvedel česa takega. Skočil iz krmilnikov domen NT 4 na njihove aktivne imenike
  • Samba 4 Active Directory - Nadzornik domene
  • ClearOS
  • zentyal
  • Korporativni strežnik UCS Uninvention
  • Microsoftov aktivni imenik

Vsaka izvedba ima svoje značilnosti, najbolj standardna in združljiva pa je OpenLDAP.

Active Directory, najsi bo Microsoftov izvirnik ali Samba 4, predstavlja zvezo več glavnih komponent, ki so:

Ne smemo zamenjati a Storitev imenikov o Imeniška storitev z a Active Directory o Active Directory. Prvi lahko gostijo preverjanje pristnosti Kerberos ali pa tudi ne, vendar ne ponujajo Microsoftove omrežne storitve, ki jo ponuja Windows Domain, niti nimajo Windows Domain Controller kot take.

Storitev Directory ali Directory Service se lahko uporablja za preverjanje pristnosti uporabnikov v mešanem omrežju z odjemalci UNIX / Linux in Windows. Pri slednjem mora biti na vsakem odjemalcu nameščen program, ki deluje kot posrednik med imeniško storitvijo in samim odjemalcem Windows, na primer brezplačna programska oprema. strani.

Imeniška storitev z OpenLDAP

  • Izhajamo iz čiste namestitve - brez grafičnega vmesnika - Debian 8 "Jessie", z istim "glavnim" imenom stroja, ki se uporablja za namestitev NIS, pa tudi konfiguracijo njegovega omrežnega vmesnika in datoteko /etc/resolv.conf. Za ta novi strežnik smo namestili strežnik ntp, bind9 in isc-dhcp, ne da bi pozabili na globalne preglede pravilnega delovanja treh prejšnjih storitev.
root @ master: ~ # aptitude namesti slapd ldap-utils

Konfiguracija paketa

┌────────────────────┤┤ Konfiguracija Slapd ├─────────────────────┐ │ Vnesite geslo za skrbniški vnos vašega imenika LDAP │ │. │ │ │ │ Skrbniško geslo: │ │ │ │ ******** _________________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────┘

Preverimo začetno konfiguracijo

root @ master: ~ # slapcat
dn: dc = swl, dc = ventilator
objectClass: top objectClass: dcObject objectClass: organisation o: swl.fan dc: swl strukturniObjectClass: organization entryUUID: c8510708-da8e-1036-8fe1-71d022a16904 creatorsName: cn = admin, dc = swl, dc = fan entry createT20170531205219Tta20170531205219.833955TT000000ZTMT000ZTMT000000TMT20170531205219TTMTXNUMXTTTA : XNUMXZNXNUMX vnos Z # XNUMX # XNUMX # XNUMX modifikatorji Ime: cn = admin, dc = swl, dc = fan modifyTimestamp: XNUMXZ

dn: cn = admin, dc = swl, dc = ventilator
objectClass: simpleSecurityObject objectClass: organizationalRole cn: admin Opis: Skrbnik LDAP userPassword :: e1NTSEF9emJNSFU1R3l2OWVEN0pmTmlYOVhKSUF4ekY1bU9YQXc = structuralObjectClass: organizationalRole entryUUID: c851178e- da8fe1036e entrySw8d-da2fe71 entrySw022c16904e-da20170531205219fe20170531205219.834422e-000000 entrySw000e-da000000fe20170531205219e = entrySXNUMX entrySwXNUMXe-daXNUMXfeXNUMXeXNUMXpmTmlYOVhKSUXNUMX entrySXNUMXe-XNUMXe vstop = cXNUMXe XNUMX Z # XNUMX # XNUMX # XNUMX modifikatorji Ime: cn = admin, dc = swl, dc = fan modifyTimestamp: XNUMXZ

Spremenimo datoteko /etc/ldap/ldap.conf

root @ master: ~ # nano /etc/ldap/ldap.conf
BASE dc = swl, dc = URI ventilatorja    ldap: // localhost

Organizacijske enote in splošna skupina «uporabniki»

Dodali smo najmanj potrebne organizacijske enote in skupino «uporabniki» skupine Posix, v katero bomo postavili vse uporabnike po zgledu mnogih sistemov, ki imajo skupino «Uporabniki«. Označujemo ga z imenom «uporabniki», da ne bi prišli do morebitnih konfliktov s skupino «uporabnik"sistema.

root @ master: ~ # nano base.ldif
dn: ou = ljudje, dc = swl, dc = oboževalecClass: organizationUnit ou: people dn: ou = groups, dc = swl, dc = fan objectClass: organisationUnit ou: groups dn: cn = users, ou = groups, dc = swl, dc = fan objectClass: posixGroup cn: users gidNumber: 10000

root @ master: ~ # ldapadd -x -D cn = admin, dc = swl, dc = fan -W -f base.ldif
Vnesite geslo LDAP: dodajanje novega vnosa "ou = people, dc = swl, dc = fan" dodajanje novega vnosa "ou = groups, dc = swl, dc = fan"

Preverimo dodane vnose

root @ master: ~ # ldapsearch -x ou = ljudje
# people, swl.fan dn: ou = people, dc = swl, dc = fan object Klasa: organizacijska Enota ou: ljudje

root @ master: ~ # ldapsearch -x ou = skupine
# groups, swl.fan dn: ou = groups, dc = swl, dc = fan object Klasa: organizacijska Enota ou: skupine

root @ master: ~ # ldapsearch -x cn = uporabniki
# users, groups, swl.fan dn: cn = users, ou = groups, dc = swl, dc = fan objectClass: posixGroup cn: users gidNumber: 10000

Dodamo več uporabnikov

Geslo, ki ga moramo navesti v LDAP, moramo dobiti z ukazom slappasswd, ki vrne šifrirano geslo SSHA.

Geslo za korake uporabnika:

root @ master: ~ # slappasswd 
Novo geslo: Znova vnesite novo geslo: 
{SSHA}Fn8Juihsr137u8KnxGTNPmnV8ai//0lp

Geslo za uporabniške legole

root @ master: ~ # slappasswd 
Novo geslo: Znova vnesite novo geslo: 
{SSHA}rC50/W3kBmmDd+8+0Lz70vkGEu34tXmD

Geslo za uporabnika gandalf

root @ master: ~ # slappasswd 
Novo geslo: Znova vnesite novo geslo: 
{SSHA} oIVFelqv8WIxJ40r12lnh3bp + SXGbV + u

root @ master: ~ # nano users.ldif
dn: uid = strides, ou = people, dc = swl, dc = fan objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: strides cn: strides givenName: Strides sn: El Rey userPassword: {SSHA}Fn8Juihsr137u8KnxGTNPmnV8ai//0lp
uidNumber: 10000 gidNumber: 10000 mail: striders@swl.fan
gecos: Strider El Rey login Shell: / bin / bash homeDirectory: / home / strider dn: uid = legolas, ou = people, dc = swl, dc = fan objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: legolas cN: legolas : Legolas sn: Archer uporabnik Geslo: {SSHA}rC50/W3kBmmDd+8+0Lz70vkGEu34tXmD
uidNumber: 10001 gidNumber: 10000 mail: legolas@swl.fan
gecos: Legolas Archer loginShell: / bin / bash homeDirectory: / home / legolas dn: uid = gandalf, ou = people, dc = swl, dc = fan objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: gandalf cName: gandalf cName: gandalf cName Gandalf sn: uporabnik čarovnika geslo: {SSHA} oIVFelqv8WIxJ40r12lnh3bp + SXGbV + u
uidNumber: 10002 gidNumber: 10000 mail: gandalf@swl.fan
gecos: Gandalf The Wizard login Shell: / bin / bash homeDirectory: / home / gandalf

root @ master: ~ # ldapadd -x -D cn = admin, dc = swl, dc = fan -W -f users.ldif
Vnesite geslo LDAP: dodajanje novega vnosa "uid = koraki, ou = ljudje, dc = swl, dc = fan" dodajanje novega vnosa "uid = legolas, ou = ljudje, dc = swl, dc = fan" dodajanje novega vnosa "uid = gandalf, ou = ljudje, dc = swl, dc = ventilator "

Preverimo dodane vnose

root @ master: ~ # ldapsearch -x cn = koraki
root @ master: ~ # ldapsearch -x uid = koraki

Z zbirko podatkov slpad upravljamo s pripomočki za konzole

Izberemo paket ldapscripts za takšno nalogo. Postopek namestitve in konfiguracije je naslednji:

root @ master: ~ # aptitude namestite 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 = groups' USUFFIX = 'ou = people' # MSUFFIX = 'ou = Computers' GIDSTART = 10001 UIDSTART = 10003 # MIDSTART = 10000 # Odjemalski ukazi OpenLDAP LDAPSEARCHBIN = "/ usr / bin / ldapsearch" LDAPADDBIN = "/ usr / bin / ldapadd" LDAPDELETEIN / usr / bin / ldapdelete "LDAPMODIFYBIN =" / usr / bin / ldapmodify "LDAPMODRDNBIN =" / usr / bin / ldapmodrdn "LDAPPASSWDBIN =" / usr / bin / ldappasswd "GCLASS =" posixTEMPL = . /ldapadduser.template "PASSWORDGEN =" echo% u "

Upoštevajte, da skripti uporabljajo ukaze paketov ldap-utils. Teči dpkg -L ldap-utils | grep / bin vedeti, kaj so.

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: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: cn: givenName: sn: displayName: uidNumber: gidNumber: 10000 homeDirectory: prijava lupina: pošta: @ swl.fan gekoni: opis: Uporabniški račun
 
root @ master: ~ # nano /etc/ldapscripts/ldapscripts.conf
## odstranimo komentar UTEMPLATE = "/ etc / ldapscripts / ldapadduser.template"

Dodajte uporabnika "bilbo" in ga določite za člana skupine "uporabniki"

root @ master: ~ # ldapadduser bilbo uporabniki
[dn: uid = bilbo, ou = people, dc = swl, dc = fan] Vnesite vrednost za "givenName": Bilbo [dn: uid = bilbo, ou = people, dc = swl, dc = fan] Vnesite vrednost za " sn ": Bagins [dn: uid = bilbo, ou = people, dc = swl, dc = fan] Vnesite vrednost za" displayName ": Bilbo Bagins Uspešno je bil uporabnik bilbo dodan v LDAP Uspešno nastavljeno geslo za uporabnika bilbo

root @ master: ~ # ldapsearch -x uid = bilbo
# bilbo, people, swl.fan dn: uid = bilbo, ou = people, dc = swl, dc = fan objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: bilbo cn: bilbo givenName: Bilbo sn: Bagins displayName: Bilbo Bagins uidNumber: 10003 gidNumber: 10000 homeDirectory: / home / bilbo login Shell: / bin / bash mail: bilbo@swl.fan
gecos: bilbo opis: Uporabniški račun

Če si želite ogledati razpršeno geslo uporabnika bilbo, je treba izvesti poizvedbo z avtentikacijo:

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

Če želite izbrisati uporabnika bilbo, ki ga izvedemo:

root @ master: ~ # ldapdelete -x -D cn = admin, dc = swl, dc = fan -W uid = bilbo, ou = ljudje, dc = swl, dc = fan
Vnesite geslo LDAP:

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

Z zbirko podatkov slapd upravljamo prek spletnega vmesnika

Imamo funkcionalno imeniško storitev in jo želimo lažje upravljati. Za to nalogo je zasnovanih veliko programov, na primer phpldapadmin, ldap-račun-upraviteljitd., ki so na voljo neposredno v skladiščih. Imeniško storitev lahko upravljamo tudi prek Apache Directory Studio, ki ga moramo prenesti z interneta.

Za več informacij obiščite https://blog.desdelinux.net/ldap-introduccion/in naslednjih 6 člankov.

Odjemalec LDAP

Stopnja:

Recimo, da imamo ekipo mail.swl.fan kot poštni strežnik, izveden, kot smo videli v članku Postfix + Dovecot + Squirrelmail in lokalni uporabniki, ki je razvit na CentOS-u, pa lahko služi kot vodilo za Debian in številne druge distribucijske sisteme Linux. Želimo, da poleg lokalnih uporabnikov, ki smo jih že prijavili, tudi uporabniki, shranjeni v zbirki podatkov OpenLDAP, ki obstaja v master.swl.fan. Da bi to dosegli, moramo «začrtati»Uporabnikom LDAP kot lokalnim uporabnikom na strežniku mail.swl.fan. Ta rešitev velja tudi za vse storitve, ki temeljijo na overjanju PAM. Splošni postopek za Debian, je naslednje:

root @ mail: ~ # aptitude namestite libnss-ldap libpam-ldap ldap-utils

  ┌────────────────────┤ Konfiguracija libnss-ldap ├─────────────────────┐ │ Vnesite URI („Enotni identifikator vira“ ali │ │ Enotni identifikator vira) strežnika LDAP. Ta niz je podoben │ │ «ldap: //: / ». Lahko tudi │ │ uporabite «ldaps: // » ali "ldapi: //". Številka vrat ni obvezna. │ │ │ │ Priporočljivo je, da uporabite naslov IP, da se izognete okvari, kadar storitve domenskih imen estén │ niso na voljo. RI URI strežnika LDAP: │ │ │ │ ldap: //master.swl.fan __________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ───────────────────────────┘ ┌───────────────────── ┤ Konfiguracija libnss-ldap ├──────────────────────┐ │ Vnesite razločno ime (DN) iskalne baze LDAP. Številna spletna mesta za ta namen uporabljajo komponente domenskih imen. Na primer, domena "example.net" bi uporabila │ │ "dc = example, dc = net" kot ločeno ime iskalne baze. │ │ │ │ Razločno ime (DN) iskalne osnove: │ │ │ │ dc = swl, dc = ventilator ____________________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Konfiguracija libnss-ldap │──────────────────────┐ │ Vnesite različico protokola LDAP, ki naj jo uporablja ldapns. │ │ je priporočljivo uporabiti najvišjo razpoložljivo številko različice. Version │ │ │ Različica LDAP za uporabo: │ │ │ │                                     3                                     │ │ 2 │ │ │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Konfiguracija libnss-ldap ├──────────────────────┐ │ Izberite, kateri račun se bo uporabljal za poizvedbe nss s korenskimi pravicami │ │. │ │ │ Opomba: Da ta možnost deluje, račun potrebuje dovoljenja, da lahko access │ dostopa do atributov LDAP, ki so povezani z uporabniškimi shadow │ "senčnimi" vnosi, pa tudi do gesel uporabnikov in skupin │ │ . │ │ │ │ Račun LDAP za root: │ │ │ │ cn = admin, dc = swl, dc = fan ___________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Konfiguracija libnss-ldap ├─────────────────────┐ │ Vnesite geslo, ki ga želite uporabiti, ko libnss-ldap poskuša │ │ preveriti pristnost v imeniku LDAP z računom LDAP za root. │ │ │ │ Geslo bo shranjeno v ločeni datoteki │ │ ("/etc/libnss-ldap.secret"), do katere lahko dostopa samo root. │ │ │ │ Če vnesete prazno geslo, bo staro geslo ponovno uporabljeno. │ │ │ │ Geslo za korenski račun LDAP: │ │ │ │ ******** ________________________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ────────────────────────────┘ ┌──────────────────── ─┤ Konfiguracija libnss-ldap ├──────────────────────┐ │ │ │ nsswitch.conf se ne upravlja samodejno │ │ │ │ Datoteko morate spremeniti "/etc/nsswitch.conf "za uporabo podatkovnega vira LDAP, če želite, da paket libnss-ldap deluje. │ │ Vzorčno datoteko │ │ lahko uporabite v "/usr/share/doc/libnss-ldap/examples/nsswitch.ldap" kot primer konfiguracije nsswitch ali │ │ jo lahko kopirate v svojo trenutno konfiguracijo. │ │ │ Upoštevajte, da je pred odstranitvijo tega paketa morda priročno │ │ odstraniti vnose "ldap" iz datoteke nsswitch.conf, tako da bodo osnovne storitve continue │ še naprej delovale. │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Konfiguracija libpam-ldap Option──────────────────────┐ │ │ │ Ta možnost omogoča orodja za gesla, ki uporabljajo PAM, za spreminjanje lokalnih gesel. │ │ │ │ Geslo za skrbniški račun LDAP bo shranjeno v ločeni datoteki │ │, ki jo lahko prebere samo skrbnik. │ │ │ │ To možnost je treba onemogočiti, če nameščate "/ etc" prek NFS. │ │ │ │ Ali želite dovoliti, da se skrbniški račun LDAP obnaša kot lokalni skrbnik? │ │ │ │                                            │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Konfiguracija libpam-ldap │──────────────────────┐ │ │ │ Izberite, ali strežnik LDAP prisili identifikacijo, preden pridobi vnose entradas │. Setting │ │ │ Ta nastavitev je redko potrebna. │ │ │ │ Ali mora uporabnik dostopati do baze podatkov LDAP? │ │ │ │                                               │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Konfiguracija libpam-ldap ├──────────────────────┐ │ Vnesite ime skrbniškega računa LDAP. Account │ │ │ Ta račun se bo samodejno uporabljal za upravljanje zbirke podatkov │ │, zato mora imeti ustrezne skrbniške pravice. Administrator │ │ │ Račun skrbnika LDAP: │ │ │ │ cn = admin, dc = swl, dc = fan ___________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Konfiguracija libpam-ldap ├──────────────────────┐ │ Vnesite geslo za skrbniški račun. │ │ │ │ Geslo bo shranjeno v datoteki "/etc/pam_ldap.secret". Skrbnik │ │ bo edini, ki lahko prebere to datoteko, in │ │ libpam-ldap dovoli samodejni nadzor upravljanja povezav v bazi podatkov │ │. You │ │ │ Če pustite to polje prazno, bo ponovno uporabljeno prejšnje shranjeno geslo │ │. Administrator │ │ │ LDAP skrbniško geslo: │ │ │ │ ******** _________________________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘  

root @ mail: ~ # nano /etc/nsswitch.conf
# /etc/nsswitch.conf # # Primer konfiguracije funkcije GNU Name Service Switch. # Če imate nameščena paketa `glibc-doc-reference 'in` info', poskusite: # `info libc" Name Service Switch "za informacije o tej datoteki. passwd: compat ldap
skupina: compat ldap
senca: compat ldap
gshadow: datoteke gostitelji: datoteke dns omrežja: protokoli datotek: db datoteke storitve: db datoteke eterji: db datoteke rpc: db datoteke netgroup: nis

Uredimo datoteko /etc/pam.d/skupno-geslo, gremo v vrstico 26 in izločimo vrednost «use_authtok":

root @ mail: ~ # nano /etc/pam.d/common-password
# # /etc/pam.d/common-password - moduli, povezani z geslom, skupni vsem storitvam # # Ta datoteka je vključena iz drugih konfiguracijskih datotek PAM, # in mora vsebovati seznam modulov, ki opredeljujejo storitve, ki jih je treba # se uporablja za spreminjanje uporabniških gesel. Privzeta vrednost je pam_unix. # Pojasnilo možnosti pam_unix: # # Možnost "sha512" omogoča nasoljena gesla SHA512. Brez te možnosti je # privzeta kripta Unix. V prejšnjih izdajah je bila uporabljena možnost "md5". # # Možnost "nejasna" nadomesti staro možnost "OBSCURE_CHECKS_ENAB" v # login.defs. # # Oglejte si stran pam_unix za druge možnosti. # Od pam 1.0.1-6 to datoteko privzeto upravlja pam-auth-update. # Da bi to izkoristili, je priporočljivo, da konfigurirate kateri koli # lokalni modul pred ali po privzetem bloku in uporabite # pam-auth-update za upravljanje izbire drugih modulov. Za podrobnosti glejte # pam-auth-update (8). # tukaj so moduli na paket (geslo "Primarni") geslo [uspeh = 2 privzeto = prezri] pam_unix.so nejasen sha512
geslo [uspeh = 1 user_unknown = prezri privzeto = die] pam_ldap.so poskusite_prvi_prehod
# tukaj je nadomestna možnost, če noben modul ne uspe z geslom, zahtevano pam_deny.so # prime stack s pozitivno vrnjeno vrednostjo, če je še ni; # s tem se izognemo vrnitvi napake samo zato, ker nič ne nastavi kode za uspeh #, ker bodo zgornji moduli preprosto preskočili zahtevano geslo pam_permit.so # in tukaj je še več modulov za posamezen paket (blok "Dodatni") auth-update config

V primeru, da bomo potrebovali Local Login uporabnikov, shranjenih v LDAP, in želimo, da se njihove mape ustvarijo samodejno domov, datoteko moramo urediti /etc/pam.d/common-session in na konec datoteke dodajte naslednjo vrstico:

seja neobvezno pam_mkhomedir.so skel = / etc / skel umask = 077

V prej razvitem primeru imeniške storitve OpenLDAP je bil edini ustvarjeni lokalni uporabnik uporabnik buzz, medtem ko v LDAP ustvarjamo uporabnike koraki, Legolas, Gandalf, In bilbo. Če so do zdaj narejene konfiguracije pravilne, bi morali imeti seznam lokalnih uporabnikov in tistih, ki so bili preslikani kot lokalni, vendar shranjeni v oddaljenem strežniku LDAP:

root @ mail: ~ # getent passwd 
buzz: x: 1001: 1001: Buzz Debian First OS ,,,: / home / buzz: / bin / bash
Strides: x: 10000: 10000: Strides El Rey: / home / strides: / bin / bash
legolas: x: 10001: 10000: Legolas Archer: / domov / legolas: / bin / bash
gandalf: x: 10002: 10000: Gandalf Čarovnik: / home / gandalf: / bin / bash
bilbo: x: 10003: 10000: bilbo: / home / bilbo: / bin / bash

Po spremembah v preverjanju pristnosti sistema velja, da strežnik znova zaženemo, če se ne soočamo s kritično storitvijo:

root @ mail: ~ # ponovni zagon

Kasneje začnemo lokalno sejo na strežniku mail.swl.fan s poverilnicami uporabnika, shranjenih v zbirki podatkov LDAP za master.swl.fan. Poskusimo se lahko tudi prijaviti prek SSH.

buzz @ sysadmin: ~ $ ssh gandalf @ mail
geslo gandalf @ mail: Ustvarjanje imenika '/ home / gandalf'. Programi, vključeni v sistem Debian GNU / Linux, so brezplačna programska oprema; natančni pogoji distribucije za vsak program so opisani v posameznih datotekah v / usr / share / doc / * / copyright. Debian GNU / Linux je opremljen s ČISTO BREZ GARANCIJ, v obsegu, ki ga dovoljuje veljavna zakonodaja.
gandalf @ mail: ~ $ su
Geslo:

root @ mail: / home / gandalf # getent group
buzz: x: 1001: uporabniki: *: 10000:

root @ mail: / home / gandalf # izhod
izhod

gandalf @ mail: ~ $ ls -l / home /
skupaj 8 drwxr-xr-x 2 buzz buzz     4096 17. junij 12:25 buzz drwx ------ 2 uporabniki gandalfa 4096 17. junij 13:05 gandalf

Imeniška storitev, izvedena na ravni strežnika in odjemalca, deluje pravilno.

Kerberos

Iz Wikipedije:

  • Kerberos je protokol za preverjanje pristnosti računalniškega omrežja, ki ga je ustvaril MIT ki omogoča dvema računalnikoma v negotovem omrežju, da si varno dokazujeta svojo identiteto. Njeni oblikovalci so se najprej osredotočili na model odjemalec-strežnik in zagotavlja vzajemno preverjanje pristnosti: tako odjemalec kot strežnik preverjata identiteto drug drugega. Sporočila za preverjanje pristnosti so zaščitena, da se prepreči prisluškovanje y ponovitev napadov.

    Kerberos temelji na simetrični kriptografiji ključev in zahteva zaupanja vredno tretjo osebo. Poleg tega obstajajo razširitve protokola, da lahko uporabljate asimetrično kriptografijo ključev.

    Kerberos temelji na Needham-Schroederjev protokol. Uporablja zaupanja vredno tretjo osebo, imenovano "Center za distribucijo ključev" (KDC), ki je sestavljena iz dveh ločenih logičnih delov: "Authentication Server" (AS ali Authentication Server) in "Server za izdajo vstopnic" (TGS ali Ticket Granting Server ). Kerberos deluje na podlagi "vstopnic", ki služijo za dokazovanje identitete uporabnikov.

    Kerberos vzdržuje bazo podatkov tajnih ključev; Vsaka entiteta v omrežju - naj bo to odjemalec ali strežnik - ima skupni tajni ključ, ki je znan le sebi in Kerberosu. Poznavanje tega ključa služi za dokazovanje identitete entitete. Kerberos za komunikacijo med dvema entitetama ustvari sejni ključ, s katerim lahko zaščiti svoje težave.

Slabosti Kerberosa

De Zagotovljeno:

Čeprav Kerberos odstrani skupno varnostno grožnjo, jo je težko izvesti iz različnih razlogov:

  • Migracija uporabniških gesel iz standardne baze podatkov gesel UNIX, kot je / etc / passwd ali / etc / shadow, v bazo podatkov gesla Kerberos, je lahko dolgočasno in ni hitrega mehanizma za izvedbo te naloge.
  • Kerberos predpostavlja, da je vsak uporabnik zaupanja vreden, vendar uporablja nezaupljivo napravo v nezaupljivem omrežju. Njegov glavni cilj je preprečiti pošiljanje nešifriranih gesel po omrežju. Če pa ima kateri koli drug uporabnik razen ustreznega uporabnika dostop do avtomata za izdajo vozovnic (KDC) za preverjanje pristnosti, bi bil Kerberos v nevarnosti.
  • Če želite, da aplikacija uporablja Kerberos, je treba kodo spremeniti, da bo omogočila ustrezne klice v knjižnice Kerberos. Aplikacije, ki so spremenjene na ta način, se štejejo za kerberizirane. Pri nekaterih aplikacijah je to lahko pretirano programiranje zaradi velikosti aplikacije ali njene zasnove. Pri drugih nezdružljivih aplikacijah je treba spremeniti način komunikacije omrežnega strežnika in njegovih odjemalcev; spet lahko to traja kar nekaj programiranja. Na splošno so navadno najbolj problematične zaprtokodne aplikacije, ki nimajo podpore Kerberos.
  • Nazadnje, če se odločite za uporabo Kerberosa v svojem omrežju, se morate zavedati, da gre za izbiro vse ali nič. Če se odločite za uporabo Kerberosa v svojem omrežju, morate vedeti, da če geslo posreduje storitvi, ki Kerberos ne uporablja za avtentikacijo, tvegate, da bo paket prestrežen. Tako vaše omrežje ne bo imelo koristi od uporabe Kerberosa. Če želite zaščititi svoje omrežje s Kerberosom, uporabite le kerberizirane različice vseh odjemalskih / strežniških aplikacij, ki pošiljajo nešifrirana gesla ali v omrežju ne uporabljajo nobene od teh aplikacij.

Ročna implementacija in konfiguriranje OpenLDAP kot Kerberos Back-End ni lahka naloga. Kasneje pa bomo videli, da se Samba 4 Active Directory - Domain Controller na pregleden način integrira za Sysadmin, strežnik DNS, Microsoftovo omrežje in njegov krmilnik domen, strežnik LDAP kot zaledje skoraj vseh svojih predmetov, in storitev preverjanja pristnosti na osnovi Kerberosa kot temeljni komponenti Microsoftovega imenika Active Directory.

Do danes nismo imeli potrebe po uvajanju "Kerberized Network". Zato nismo pisali o tem, kako uvesti Kerberos.

Samba 4 Active Directory - krmilnik domene

Pomembno:

Ni boljše dokumentacije od spletnega mesta wiki.samba.org. Samospoštujoči Sysadmin bi moral to spletno mesto obiskati v angleščini in prebrskati veliko število strani, ki so v celoti posvečene Sambi 4, ki jih je napisal Team Samba sam. Ne verjamem, da je v internetu na voljo dokumentacija, ki bi jo nadomestila. Mimogrede, opazujte število obiskov na dnu vsake strani. Primer tega je obisk vaše glavne strani ali «Glavne strani» 276,183 krat do danes 20. junija 2017 ob 10:10 po vzhodnem standardnem času. Poleg tega je dokumentacija zelo posodobljena, saj je bila ta stran spremenjena 6. junija.

Iz Wikipedije:

Samba je brezplačna izvedba protokola za izmenjavo datotek Microsoft Windows (prej SMB, nedavno preimenovan v CIFS) za sisteme, podobne Unixu. Na ta način je mogoče, da so računalniki z GNU / Linux, Mac OS X ali Unix na splošno videti kot strežniki ali delujejo kot odjemalci v omrežjih Windows. Samba vam omogoča tudi potrditev uporabnikov kot primarnega krmilnika domene (PDC), kot člana domene in celo kot domene Active Directory za omrežja s sistemom Windows; poleg tega, da lahko strežete čakalne vrste za tiskanje, imenike v skupni rabi in preverite pristnost s svojim uporabniškim arhivom.

Med Unix podobnimi sistemi, na katerih je mogoče zagnati Sambo, so distribucije GNU / Linux, Solaris in različne različice BSD med da lahko najdemo Appleov strežnik Mac OS X.

Samba 4 AD-DC z notranjim DNS

  • Izhajamo iz čiste namestitve - brez grafičnega vmesnika - Debian 8 "Jessie".

Začetni pregledi

root @ master: ~ # ime gostitelja
mojster
root @ master: ~ # ime gostitelja --fqdn
master.swl.fan
root @ master: ~ # ip addr
1: kaj: mtu 65536 qdisc noqueue stanje NEZNANO privzeta povezava / povratna zanka skupine 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00 inet 127.0.0.1/8 obseg gostitelj lo valid_lft za vedno prednost_lft za vedno inet6 :: 1/128 obseg gostitelj valid_lft za vedno prednost_lft za vedno 2: eth0: mtu 1500 qdisc pfifo_fast stanje NEZNANO privzeta skupina qlen 1000 povezava / eter 00: 0c: 29: 80: 3b: 3f brd ff: ff: ff: ff: ff: ff
    inet 192.168.10.5/24 brd 192.168.10.255 obseg globalni eth0
       veljaven_lft za vedno prednostni_lft za vedno inet6 fe80 :: 20c: 29ff: fe80: 3b3f / 64 povezava obsega valid_lft za vedno prednostni_ft za vedno
root @ master: ~ # cat /etc/resolv.conf
iskanje swl.fan imenski strežnik 127.0.0.1
  • S katero razglasimo podružnico Glavni samo, več kot dovolj za naše namene.
root @ master: ~ # cat /etc/apt/sources.list
deb http://192.168.10.1/repos/jessie-8.6/debian/ Jessie Glavni
deb http://192.168.10.1/repos/jessie-8.6/debian/security/ jessie / posodobitve Glavni

Postfix podjetja Exim in pripomočkov

root @ master: ~ # aptitude namesti postfix htop mc deborphan

  ┌────────────────────────┤ Konfiguracija postfiksa ├───────────────────── ────┐ │ Izberite vrsto konfiguracije poštnega strežnika, ki najbolj ustreza vašim │ │ potrebam. │ │ │ │ Brez konfiguracije: │ │ Ohrani trenutno konfiguracijo nedotaknjeno. │ │ Spletno mesto: │ │ Pošta se pošilja in prejema neposredno s pomočjo SMTP. │ │ Internet s „smarthost“: │ │ Pošta se prejema neposredno s pomočjo SMTP ali z zagonom orodja, kot je │ como fetchmail. Odhodna pošta se pošlje z uporabo smart │ "pametnega gostitelja". │ │ Samo lokalna pošta: │ │ Dostavljena je samo pošta za lokalne uporabnike. Ne │ │ ni omrežja. │ │ │ │ Splošna vrsta konfiguracije pošte: │ │ │ │ Brez konfiguracije │ │ Spletno mesto │ │ Internet s „smarthost“ │ │ Satelitski sistem │ │                         Samo lokalna pošta                                │ │ │ │ │ │                                     │ │ │ └───────────────────────────────────────────── ────────────────────────────┘ ┌──────────────────── ─────┤ Konfiguracija Postfix ├─────────────────────────┐ │ „Ime poštnega sistema“ je ime domene, ki │ │ se uporablja za "kvalificiranje" _ALL_ e-poštnih naslovov brez imena domene. To vključuje pošto v "root" in iz nje: prosimo, ne poskrbite, da bo naprava pošiljala e-pošto root@example.org do │ │ manj kot root@example.org vprašal. │ │ │ │ Drugi programi bodo uporabljali to ime. To mora biti enolično │ │ kvalificirano ime domene (FQDN). │ │ │ │ Torej, če je e-poštni naslov na lokalni napravi │ │ something@example.org, pravilna vrednost za to možnost bo example.org. │ │ │ │ Ime poštnega sistema: │ │ │ │ master.swl.fan ___________________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘  

Čistimo

root @ master: ~ # aptitude purge ~ c
root @ master: ~ # aptitude install -f
root @ master: ~ # sposobnost čista
root @ master: ~ # aptitude autoclean

Namestimo zahteve za prevajanje Samba 4 in druge potrebne pakete

root @ master: ~ # aptitude namestite acl attr autoconf bison \
zgraditi bistveni debhelper dnsutils docbook-xml docbook-xsl flex gdb \
krb5-uporabnik 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-module pkg-config \
python-all-dev python-dev python-dnspython python-kripto \
xsltproc zlib1g -dev libgpgme11 -dev python -gpgme python -m2crypto \
libgnutls28-dbg gnutls-dev ldap-utils krb5-config

 ┌───────────────┤ Konfiguriranje preverjanja pristnosti Kerberos ├───────────────┐ │ Ko uporabniki poskušajo uporabiti Kerberos in podajo ime │ │ glavnega uporabnika ali uporabnika, ne da bi pojasnili, kateri skrbniški domeni Kerberos pripada glavnica │ │, sistem prevzame privzeto področje │ │.  Privzeto področje lahko uporabite tudi kot področje │ │ storitve Kerberos, ki se izvaja na lokalnem računalniku.  │ │ Običajno je privzeto področje veliko ime lokalne domene DNS │ │.  │ │ │ │ Kerberos različica 5 privzeto področje: │ │ │ │ SWL.FAN __________________________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ────────────────────────────┘┘ ┌───────────────┤ Konfiguriranje preverjanja pristnosti Kerberos ├───────────────┐ │ Vnesite imena strežnikov Kerberos v področje SWL.FAN v │ │ Kerberos, ločena s presledki.  Servers │ │ │ Kerberos strežniki za vaše področje: │ │ │ │ master.swl.fan ___________________________________________________________ │ │ │ │ │││││ ────────────────────────────┘ ┌───────────────┤ Konfiguriranje preverjanja pristnosti Kerberos ├───────────────┐ │ Vnesite ime skrbniškega strežnika (sprememba gesla) │ │ za področje Kerberos SWL.FAN.   

Zgornji postopek je trajal nekaj časa, ker še nimamo nameščene nobene storitve DNS. Vendar ste domeno pravilno izbrali glede na nastavitve datoteke / Etc / hosts. Zapomnite si to v datoteki / Etc / resolv.conf smo kot strežnik domenskih imen razglasili za IP 127.0.0.1.

Zdaj konfiguriramo datoteko / etc / ldap / ldap / conf

root @ master: ~ # nano /etc/ldap/ldap.conf
BASE dc = swl, dc = URI ventilatorja ldap: //master.swl.fan

Za poizvedbe z uporabo ukaza ldapsearch narejeni iz korenskega uporabnika, so tipa ldapsearch -x -W cn = xxxx, datoteko moramo ustvariti /root/.ldapsearch z naslednjo vsebino:

root @ master: ~ # nano .ldaprc
BINDDN CN = skrbnik, CN = uporabniki, DC = swl, DC = ventilator

Datotečni sistem mora podpirati ACL - seznam nadzora dostopa

root @ master: ~ # nano / etc / fstab
# / etc / fstab: statične informacije o datotečnem sistemu. # # Uporabite 'blkid' za tiskanje univerzalnega identifikatorja za # napravo; to lahko uporabimo z UUID = kot močnejši način poimenovanja naprav #, ki deluje, tudi če se diski dodajo in odstranijo. Glejte fstab (5). # # # / je bil med namestitvijo / dev / sda1 UUID = 33acb024-291b-4767-b6f4-cf207a71060c / ext4 user_xattr, acl, barrier = 1, noatime, napake = remount-ro 0 1
# swap je bil med namestitvijo vključen / dev / sda5 UUID = cb73228a-615d-4804-9877-3ec225e3ae32 nobena zamenjava sw 0 0 / dev / sr0 / media / cdrom0 udf, uporabnik iso9660, noauto 0 0

root @ master: ~ # mount -a

root @ master: ~ # dotik test_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
# datoteka: testing_acl.txt user.test = "test"

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

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

root @ master: ~ # getfacl testing_acl.txt
# datoteka: testing_acl.txt # lastnik: korenska # skupina: korenski uporabnik :: rw- skupina :: r-- skupina: adm: maska ​​rwx :: rwx drugo :: r--

Pridobimo vir Samba 4, ga sestavimo in namestimo

Zelo priporočljivo je, da prenesete izvorno datoteko različice Stabilna s spletnega mesta https://www.samba.org/. V našem primeru prenesemo različico samba-4.5.1.tar.gz proti mapi / 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 /

Možnosti konfiguracije

Če želimo prilagoditi možnosti konfiguracije, izvedemo:

root @ master: /opt/samba-4.5.1# ./configure --help

in zelo skrbno izberite tiste, ki jih potrebujemo. Priporočljivo je preveriti, ali lahko preneseni paket namestite v distribucijo Linuxa, ki jo uporabljamo, kar je v našem primeru Debian 8.6 Jessie:

root @ master: /opt/samba-4.5.1# . / Configure odpoved

Konfiguriramo, prevedemo in namestimo samba-4.5.1

  • Izhajajoč iz predhodno nameščenih zahtev in 8604 datotek (ki sestavljajo kompaktno datoteko samba-4.5.1.tar.gz), ki tehtajo približno 101.7 megabajta - vključno z mapami source3 in source4, ki tehtajo približno 61.1 megabajta -, bomo dobili nadomestek za Microsoftov Active Directory, s kakovostjo in stabilnostjo več kot sprejemljiv za vsako proizvodno okolje. Izpostaviti moramo delo ekipe Samba pri zagotavljanju brezplačne programske opreme Samba 4.

Spodnji ukazi so klasični za sestavljanje in nameščanje paketov iz njihovih virov. Biti moramo potrpežljivi, dokler traja celoten postopek. To je edini način za doseganje veljavnih in pravilnih rezultatov.

root @ master: /opt/samba-4.5.1# ./configure --with-systemd --disable-skodelice
root @ master: /opt/samba-4.5.1# Znamka
root @ master: /opt/samba-4.5.1# make install

Med ukaznim postopkom Znamka, lahko vidimo, da sta sestavljena vira Samba 3 in Samba 4. Zato ekipa Samba potrjuje, da je njena različica 4 naravna posodobitev različice 3, tako za krmilnike domen, ki temeljijo na Samba 3 + OpenLDAP, kot tudi za datotečne strežnike ali starejše različice Sambe 4.

Zagotavljanje Sambe

Kot DNS bomo uporabili SAMBA_INTERNAL. V https://wiki.samba.org/index.php?title=Samba_Internal_DNS_Back_End našli bomo več informacij. Ko nas prosijo za geslo skrbniškega uporabnika, moramo vnesti eno dolžino najmanj 8 znakov in tudi s črkami - velike in male črke - in številkami.

Preden nadaljujemo z zagotavljanjem in olajšamo življenje, dodamo pot izvršljivih datotek Samba v naši datoteki .bashrc, Nato zapremo in se znova prijavimo.

root @ master: ~ # nano .bashrc
# ~ / .bashrc: izvede lupina bash (1) za lupine, ki se ne prijavijo. # Opomba: PS1 in umask sta že nastavljena v / etc / profile. Tega ne bi smeli # potrebovati, razen če želite drugačne privzete nastavitve za root. # PS1 = '$ {debian_chroot: + ($ debian_chroot)} \ h: \ w \ $' # umask 022 # Če želite, da je ls obarvan, lahko razkomentirate naslednje vrstice: # export LS_OPTIONS = '- color = auto '# eval "` dircolors` "# alias ls =' ls $ LS_OPTIONS '# alias ll =' ls $ LS_OPTIONS -l '# alias l =' ls $ LS_OPTIONS -lA '# # Še nekaj vzdevkov, da se izognemo napakam : # vzdevek rm = 'rm -i' # vzdevek cp = 'cp -i' # vzdevek mv = 'mv -i'
prijavi -x PATH = "/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: \ / sbin: / bin: / usr / local / samba / sbin: / usr / local / samba / bin "

root @ master: ~ # exit logout Povezava z glavno povezavo je zaprta. xeon @ sysadmin: ~ $ ssh root @ master

root @ master: ~ # določba domene za orodje samba --use-rfc2307 --interactive
Področje [SWL.FAN]: SWL.VENTILATOR
 Domena [SWL]: SWL
 Vloga strežnika (enosmerni tok, član, samostojni) [dc]: dc
 DNS-ov (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: SAMBA_INTERNAL
 IP naslov posrednika DNS (za onemogočanje posredovanja napišite 'none'] [192.168.10.5]: 8.8.8.8
Skrbniško geslo: Vaše geslo 2017
Ponovno vnesite geslo: Vaše geslo 2017
Iskanje naslovov IPv4 Iskanje naslovov IPv6 Ne bo dodeljen naslov IPv6 Nastavitev share.ldb Nastavitev skrivnosti.ldb Nastavitev registra Nastavitev baze podatkov o privilegijih Nastavitev idmap db Nastavitev SAM db Nastavitev particij in nastavitev sam.ldb Nastavitev gor sam.ldb rootDSE Prednaložitev sheme Samba 4 in AD Dodajanje domene DN: DC = swl, DC = ventilator Dodajanje konfiguracijskega vsebnika Nastavitev sheme sam.ldb Nastavitev konfiguracijskih podatkov sam.ldb Nastavitev specifikatorjev zaslona Spreminjanje specifikacij zaslona Dodajanje uporabniškega vsebnika Spreminjanje uporabniškega vsebnika Dodajanje računalniškega vsebnika Spreminjanje računalniškega vsebnika Nastavitev podatkov sam.ldb Nastavitev dobro znanih varnostnih principov Nastavitev uporabnikov in skupin sam.ldb Nastavitev samozdružitve Dodajanje računov DNS Ustvarjanje CN = MicrosoftDNS, CN = System, DC = swl, DC = fan Ustvarjanje particij DomainDnsZones in ForestDnsZones Popolnjevanje particij DomainDnsZones in ForestDnsZones Nastavitev oznake sam.ldb rootDSE kot sinhroniziranih GUID-jev določitveKonfiguracija Kerberos, primerna za Samba 4, je bila ustvarjena na /usr/local/samba/private/krb5.conf Nastavitev ponarejenih nastavitev strežnika yp Ko so zgornje datoteke nameščene, bo strežnik Samba4 pripravljen za uporabo vloge strežnika: domena aktivne mape krmilnik Ime gostitelja: glavna domena NetBIOS: Domena SWL DNS: swl.fan DOMEN SID: S-1-5-21-32182636-2892912266-1582980556

Ne pozabimo kopirati konfiguracijske datoteke Kerberos, kot kaže izhodna datoteka Provisioning:

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

Da ne vnesete ukaza samba-orodje z vašim polnim imenom ustvarimo simbolno povezavo s kratkim imenom orodje:

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

Namestimo NTP

Temeljni del Active Directory je omrežna časovna storitev, ker se preverjanje pristnosti izvaja prek Kerberosa in njegovih vstopnic, je sinhronizacija časa s Sambo 4 AD-DC ključnega pomena.

root @ master: ~ # aptitude namestite 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 statistika loopstats peerstats clockstats filegen loopstats datoteka loopstats type day omogoči filegen peerstats datoteka peerstats type day omogoči filegenstats datoteka clockstats ura tip dan omogoči strežnik 192.168.10.1 omeji -4 privzeto kod notrap nomodify nopeer noquery omeji -6 privzeti kod notrap nomodify nopeer noquery omeji privzeto mssntp omeji 127.0.0.1 omeji :: 1 oddaja 192.168.10.255

root @ master: ~ # ponovni zagon storitve ntp
root @ master: ~ # status ntp storitve

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

Če pri pregledu syslog z uporabo zgornjega ukaza ali journalctl -f dobimo sporočilo:

19. junij 12:13:21 mojster ntpd_intres [1498]: starš je umrl, preden smo končali, izstop

storitev moramo znova zagnati in poskusiti znova. Zdaj ustvarimo mapo ntp_signd:

root @ master: ~ # ls -ld / usr / local / samba / var / lib / ntp_signd
ls: / usr / local / samba / var / lib / ntp_signd ni mogoče dostopati: datoteka ali imenik ne obstaja

root @ master: ~ # mkdir / usr / local / samba / var / lib / ntp_signd
root @ master: ~ # chown 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 /

# Kot je zahtevano na samba.wiki.org
root @ master: ~ # ls -ld / usr / local / samba / var / lib / ntp_signd
drwxr-x --- 2 root ntp 4096 19. junij 12:21 / usr / local / samba / var / lib / ntp_signd

Konfiguriramo Sambo, da začne uporabljati systemd

root @ master: ~ # nano /lib/systemd/system/samba-ad-dc.service
[Storitev] Tip = forking 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 [Namesti] WantedBy = multi-user.target

root @ master: ~ # systemctl omogoči samba-ad-dc
root @ master: ~ # ponovni zagon

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

Lokacije datotek Samba 4 AD-DC

VSE -minus novo ustvarjena storitev samba-ad-dc.service- datoteke so v:

root @ master: ~ # ls -l / usr / local / samba /
skupaj 32 drwxr-sr-x 2 korensko osebje 4096 19. junij 11:55 bin
drwxr-sr-x 2 root staff 4096 19. junij 11:50 itd
drwxr-sr-x 7 root staff 4096 19. junij 11:30 vključujejo
drwxr-sr-x 15 root staff 4096 19. junij 11:33 lib
drwxr-sr-x 7 root staff 4096 19. junij 12:40 zasebna
drwxr-sr-x 2 root staff 4096 19. junij 11:33 sbin
drwxr-sr-x 5 root staff 4096 19. junij 11:33 Delež
drwxr-sr-x 8 root staff 4096 19. junij 12:28 var

v najboljšem slogu UNIX. Vedno je priporočljivo brskati po različnih mapah in preučiti njihovo vsebino.

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

root @ master: ~ # nano /usr/local/samba/etc/smb.conf 
# Globalni parametri [global] netbios name = MASTER realm = SWL.FAN delovna skupina = SWL dns forwarder = 8.8.8.8 strežniške storitve = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate , vloga strežnika dns = aktivni krmilnik domene imenika dovoli posodobitve dns = varno samo idmap_ldb: uporabite rfc2307 = da idmap config *: backend = tdb idmap config *: range = 1000000-1999999 ldap strežnik zahteva močno auth = brez imena printcap = / dev / null [netlogon] path = /usr/local/samba/var/locks/sysvol/swl.fan/scripts only read = No [sysvol] path = / usr / local / samba / var / locks / sysvol only read = No

root @ master: ~ # testparm
Naložite konfiguracijske datoteke smb iz /usr/local/samba/etc/smb.conf Oddelek za obdelavo "[netlogon]" Oddelek za obdelavo "[sysvol]" Naložena datoteka storitev je v redu. Vloga strežnika: ROLE_ACTIVE_DIRECTORY_DC Pritisnite enter, da se prikaže izpis definicij vaše storitve # Globalni parametri [global] realm = SWL.FAN delovna skupina = SWL dns forwarder = 192.168.10.1 strežnik ldap zahteva močno auth = Brez passdb backend = samba_dsdb server role = aktivni imenik krmilnik domene rpc_server: tcpip = ne rpc_daemon: spoolssd = vgrajeni rpc_server: spoolss = vgrajeni rpc_server: winreg = vgrajeni rpc_server: ntsvcs = vgrajeni rpc_server: eventlog = vgrajeni rpc_server: srvsvc = vgrajeni rvcct_server: uporaba zunanjega rvcct_server: privzeta uporaba zunanjih rvcct_server = uporabiti zunanji pipe = true idmap config *: range = 1000000-1999999 idmap_ldb: use rfc2307 = yes idmap config *: backend = tdb map archive = No map readonly = no store dos attributes = Yes vfs objects = dfs_samba4 acl_xattr [netlogon] path = / usr / local / samba / var / locks / sysvol / swl.fan / skripti samo za branje = Ne [sysvol] pot = / usr / local / samba / var / locks / sysvol samo za branje = Ne

Minimalni pregledi

root @ master: ~ # show level ravni domene orodja
Raven funkcije domene in gozda za domeno 'DC = swl, DC = ventilator' Raven funkcije gozda: (Windows) 2008 R2 Raven funkcije domene: (Windows) 2008 R2 Najnižja raven funkcije DC: (Windows) 2008 R2

root @ master: ~ # ldapsearch -x -W

root @ master: ~ # orodje dbcheck
Preverjanje 262 predmetov Preverjanje 262 predmetov (0 napak)

root @ master: ~ # kinit Administrator
Geslo za Administrator@SWL.FAN: 
root @ master: ~ # klist -f
Predpomnilnik vstopnic: FILE: / tmp / krb5cc_0
Primarna privzeta vrednost: Administrator@SWL.FAN

Veljaven začetek Poteče Glavni servis 19 06:17:12 53 24:19:06  krbtgt/SWL.FAN@SWL.FAN
    podaljšati do 20 06:17:12, Zastave: RIA

root @ master: ~ # kdestroy
root @ master: ~ # klist -f
klist: Datoteke predpomnilnika poverilnic '/ tmp / krb5cc_0' ni mogoče najti

root @ master: ~ # smbclient -L localhost -U%
Domena = [SWL] OS = [Windows 6.1] Strežnik = [Samba 4.5.1] Tip imena delnice Komentar --------- ---- ------- netlogon Disk sysvol Disk IPC $ IPC IPC Storitev (Samba 4.5.1) Domena = [SWL] OS = [Windows 6.1] Strežnik = [Samba 4.5.1] Komentar strežnika --------- ------- Glavni mojster delovne skupine ---- ----- -------

root @ master: ~ # smbclient // localhost / netlogon -UAdministrator -c 'ls'
Vnesite skrbniško geslo: Domena = [SWL] OS = [Windows 6.1] Strežnik = [Samba 4.5.1]. D 0 pon. 19. junij 11:50:52 2017 .. D 0 pon. 19. junij 11:51:07 2017 19091584 blokov velikosti 1024. Na voljo 16198044 blokov

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

root @ master: ~ # gostitelj -t SRV _ldap._tcp.swl.fan
_ldap._tcp.swl.fan ima zapis SRV 0 100 389 master.swl.fan.

root @ master: ~ # gostitelj -t SRV _kerberos._udp.swl.fan
_kerberos._udp.swl.fan ima zapis SRV 0 100 88 master.swl.fan.

root @ master: ~ # host -t Master.swl.fan
master.swl.fan ima naslov 192.168.10.5

root @ master: ~ # gostitelj -t SOA swl.fan
swl.fan ima zapis SOA master.swl.fan. hostmaster.swl.fan. 1 900 600 86400 3600

root @ master: ~ # gostitelj -t NS swl.fan
swl.fan imenski strežnik master.swl.fan.

root @ master: ~ # gostitelj -t MX swl.fan
swl.fan nima zapisa MX

root @ master: ~ # samba_dnsupdate --verbose

root @ master: ~ # seznam uporabnikov orodja
Administrator krbtgt gost

root @ master: ~ # seznam skupin orodij
# Rezultat je kup skupin. ;-)

Upravljamo z novo nameščeno Sambo 4 AD-DC

Če želimo spremeniti veljavnost skrbniškega gesla v dneh; zapletenost gesel; najmanjša dolžina gesla; najmanjše in največje trajanje gesla v dneh; in spremenite skrbniško geslo, prijavljeno med Provisioning, moramo z ukazom vrednosti, prilagojene vašim potrebam:

root @ master: ~ # orodje
Uporaba: orodje samba Glavno orodje za upravljanje sambe. Možnosti: -h, --help prikaže to sporočilo s pomočjo in zapre Možnosti različice: -V, --version Prikaži številko različice Na voljo podkomande: dbcheck - Preverite, ali je v lokalni bazi podatkov AD napak. delegiranje - upravljanje delegacij. dns - Upravljanje storitve domenskih imen (DNS). domena - upravljanje domene. drs - Upravljanje storitev kopiranja imenikov (DRS). dsacl - manipulacija DS ACL. fsmo - upravljanje vlog fleksibilnih enojnih operacij (FSMO). gpo - upravljanje predmetov pravilnika skupine (GPO). skupina - upravljanje skupine. ldapcmp - Primerjajte dve zbirki podatkov ldap. ntacl - NTL manipulacija ACL-jev. procesi - navedite procese (za pomoč pri odpravljanju napak v sistemih brez nastavljenega protokola). rodc - Upravljanje krmilnika domene samo za branje (RODC). spletna mesta - upravljanje spletnih mest. spn - Upravljanje imena glavnega imena storitve (SPN). testparm - Sintaksa preveri konfiguracijsko datoteko. čas - Pridobite čas na strežniku. uporabnik - upravljanje uporabnikov. Za več pomoči pri določenem ukazu vnesite: samba-tool (-h | --pomoč)

root @ master: ~ # uporabnik orodja setexpiry administrator --noexpiry
root @ master: ~ # nastavljena gesla za domeno orodja --min-pwd-length = 7
root @ master: ~ # nastavljena gesla za domeno orodja --min-pwd-age = 0
root @ master: ~ # nastavljena gesla domene orodja --max-pwd-age = 60
root @ master: ~ # uporabnik orodja setpassword --filter = samaccountname = Administrator --newpassword = Passw0rD

Dodamo več zapisov DNS

root @ master: ~ # orodje dns
Uporaba: samba-tool dns Upravljanje storitve domenskih imen (DNS). Možnosti: -h, --help prikaže to sporočilo s pomočjo in izstopi Razpoložljive podkomande: dodaj - Dodaj brisanje zapisa DNS - Izbriši poizvedbo zapisa DNS - Poizvedite ime. roothints - poizvedba korenskih namigov. serverinfo - Poizvedba za informacije o strežniku. posodobitev - Posodobite območje zapisa DNS ustvarite - Ustvarite območje. zonedelete - izbrišite območje. zoneinfo - Poizvedba za informacije o conah. zonelist - Poizvedba za cone. Za več pomoči pri določenem ukazu vnesite: samba-tool dns (-h | --pomoč)

Poštni strežnik

root @ master: ~ # tool dns add master swl.fan mail A 192.168.10.9 -U administrator
root @ master: ~ # tool dns add master swl.fan swl.fan MX "mail.swl.fan 10" -U administrator

Fiksni IP drugih strežnikov

root @ master: ~ # tool dns add master swl.fan sysadmin A 192.168.10.1 -U administrator
root @ master: ~ # tool dns add master swl.fan datotečni strežnik A 192.168.10.10 -U administrator
root @ master: ~ # tool dns add master swl.fan proxy A 192.168.10.11 -U administrator
root @ master: ~ # tool dns add master swl.fan chat A 192.168.10.12 -U administrator

Obratno območje

root @ master: ~ # tool dns zonecreate master 10.168.192.in-addr.arpa -U skrbnik
Geslo za [SWL \ administrator]: Cona 10.168.192.in-addr.arpa je bila uspešno ustvarjena

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

Pregledi

root @ master: ~ # tool dns query master swl.fan mail ALL -U administrator
Geslo za [SWL \ administrator]: Ime =, Zapisi = 1, Otroci = 0 A: 192.168.10.9 (zastavice = f0, serijska = 2, ttl = 900)

root @ master: ~ # master gostitelj
master.swl.fan ima naslov 192.168.10.5
root @ master: ~ # gostitelj sysadmin
sysadmin.swl.fan ima naslov 192.168.10.1
root @ master: ~ # gostiteljska pošta
mail.swl.fan ima naslov 192.168.10.9
root @ master: ~ # gostiteljski klepet
chat.swl.fan ima naslov 192.168.10.12
root @ master: ~ # proxy gostitelj
proxy.swl.fan ima naslov 192.168.10.11
root @ master: ~ # gostiteljski strežnik datotek
fileserver.swl.fan ima naslov 192.168.10.10
root @ master: ~ # gostitelj 192.168.10.1
1.10.168.192.in-addr.arpa kazalec domene sysadmin.swl.fan.
root @ master: ~ # gostitelj 192.168.10.5
5.10.168.192.in-addr.arpa kazalec domenskega imena master.swl.fan.
root @ master: ~ # gostitelj 192.168.10.9
9.10.168.192.in-addr.arpa kazalec imena domene mail.swl.fan.
root @ master: ~ # gostitelj 192.168.10.10
10.10.168.192.in-addr.arpa kazalec domenskega imena fileserver.swl.fan.
root @ master: ~ # gostitelj 192.168.10.11
11.10.168.192.in-addr.arpa kazalec imena domene proxy.swl.fan.
root @ master: ~ # gostitelj 192.168.10.12
12.10.168.192.in-addr.arpa kazalec imena domene chat.swl.fan.

Za radovedneže

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

Dodamo uporabnike

root @ master: ~ # uporabnik orodja
Uporaba: uporabnik orodja samba Upravljanje uporabnikov. Možnosti: -h, --help prikaže to sporočilo s pomočjo in zapre razpoložljive podkomande: dodaj - Ustvari novega uporabnika. create - Ustvari novega uporabnika. delete - izbrišite uporabnika. onemogoči - onemogoči uporabnika. omogoči - omogoči uporabnika. getpassword - Pridobite polja z geslom uporabniškega / računalniškega računa. seznam - Seznam vseh uporabnikov. geslo - spremenite geslo za uporabniški račun (tistega, ki je naveden pri preverjanju pristnosti). setexpiry - Nastavite veljavnost uporabniškega računa. setpassword - nastavite ali ponastavite geslo uporabniškega računa. syncpasswords - sinhronizirajte geslo uporabniških računov. Za več pomoči glede določenega ukaza vnesite: uporabnik orodja samba (-h | --pomoč)

root @ master: ~ # uporabnik orodja ustvari trancos Trancos01
Uporabnik 'trancos' je bil uspešno ustvarjen
root @ master: ~ # uporabnik orodja ustvari gandalf Gandalf01
Uporabnik 'gandalf' je bil uspešno ustvarjen
root @ master: ~ # uporabnik orodja ustvari legolas Legolas01
Uporabniške 'legole' so bile uspešno ustvarjene
root @ master: ~ # seznam uporabnikov orodja
Skrbnik gandalf legolas napreduje krbtgt gost

Administracija preko grafičnega vmesnika ali prek spletnega odjemalca

Obiščite wiki.samba.org za podrobne informacije o namestitvi Microsoft RSAT o Orodja za oddaljeno upravljanje strežnikov. Če ne potrebujete klasičnih pravilnikov, ki jih ponuja Microsoft Active Directory, lahko paket namestite ldap-račun-upravitelj ki ponuja preprost vmesnik za upravljanje prek spletnega brskalnika.

Nabor programov Microsoft Remote Server Administration Tools (RSAT) je vključen v operacijske sisteme Windows Server.

Domen pridružimo odjemalcu Windows 7 z imenom "sedem"

Ker v omrežju nimamo strežnika DHCP, moramo najprej konfigurirati odjemalsko omrežno kartico s fiksnim IP-jem in razglasiti, da bo primarni DNS IP samba-ad-dcin preverite, ali je aktivirana možnost "Registriraj naslov te povezave v DNS". Ni nedejavno preverjati, ali je ime «sedem»Še ni registriran v Samba Internal DNS.

Ko računalnik pridružimo domeni in jo znova zaženemo, se poskusimo prijaviti z uporabnikom «koraki«. Preverili bomo, ali vse deluje v redu. Priporočljivo je tudi preveriti dnevnike odjemalca Windows in preveriti, kako je čas pravilno sinhroniziran.

Skrbniki z nekaj izkušnjami s sistemom Windows bodo ugotovili, da bodo vsa preverjanja na odjemalcu prinesla zadovoljive rezultate.

Povzetek

Upam, da bo članek koristen za bralce Skupnosti. DesdeLinux.

Adijo!


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

  1.   Gonzalo Martinez je dejal

    Dolg, a podroben članek, zelo dober korak za korakom, kako narediti vse.

    Poudarjam NIS, resnica je, da čeprav vem za njegov obstoj, nisem nikoli vedel, kako deluje, saj sem bil pošteno odkrit, vedno je imel vtis, da je bil ob LDAP in Sambi 4 praktično mrtev.

    PS: Čestitamo za vaš novi osebni projekt! Škoda, da ne boste še naprej pisali tukaj, vendar je vsaj kraj za vas.

  2.   HO2Gi je dejal

    Ogromen tutorial kot vedno mojim najljubšim, Lep pozdrav Fico.
    Čestitke za projekt.

  3.   IWO je dejal

    Oddelek NIS je odličen, sočustvujem z Gonzalom Martinezom, na kratko sem ga poznal, vendar nisem vedel, kako ga uporabiti in v kakšnih situacijah se uporablja.
    Enkrat hvala za izjemen "kovček" teoretičnega in praktičnega članka.
    Končno novi uspehi v vašem novem projektu «gigainside».

  4.   Federico je dejal

    Najlepša hvala vsem za komentar !!!.
    pozdrav

  5.   musol je dejal

    smb.conf, ki ga pokažeš, nima nobene povezave z LDAP, ali je tako namenoma ali sem kaj pustil?

  6.   phico je dejal

    mussol: To je Samba 4 Active Directory Domain Controller, ki že ima vgrajen strežnik LDAP.

  7.   Vincent je dejal

    Bi lahko komentirali, kako združiti mac (jabolko) s sambo 4 AD-DC?
    Hvala.

  8.   jramirez je dejal

    Kako si

    Hvala za priročnik, super je. Imam vprašanje o sporočilu, ki se mi zdi.

    root @ AD: ~ # nping –tcp -p 53 -c 3 ad.rjsolucionessac.com
    Dano ime gostitelja / IP ni uspelo razrešiti: ad.rjsolucionessac.com. Upoštevajte, da ne morete uporabljati obsegov IP v slogu '/ mask' IN '1-4,7,100-'
    Ne najdem veljavnega cilja. Prepričajte se, da so navedeni gostitelji bodisi naslovi IP v običajnem zapisu bodisi imena gostiteljev, ki jih je mogoče rešiti z DNS
    root @ AD: ~ #