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.
- Squid + PAM preverjanje pristnosti na CentOS 7.
- Lokalno upravljanje uporabnikov in skupin
- Avtoritativni strežnik DNS NSD + Shorewall
- Prosody IM in lokalni uporabniki
- Postfix + Dovecot + Squirrelmail in lokalni uporabniki
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:
- Po meri LDAP tako Microsofta kot Sambe.
- Domena Microsoft Windows o Windows domena. V bistvu gre za Microsoftovo omrežje.
- Microsoftov nadzornik domene o Nadzornik domene.
- Kerberos sta prilagodila tako Microsoft kot Samba.
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!
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.
Ogromen tutorial kot vedno mojim najljubšim, Lep pozdrav Fico.
Čestitke za projekt.
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».
Najlepša hvala vsem za komentar !!!.
pozdrav
smb.conf, ki ga pokažeš, nima nobene povezave z LDAP, ali je tako namenoma ali sem kaj pustil?
mussol: To je Samba 4 Active Directory Domain Controller, ki že ima vgrajen strežnik LDAP.
Bi lahko komentirali, kako združiti mac (jabolko) s sambo 4 AD-DC?
Hvala.
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: ~ #