PAM, NIS, LDAP, Kerberos, DS i Samba 4 AD-DC - SMB mreže

Opšti indeks serije: Računarske mreže za mala i srednja preduzeća: Uvod

Pozdrav prijatelji i prijatelji!

Ovim člankom se opraštam od zajednice FromLinux. Poseban oproštaj od posebne zajednice. Od sada ću biti u svom ličnom projektu u kojem možete znati http://www.gigainside.com.

Glavni cilj posta je ponuditi «Velika slika»O uslugama autentifikacije sa besplatnim softverom kojima raspolažemo. Barem nam je to namjera. Stoga će biti dugo, uprkos činjenici da znamo da je to protiv općih pravila pisanja članaka. Nadamo se da će ga sistemski administratori cijeniti.

Želimo naglasiti da je zajednički protokol mnogim modernim sistemima za provjeru autentičnosti LDAP, te da nije prazno pažljivo ga proučavati, iz materijala za učenje koji ćemo naći na službenoj stranici http://www.openldap.org/.

Nećemo davati detaljne definicije - ili veze - o aspektima koji su obrađivani u prethodnim člancima, niti o onima čiji opis može biti lako dostupan na Wikipediji ili drugim web lokacijama ili člancima na Internetu, kako ne bismo izgubili objektivnost poruke koju želimo dati. Također ćemo koristiti valjanu kombinaciju imena na engleskom i španjolskom, jer smatramo da je većina sistema rođena s imenima na engleskom i za Sysadmina je vrlo korisno da ih asimilira na njihov izvorni jezik.

  • PAM: Priključni modul za provjeru identiteta.
  • NIS: Network_Information_Service.
  • LDAP: Lagani protokol za pristup direktorijumu.
  • Kerberos: Sigurnosni protokol za autentifikaciju korisnika, računara i usluga centralno na mreži, provjeru njihovih vjerodajnica u odnosu na postojeće unose u bazu podataka Kerberos.
  • DS: Poslužitelj direktorija ili Usluga direktorija
  • AD-DC: Active Directory - Kontroler domene

Indeks

PAM

Ovoj vrsti lokalne provjere identiteta posvećujemo malu seriju, koju ćete u svakodnevnoj praksi vidjeti da se široko koristi kada, na primjer, radnu stanicu pridružimo kontroloru domene ili Active Directoryu; mapirati korisnike pohranjene u vanjskim LDAP bazama podataka kao da su lokalni korisnici; za mapiranje korisnika pohranjenih u kontroleru domene Active Directory-a kao da su lokalni korisnici, i tako dalje.

NIS

De Wikipedia:

  • Mrežni informativni sistem (poznat pod skraćenicom NIS, što na španskom znači Mrežni informativni sistem) naziv je protokola usluga direktorija klijent-server koji je razvio Sun Microsystems za slanje podataka o konfiguraciji u distribuiranim sistemima kao što je imena korisnika i hostova između računara na mreži.NIS se temelji na ONC RPC, a sastoji se od servera, biblioteke na strani klijenta i različitih administrativnih alata.

    NIS se prvobitno zvao Yellow Pages, ili YP, što se i dalje koristi za njegovo pozivanje. Nažalost, to je ime zaštitni znak British Telecoma, koji je tražio da Sun odustane od tog imena. Međutim, YP ostaje prefiks u imenima većine naredbi povezanih s NIS-om, poput ypserv i ypbind.

    DNS služi ograničenom rasponu informacija, a najvažnija je korespondencija između imena čvora i IP adrese. Za ostale vrste informacija ne postoji takva specijalizirana usluga. S druge strane, ako upravljate samo malim LAN-om bez internetske veze, čini se da ne vrijedi postavljati DNS. Zbog toga je Sun razvio mrežni informativni sistem (NIS). NIS pruža generičke mogućnosti pristupa bazama podataka koje se mogu koristiti za distribuciju, na primjer, informacija sadržanih u passwd-u i grupiranje datoteka svim čvorovima na vašoj mreži. Zbog toga mreža izgleda kao jedinstveni sistem, s istim računima na svim čvorovima. Slično tome, NIS se može koristiti za distribuciju informacija o imenu čvora sadržanih u / etc / hosts na svim mašinama na mreži.

    Danas je NIS dostupan u praktično svim Unix distribucijama, a postoje čak i besplatne implementacije. BSD Net-2 objavio je onaj koji je izveden iz referentne implementacije javnog domena koju je donirao Sun. Kôd biblioteke za klijentski dio ove verzije već dugo postoji u GNU / Linux libc, a administrativne programe na GNU / Linux prenio je Swen Thümmler. Međutim, NIS server nedostaje kao referentna implementacija.

    Peter Eriksson razvio je novu implementaciju nazvanu NYS. Podržava i osnovni NIS i poboljšanu verziju Sun NIS +. [1] NYS ne nudi samo brojne NIS alate i server, već dodaje i čitav novi skup funkcija biblioteke koje trebate kompajlirati u libc ako ih želite koristiti. To uključuje novu konfiguracijsku shemu za razlučivanje imena čvorova koja zamjenjuje trenutnu shemu koju koristi datoteka "host.conf".

    GNU libc, poznat kao libc6 u zajednici GNU / Linux, uključuje ažuriranu verziju tradicionalne NIS podrške koju je razvio Thorsten Kukuk. Podržava sve funkcije knjižnice koje pruža NYS, a također koristi naprednu NYS konfiguracijsku shemu. Alati i poslužitelj i dalje su potrebni, ali upotreba GNU libc štedi posao krpanja i ponovnog prevođenja biblioteke

    .

Ime računara i domene, mrežno sučelje i razrješivač

  • Polazimo od čiste instalacije - bez grafičkog sučelja - Debiana 8 "Jessie". Domena swl.fan znači "Ljubitelji besplatnog softvera". Koje je bolje ime od ovog?.
root @ master: ~ # ime hosta
majstor
root @ master: ~ # ime hosta -f
master.swl.fan

root @ master: ~ # ip addr 1: lo: mtu 65536 qdisc noqueue stanje NEPOZNATA grupa zadana veza / povratna veza 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00: 127.0.0.1: 8: 6 inet 1/128 domet host lo valid_lft zauvijek preferiran_lft zauvijek inet2 :: 0/1500 domet domena valid_lft zauvijek preferirani_lft zauvijek 1000: eth00: mtu 0 qdisc pfifo_fast stanje UP grupa zadani qlen 29 veza / eter 4: 76c: 9: 192.168.10.5c: 24: d192.168.10.255 brd ff: ff: ff: ff: ff: ff inet 0/6 brd 80 opseg globalni eth20 valid_lft zauvijek prefer_lft zauvijek inet29 fe4 :: 76c: 9ff: fe64c: XNUMXdXNUMX / XNUMX opseg link valid_lft zauvijek prefer_lft zauvijek

root @ master: ~ # cat /etc/resolv.conf 
search swl.fan nameserver 127.0.0.1

Instalacija bind9, isc-dhcp-servera i ntp

bind9

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

root @ master: ~ # nano /etc/bind/named.conf
uključuju "/etc/bind/named.conf.options"; uključuju "/etc/bind/named.conf.local"; uključuju "/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
opcije {direktorij "/ var / cache / bind"; // Ako postoji zaštitni zid između vas i poslužitelja imena s kojima želite // razgovarati, možda ćete trebati popraviti zaštitni zid da omogući više // portova da razgovaraju. Vidite http://www.kb.cert.org/vuls/id/800113

        // Ako je vaš ISP pružio jednu ili više IP adresa za stabilne // poslužitelje imena, vjerojatno ih želite koristiti kao prosljeđivače. // Otkomentirajte sljedeći blok i umetnite adrese koje zamjenjuju // rezervirano mjesto all-0. // prosljeđivači {// 0.0.0.0; //}; // ================================================= ===================== $ $ Ako BIND evidentira poruke o greškama o matičnom ključu koji je istekao, // trebat ćete ažurirati svoje ključeve. Vidite https://www.isc.org/bind-keys
        // ================================================= ====================== $ // Ne želimo DNSSEC
        dnssec-enable no;
        // dnssec-provjera valjanosti automatski; auth-nxdomain br; # u skladu s RFC1035 listen-on-v6 {bilo; }; // Za provjere od localhosta i sysadmina // preko dig swl.fan axfr // Nemamo slave DNS ... do sada
        allow-transfer {localhost; 192.168.10.1; };
}; root @ master: ~ # named-checkconf

root @ master: ~ # nano /etc/bind/zones.rfcFreeBSD
// Prostor zajedničke adrese (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 i 6303)
zona "254.169.in-addr.arpa" {tip master; datoteka "/etc/bind/db.empty"; };

// Zadaci IETF protokola (RFCs 5735 i 5736)
zona "0.0.192.in-addr.arpa" {tip master; datoteka "/etc/bind/db.empty"; };

// TEST-NET- [1-3] za dokumentaciju (RFCs 5735, 5737 i 6303)
zona "2.0.192.in-addr.arpa" {master; datoteka "/etc/bind/db.empty"; }; zona "100.51.198.in-addr.arpa" {master; datoteka "/etc/bind/db.empty"; }; zona "113.0.203.in-addr.arpa" {tip master; datoteka "/etc/bind/db.empty"; };

// Primjer raspona IPv6 za dokumentaciju (RFCs 3849 i 6303)
zona "8.bd0.1.0.0.2.ip6.arpa" {master; datoteka "/etc/bind/db.empty"; };

// Imena domena za dokumentaciju i testiranje (BCP 32)
zona "test" {type master; datoteka "/etc/bind/db.empty"; }; zona "primjer" {tip master; datoteka "/etc/bind/db.empty"; }; zona "nevaljano" {master master; datoteka "/etc/bind/db.empty"; }; zona "example.com" {tip master; datoteka "/etc/bind/db.empty"; }; zona "example.net" {tip master; datoteka "/etc/bind/db.empty"; }; zona "example.org" {tip master; datoteka "/etc/bind/db.empty"; };

// Ispitivanje mjerila usmjerivača (RFCs 2544 i 5735)
zona "18.198.in-addr.arpa" {master; datoteka "/etc/bind/db.empty"; }; zona "19.198.in-addr.arpa" {master; datoteka "/etc/bind/db.empty"; };

// IANA rezervirana - Prostor stare klase E (RFC 5735)
zona "240.in-addr.arpa" {tip master; datoteka "/etc/bind/db.empty"; }; zona "241.in-addr.arpa" {tip master; datoteka "/etc/bind/db.empty"; }; zona "242.in-addr.arpa" {master; datoteka "/etc/bind/db.empty"; }; zona "243.in-addr.arpa" {master; datoteka "/etc/bind/db.empty"; }; zona "244.in-addr.arpa" {tip master; datoteka "/etc/bind/db.empty"; }; zona "245.in-addr.arpa" {tip master; datoteka "/etc/bind/db.empty"; }; zona "246.in-addr.arpa" {tip master; datoteka "/etc/bind/db.empty"; }; zona "247.in-addr.arpa" {master; datoteka "/etc/bind/db.empty"; }; zona "248.in-addr.arpa" {tip master; datoteka "/etc/bind/db.empty"; }; zona "249.in-addr.arpa" {master; datoteka "/etc/bind/db.empty"; }; zona "250.in-addr.arpa" {tip master; datoteka "/etc/bind/db.empty"; }; zona "251.in-addr.arpa" {tip master; datoteka "/etc/bind/db.empty"; }; zona "252.in-addr.arpa" {master; datoteka "/etc/bind/db.empty"; }; zona "253.in-addr.arpa" {master; datoteka "/etc/bind/db.empty"; }; zona "254.in-addr.arpa" {tip master; datoteka "/etc/bind/db.empty"; };

// Neraspoređene IPv6 adrese (RFC 4291)
zona "1.ip6.arpa" {tip master; datoteka "/etc/bind/db.empty"; }; zona "3.ip6.arpa" {master; datoteka "/etc/bind/db.empty"; }; zona "4.ip6.arpa" {master; datoteka "/etc/bind/db.empty"; }; zona "5.ip6.arpa" {tip master; datoteka "/etc/bind/db.empty"; }; zona "6.ip6.arpa" {tip master; datoteka "/etc/bind/db.empty"; }; zona "7.ip6.arpa" {tip master; datoteka "/etc/bind/db.empty"; }; zona "8.ip6.arpa" {tip master; datoteka "/etc/bind/db.empty"; }; zona "9.ip6.arpa" {tip master; datoteka "/etc/bind/db.empty"; }; zona "a.ip6.arpa" {tip master; datoteka "/etc/bind/db.empty"; }; zona "b.ip6.arpa" {master; datoteka "/etc/bind/db.empty"; }; zona "c.ip6.arpa" {master; datoteka "/etc/bind/db.empty"; }; zona "d.ip6.arpa" {master; datoteka "/etc/bind/db.empty"; }; zona "e.ip6.arpa" {master; datoteka "/etc/bind/db.empty"; }; zona "0.f.ip6.arpa" {tip master; datoteka "/etc/bind/db.empty"; }; zona "1.f.ip6.arpa" {master; datoteka "/etc/bind/db.empty"; }; zona "2.f.ip6.arpa" {master; datoteka "/etc/bind/db.empty"; }; zona "3.f.ip6.arpa" {tip master; datoteka "/etc/bind/db.empty"; }; zona "4.f.ip6.arpa" {tip master; datoteka "/etc/bind/db.empty"; }; zona "5.f.ip6.arpa" {tip master; datoteka "/etc/bind/db.empty"; }; zona "6.f.ip6.arpa" {tip master; datoteka "/etc/bind/db.empty"; }; zona "7.f.ip6.arpa" {master; datoteka "/etc/bind/db.empty"; }; zona "8.f.ip6.arpa" {tip master; datoteka "/etc/bind/db.empty"; }; zona "9.f.ip6.arpa" {tip master; datoteka "/etc/bind/db.empty"; }; zona "afip6.arpa" {master; datoteka "/etc/bind/db.empty"; }; zona "bfip6.arpa" {tip master; datoteka "/etc/bind/db.empty"; }; zona "0.efip6.arpa" {master; datoteka "/etc/bind/db.empty"; }; zona "1.efip6.arpa" {tip master; datoteka "/etc/bind/db.empty"; }; zona "2.efip6.arpa" {tip master; datoteka "/etc/bind/db.empty"; }; zona "3.efip6.arpa" {tip master; datoteka "/etc/bind/db.empty"; }; zona "4.efip6.arpa" {master; datoteka "/etc/bind/db.empty"; }; zona "5.efip6.arpa" {master; datoteka "/etc/bind/db.empty"; }; zona "6.efip6.arpa" {tip master; datoteka "/etc/bind/db.empty"; }; zona "7.efip6.arpa" {tip master; datoteka "/etc/bind/db.empty"; };

// IPv6 ULA (RFCs 4193 i 6303)
zona "cfip6.arpa" {tip master; datoteka "/etc/bind/db.empty"; }; zona "dfip6.arpa" {master; datoteka "/etc/bind/db.empty"; };

// Lokalni IPv6 link (RFCs 4291 i 6303)
zona "8.efip6.arpa" {tip master; datoteka "/etc/bind/db.empty"; }; zona "9.efip6.arpa" {tip master; datoteka "/etc/bind/db.empty"; }; zona "aefip6.arpa" {master; datoteka "/etc/bind/db.empty"; }; zona "befip6.arpa" {master; datoteka "/etc/bind/db.empty"; };

// IPv6 zastarjele lokalne adrese (RFCs 3879 i 6303)
zona "cefip6.arpa" {tip master; datoteka "/etc/bind/db.empty"; }; zona "defip6.arpa" {master; datoteka "/etc/bind/db.empty"; }; zona "eefip6.arpa" {master; datoteka "/etc/bind/db.empty"; }; zona "fefip6.arpa" {master; datoteka "/etc/bind/db.empty"; };

// IP6.INT je zastario (RFC 4159)
zona "ip6.int" {tip master; datoteka "/etc/bind/db.empty"; };

root @ master: ~ # nano /etc/bind/named.conf.local
// // Napravite ovdje bilo kakvu lokalnu konfiguraciju // // Razmislite o tome da ovdje dodate 1918 zona, ako se one ne koriste u vašoj organizaciji // "" itd.
uključuju "/etc/bind/zones.rfcFreeBSD";

// Deklaracija imena, tipa, lokacije i dozvole za ažuriranje // DNS zona za snimanje // Obje zone su MASTER zona "swl.fan" {master; datoteka "/var/lib/bind/db.swl.fan"; }; zona "10.168.192.in-addr.arpa" {master; 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; osvježi 1H; pokušaj 1W; istječe 3H); minimum ili; Vrijeme negativnog predmemoriranja za život; @ IN NS master.swl.fan. @ IN MX 10 mail.swl.fan. @ U 192.168.10.5 @ IN TXT "Za ljubitelje besplatnog softvera"; sysadmin U A 192.168.10.1 poslužitelj datoteka U A 192.168.10.4 master U A 192.168.10.5 proxyweb U A 192.168.10.6 blog U A 192.168.10.7 ftpserver U 192.168.10.8 pošta U 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; osvježi 1H; pokušaj 1W; istječe 3H); minimum ili; Vrijeme negativnog predmemoriranja za život; @ IN NS master.swl.fan. ; 1 U PTR sysadmin.swl.fan. 4 U PTR fileserver.swl.fan. 5 U PTR master.swl.fan. 6 U PTR proxyweb.swl.fan. 7 U PTR blog.swl.fan. 8 U PTR ftpserver.swl.fan. 9 U PTR mail.swl.fan.

root @ master: ~ # named-checkzone swl.fan /var/lib/bind/db.swl.fan
zone swl.fan/IN: učitan serijski 1 OK
root @ master: ~ # named-checkzone 10.168.192.in-addr.arpa /var/lib/bind/db.10.168.192.in-addr.arpa
zona 10.168.192.in-addr.arpa/IN: učitan serijski 1 OK

root @ master: ~ # named-checkconf -zp
root @ master: ~ # systemctl ponovo pokrenite bind9.service
root @ master: ~ # systemctl status bind9.service

Bind9 čekovi

root @ master: ~ # dig swl.fan axfr
root @ master: ~ # dig 10.168.192.in-addr.arpa axfr
root @ master: ~ # kopati u SOA swl.fan
root @ master: ~ # kopati u NS swl.fan
root @ master: ~ # kopati u MX swl.fan
root @ master: ~ # proxyweb host root @ master: ~ # nping --tcp -p 53 -c 3 localhost
root @ master: ~ # nping --udp -p 53 -c 3 localhost
root @ master: ~ # nping --tcp -p 53 -c 3 master.swl.fan
root @ master: ~ # nping --udp -p 53 -c 3 master.swl.fan
Počevši od Npinga 0.6.47 ( http://nmap.org/nping ) u 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 | Min. Br .: N / A | Pros. Rtt: N / A Poslano sirovih paketa: 84 (0B) | Rcvd: 0 (3B) | Izgubljeno: 100.00 (1%) Nping završeno: 3.01 IP adresa pingirana za XNUMX sekunde 

isc-dhcp-server

root @ master: ~ # aptitude instaliraj isc-dhcp-server
root @ master: ~ # nano / etc / default / isc-dhcp-server
# Na kojim bi sučeljima DHCP server (dhcpd) trebao služiti DHCP zahtjeve? # Odvojite više sučelja s razmacima, npr. "Eth0 eth1".
INTERFEJS = "eth0"

root @ master: ~ # dnssec-keygen -a HMAC-MD5 -b 128 -r / dev / urandom -n KORISNIK dhcp-ključ
root @ master: ~ # mačka Kdhcp-ključ. +157 + 51777.privatno 
Format privatnog ključa: v1.3 Algoritam: 157 (HMAC_MD5) Ključ: Ba9GVadq4vOCixjPN94dCQ == Bitovi: AAA = Stvoreno: 20170527133656 Objavite: 20170527133656 Aktivirajte: 20170527133656

root @ master: ~ # nano dhcp.key
ključ dhcp-ključ {
        algoritam hmac-md5;
        tajna "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
uključuju "/etc/bind/dhcp.key";

zona "swl.fan" {master; datoteka "/var/lib/bind/db.swl.fan";
        allow-update {ključ dhcp-ključ; };
}; zona "10.168.192.in-addr.arpa" {master; 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-update-style-privremeni; ddns-ažuriranja na; ddns-ime domene "swl.fan."; ddns-rev-ime domene "in-addr.arpa."; ignorirati ažuriranja klijenta; false-update-optimizacija; # Može biti potrebno za Debian kao autoritativni; opcija isključenja ip-prosljeđivanja; opcija ime-domene "swl.fan"; uključuju "/etc/dhcp/dhcp.key"; zone swl.fan. {primarno 127.0.0.1; ključ dhcp-ključ; } zona 10.168.192.in-addr.arpa. {primarno 127.0.0.1; ključ dhcp-ključ; } zajednička mreža redlocal {podmreža 192.168.10.0 netmask 255.255.255.0 {usmjerivači opcija 192.168.10.1; opcija podmreža-maska ​​255.255.255.0; opcija za emitovanje adrese 192.168.10.255; opcija domain-name-servers 192.168.10.5; opcija netbios-name-serveri 192.168.10.5; opcija ntp-serveri 192.168.10.5; opcija time-serveri 192.168.10.5; raspon 192.168.10.30 192.168.10.250; }}

root @ master: ~ # dhcpd -t
Konzorcij internetskih sistema DHCP server 4.3.1 Copyright 2004-2014 Konzorcij internetskih sistema. Sva prava zadržana. Za informacije, posjetite https://www.isc.org/software/dhcp/
Datoteka konfiguracije: /etc/dhcp/dhcpd.conf Datoteka baze podataka: /var/lib/dhcp/dhcpd.leases PID datoteka: /var/run/dhcpd.pid

root @ master: ~ # systemctl ponovo pokrenite 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 instaliraj 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 tip dan omogućiti filegen peerstats datoteka peerstats tip dan omogućiti filegen clockstats datoteka clockstats tip dan omogućiti server 192.168.10.1 ograničiti -4 zadani kod notrap nomodify nopeer noquery restrict -6 zadani kod notrap nomodify nopeer noquery ograničiti 127.0.0.1 ograničiti :: 1 emitiranje 192.168.10.255

root @ master: ~ # systemctl ponovo pokrenite ntp.service 
root @ master: ~ # systemctl status ntp.service
root @ master: ~ # ntpdate -u sysadmin.swl.fan
27. svibnja 10:04:01 ntpdate [18769]: prilagodite vremenski poslužitelj 192.168.10.1 pomak 0.369354 sek

Globalne provjere za ntp, bind9 i isc-dhcp-server

Iz Linux, BSD, Mac OS ili Windows klijenta provjerite je li vrijeme pravilno sinkronizirano. Da dobiva dinamičku IP adresu i da se ime tog domaćina rješava direktnim i obrnutim DNS upitima. Promijenite ime kupca i ponovite sve provjere. Ne nastavljajte dok se ne uvjerite da do sada instalirane usluge rade ispravno. Zbog nečega smo napisali sve članke o DNS-u i DHCP-u Računarske mreže za mala i srednja preduzeća.

Instalacija NIS servera

root @ master: ~ # aptitude show nis
Sukobi sa: netstd (<= 1.26) Opis: klijenti i demoni za Mrežnu informativnu uslugu (NIS) Ovaj paket nudi alate za postavljanje i održavanje NIS domene. NIS, izvorno poznat pod nazivom Yellow Pages (YP), uglavnom se koristi za omogućavanje da nekoliko računara u mreži dijeli iste podatke o računu, poput datoteke lozinke.

root @ master: ~ # aptitude instaliraj nis
Konfiguracija paketa ┌─────────────────────────┤ Niška konfiguracija ├──────────────── ── ────────┐ │ Izaberite NIS „ime domene“ za ovaj sistem. Ako želite da ovaj │ │ uređaj bude samo klijent, trebali biste unijeti ime │ │ NIS domene kojoj se želite pridružiti. │ │ │ Alternativno, ako će ovaj uređaj biti NIS poslužitelj, možete │ │ unijeti novo NIS „ime domene“ ili ime postojeće NIS │ │ domene. │ │ │ │ NIS domena: │ │ │ │ swl.fan __________________________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘  

Odgodit će vašu jer konfiguracija usluge kao takva ne postoji. Molimo pričekajte da se postupak završi.

root @ master: ~ # nano / etc / default / nis
# Jesmo li NIS server i ako da, kakve vrste (vrijednosti: false, slave, master)?
NISSERVER = master

root @ master: ~ # nano /etc/ypserv.securenets # securenets Ova datoteka definiše prava pristupa vašem NIS serveru # za NIS klijente (i slave servere - ypxfrd koristi i ovu # datoteku). Ova datoteka sadrži mrežne maske / mrežne parove. # IP adresa klijenta mora se podudarati s najmanje jednom # od njih. # # Riječ "host" može se koristiti umjesto mrežne maske # 255.255.255.255. U ovoj # datoteci dozvoljene su samo IP adrese, a ne i imena hostova. # # Uvijek dozvoli pristup za localhost 255.0.0.0 127.0.0.0 # Ovaj redak daje pristup svima. MOLIM VAS PRILAGODITE! # 0.0.0.0 0.0.0.0
255.255.255.0 192.168.10.0

root @ master: ~ # nano / var / yp / Makefile # Da li treba spojiti passwd datoteku sa datotekom sjene? # MERGE_PASSWD = tačno | netačno
MERGE_PASSWD = tačno

# Trebamo li spojiti datoteku grupe sa datotekom gshadow? # MERGE_GROUP = true | false
MERGE_GROUP = tačno

Izrađujemo NIS bazu podataka

root @ master: ~ # / usr / lib / yp / ypinit -m
U ovom trenutku moramo sastaviti listu hostova koji će pokretati NIS servere. master.swl.fan je na listi hostova NIS servera. Nastavite dodavati imena ostalih domaćina, po jedno u redak. Kada završite sa spiskom, otkucajte a . sljedeći domaćin za dodavanje: master.swl.fan sljedeći domaćin za dodavanje: Trenutna lista NIS servera izgleda ovako: master.swl.fan Je li to tačno? [y / n: y] Treba nam nekoliko minuta da izgradimo baze podataka ... make [1]: Napuštanje direktorija '/var/yp/swl.fan' master.swl.fan postavljeno je kao NIS glavni server . Sada možete pokrenuti ypinit -s master.swl.fan na svim slave serverima.

root @ master: ~ # systemctl ponovo pokrenite nis
root @ master: ~ # systemctl status nis

Dodamo lokalne korisnike

root @ master: ~ # adduser bilbo
Dodavanje korisnika `bilbo '... Dodavanje nove grupe` bilbo' (1001) ... Dodavanje novog korisnika `bilbo '(1001) sa grupom` bilbo' ... Kreiranje matičnog direktorija `/ home / bilbo ' ... Kopiranje datoteka iz `/ etc / skel '... Unesite novu UNIX lozinku: Upišite novu UNIX lozinku: passwd: lozinka ispravno ažurirana Promjena korisničkih podataka za bilbo Unesite novu vrijednost ili pritisnite ENTER da biste koristili zadani puni naziv []: Bilbo Bagins Broj sobe []: Službeni telefon []: Kućni telefon []: Ostalo []: Da li su informacije tačne? [D / N]

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

i tako dalje.

root @ master: ~ # legole prsta
Prijava: legolas Ime: Legolas Archer Direktorij: / home / legolas Školjka: / bin / bash Nikada se niste prijavili. Nema pošte. Nema plana.

Ažuriramo NIS bazu podataka

root @ master: / var / yp # make
make [1]: Ulazak u direktorij '/var/yp/swl.fan' Ažuriranje passwd.byname ... Ažuriranje passwd.byuid ... Ažuriranje group.byname ... Ažuriranje group.bygid ... Ažuriranje netid.byname. .. Ažuriranje shadow.byname ... Zanemareno -> spojeno sa passwd make [1]: Napuštanje direktorija '/var/yp/swl.fan'

Dodajemo NIS opcije na isc-dhcp-server

root @ master: ~ # nano /etc/dhcp/dhcpd.conf
ddns-update-style-privremeni; ddns-ažuriranja na; ddns-ime domene "swl.fan."; ddns-rev-ime domene "in-addr.arpa."; ignorirati ažuriranja klijenta; false-update-optimizacija; autoritativni; opcija isključenja ip-prosljeđivanja; opcija ime-domene "swl.fan"; uključuju "/etc/dhcp/dhcp.key"; zone swl.fan. {primarno 127.0.0.1; ključ dhcp-ključ; } zona 10.168.192.in-addr.arpa. {primarno 127.0.0.1; ključ dhcp-ključ; } zajednička mreža redlocal {podmreža 192.168.10.0 netmask 255.255.255.0 {usmjerivači opcija 192.168.10.1; opcija podmreža-maska ​​255.255.255.0; opcija za emitovanje adrese 192.168.10.255; opcija domain-name-servers 192.168.10.5; opcija netbios-name-serveri 192.168.10.5; opcija ntp-serveri 192.168.10.5; opcija time-serveri 192.168.10.5;
                opcija nis-domena "swl.fan";
                opcija nis-serveri 192.168.10.5;
                raspon 192.168.10.30 192.168.10.250; }}

root @ master: ~ # dhcpd -t
root @ master: ~ # systemctl restart isc-dhcp-server.service

Instalacija NIS klijenta

  • Polazimo od čiste instalacije - bez grafičkog sučelja - Debiana 8 "Jessie".
root @ mail: ~ # ime hosta -f
mail.swl.fan

root @ mail: ~ # ip addr
2: eth0: mtu 1500 qdisc pfifo_fast stanje UP grupa zadani qlen 1000 veza / 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 opseg globalni eth0

root @ mail: ~ # aptitude instalirati nis
root @ mail: ~ # nano /etc/yp.conf # # yp.conf Konfiguracijska datoteka za ypbind proces. Ovdje možete ručno definirati # NIS poslužitelja ako ih nije moguće pronaći putem # emitiranja na lokalnoj mreži (što je zadana vrijednost). # # Pogledajte stranicu priručnika ypbind-a za sintaksu ove datoteke. # # VAŽNO: Za "ypserver" koristite IP adrese ili provjerite je li # domaćin u / etc / hosts. Ova datoteka se tumači samo # jednom, a ako DNS još nije dostupan, ypserver se ne može # riješiti i ypbind se nikada neće vezati za server. # ypserver ypserver.network.com ypserver master.swl.fan domena swl.fan

root @ mail: ~ # nano /etc/nsswitch.conf
# /etc/nsswitch.conf # # Primjer konfiguracije funkcionalnosti GNU Name Service Switch. # Ako imate instalirane pakete `glibc-doc-reference 'i` info', pokušajte: # `info libc" Prekidač usluge imena "'za informacije o ovoj datoteci. passwd: compat nis grupa: compat nis shadow: compat nis gshadow: datoteke domaćini: datoteke dns nis mreže: datoteke protokoli: db datoteke usluge: db datoteke eteri: db datoteke rpc: db datoteke netgroup: nis

root @ mail: ~ # nano /etc/pam.d/common-session
# pam-auth-update (8) za detalje.
sesija opcionalno pam_mkhomedir.so skel = / etc / skel umask = 077
# ovdje su moduli po paketu (blok "Primarni")

root @ mail: ~ # systemctl status nis
root @ mail: ~ # systemctl ponovo pokrenite nis

Zatvaramo sesiju i započinjemo je ponovo, ali sa korisnikom registrovanim u NIS bazi podataka na master.swl.fan.

root @ mail: ~ # izlaz
odjava Veza sa poštom je zatvorena.

buzz @ sysadmin: ~ $ ssh legolas @ mail
lozinka legolas @ maila: Kreiranje direktorija '/ home / legolas'. Programi uključeni u Debian GNU / Linux sistem su besplatni softver; tačni uslovi distribucije za svaki program opisani su u pojedinačnim datotekama u / usr / share / doc / * / copyright. Debian GNU / Linux dolazi s APSOLUTNO BEZ JAMSTVA, u mjeri u kojoj to dopušta važeći zakon.
legolas @ mail: ~ $ pwd
/ home / legolas
legolas @ mail: ~ $ 

Mijenjamo lozinku korisnika legola i provjeravamo

legolas @ mail: ~ $ yppasswd 
Promjena podataka o NIS računu za legole na master.swl.fan. Unesite staru lozinku: legolas Promjena NIS lozinke za legole na master.swl.fan. Unesite novu lozinku: archer Lozinka mora imati velika i mala slova ili ne-slova. Unesite novu lozinku: Arquero2017 Unesite novu lozinku: Arquero2017 NIS lozinka je promijenjena na master.swl.fan.

legolas @ mail: ~ $ izlaz
odjava Veza sa poštom je zatvorena.

buzz @ sysadmin: ~ $ ssh legolas @ mail
lozinka legolas @ maila: Arquero2017

Programi uključeni u sistem Debian GNU / Linux besplatni su softver; tačni uslovi distribucije za svaki program opisani su u pojedinačnim datotekama u / usr / share / doc / * / copyright. Debian GNU / Linux dolazi s APSOLUTNO BEZ JAMSTVA, u mjeri u kojoj to dopušta važeći zakon. Posljednja prijava: Sat May 27 12:51:50 2017 od sysadmin.swl.fan
legolas @ mail: ~ $

NIS usluga implementirana na nivou servera i klijenta radi ispravno.

LDAP

Sa Wikipedije:

  • LDAP je skraćenica od Lightweight Directory Access Protocol (na španskom jeziku Lagani / pojednostavljeni protokol pristupa direktorijumu) koji se odnosi na protokol na nivou aplikacije koji omogućava pristup uređenoj i distribuiranoj usluzi direktorija za traženje različitih informacija u okruženju mreža. LDAP se također smatra bazom podataka (iako se njegov sistem za pohranu može razlikovati) koja se može pitati.Direktorij je skup objekata s atributima organiziranim na logičan i hijerarhijski način. Najčešći primjer je telefonski imenik koji se sastoji od niza imena (osoba ili organizacija) poredanih po abecedi, uz svako ime uz adresu i telefonski broj. Da bismo bolje razumjeli, to je knjiga ili fascikla u koju su upisana imena, telefonski brojevi i adrese ljudi i poredani su po abecedi.

    Stablo LDAP direktorija ponekad odražava različite političke, geografske ili organizacijske granice, ovisno o odabranom modelu. Trenutne LDAP-ove implementacije imaju tendenciju da koriste imena sistema domena (DNS) za strukturiranje viših nivoa hijerarhije. Dok se pomičete prema direktorijumu, mogu se pojaviti unosi koji predstavljaju ljude, organizacijske jedinice, štampače, dokumente, grupe ljudi ili bilo što drugo što predstavlja zadani unos u stablu (ili više unosa).

    Obično pohranjuje podatke za provjeru autentičnosti (korisnik i lozinka) i koristi se za provjeru autentičnosti, iako je moguće pohraniti i druge podatke (podaci o kontaktima korisnika, mjesto različitih mrežnih resursa, dozvole, certifikati itd.). Ukratko, LDAP je objedinjeni protokol pristupa skupu informacija na mreži.

    Trenutna verzija je LDAPv3, a definirana je u RFC-ima RFC 2251 i RFC 2256 (osnovni LDAP dokument), RFC 2829 (metoda provjere autentičnosti za LDAP), RFC 2830 (proširenje za TLS) i RFC 3377 (tehnička specifikacija)

    .

Dugo, LDAP protokol - i njegove baze podataka kompatibilne ili ne s OpenLDAP-om - danas se najviše koristi u većini sistema provjere autentičnosti. Kao primjer prethodne izjave, u nastavku navodimo neka imena sistema - Slobodni ili Privatni - koji koriste LDAP baze podataka kao pozadinu za pohranu svih svojih objekata:

  • OpenLDAP
  • Apache poslužitelj direktorija
  • Red Hat direktorijski poslužitelj - 389 DS
  • Usluge direktorija Novell - eDirectory
  • SUN Microsystem Open DS
  • Red Hat Identity Manager
  • FreeIPA
  • Samba NT4 Classic kontroler domene.
    Želimo da pojasnimo da je ovaj sistem razvoj tima Samba sa Sambom 3.xxx + OpenLDAP as backend. Microsoft nikada nije implementirao ništa slično. Skočio s NT 4 kontrolera domene na njihove aktivne direktorije
  • Samba 4 Active Directory - kontroler domene
  • ClearOS
  • Zentyal
  • UCS Uninvention korporativni server
  • Microsoft Active Directory

Svaka implementacija ima svoje osobine, a najstandardnija i najkompatibilnija je OpenLDAP.

Active Directory, bilo da je originalni Microsoft ili Samba 4, objedinjuje nekoliko glavnih komponenata koje su:

Ne smijemo zbuniti a Usluga direktorija o Usluga direktorija sa a Aktivni direktorij o Active Directory. Prvi mogu ili ne moraju ugostiti Kerberos provjeru autentičnosti, ali ne nude uslugu Microsoft Network koju pruža Windows domena niti imaju Windows kontroler domene kao takav.

Usluga direktorija ili Usluga direktorija može se koristiti za provjeru autentičnosti korisnika u mješovitoj mreži sa UNIX / Linux i Windows klijentima. U posljednjem slučaju, program mora biti instaliran na svakom klijentu koji djeluje kao posrednik između Usluge direktorija i samog Windows klijenta, poput Slobodnog softvera. stranica.

Usluga direktorija sa OpenLDAP-om

  • Polazimo od čiste instalacije - bez grafičkog sučelja - Debiana 8 "Jessie", s istim "glavnim" imenom stroja koji se koristi za NIS instalaciju, kao i konfiguracija mrežnog sučelja i /etc/resolv.conf datoteku. Na ovaj novi server instaliramo ntp, bind9 i isc-dhcp-server, ne zaboravljajući globalne provjere ispravnog rada tri prethodne usluge.
root @ master: ~ # aptitude instaliraj slapd ldap-utils

Konfiguracija paketa

┌─────────────────────┤ Slapd konfiguracija ├─────────────────────┐ │ Unesite lozinku za administratorski unos vašeg LDAP │ │ direktorija. │ │ │ │ Administratorska lozinka: │ │ │ │ ******** _________________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────┘

Provjeravamo početnu konfiguraciju

root @ master: ~ # slapcat
dn: dc = swl, dc = ventilator
objectClass: top objectClass: dcObject objectClass: organizacija o: swl.fan DC: SWL structuralObjectClass: organizacija entryUUID: c8510708-da8e-1036-8fe1-71d022a16904 creatorsName: cn = admin, dc = swl, dc = unos ventilator createTimestamp20170531205219: 20170531205219.833955ZN ulazak createTimestamp000000 : 000ZN000000 unos Z # 20170531205219 # XNUMX # XNUMX modifikatorIme: cn = admin, dc = swl, dc = fan modifyTimestamp: XNUMXZ

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

Modificiramo datoteku /etc/ldap/ldap.conf

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

Organizacione jedinice i opšta grupa «korisnici»

Dodajemo minimalno potrebne organizacione jedinice, kao i Posix grupu «korisnici» u koju ćemo članove učlaniti, po uzoru na mnoge sisteme koji imaju grupu «korisnici«. Nazivamo ga imenom «korisnici» kako ne bismo ulazili u moguće sukobe s grupom «korisnik"sistema.

root @ master: ~ # nano base.ldif
dn: ou = people, dc = swl, dc = fan objectClass: 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
Unesite LDAP lozinku: dodavanje novog unosa "ou = people, dc = swl, dc = fan" dodavanje novog unosa "ou = groups, dc = swl, dc = fan"

Provjeravamo dodane unose

root @ master: ~ # ldapsearch -x ou = ljudi
# people, swl.fan dn: ou = people, dc = swl, dc = fan objectClass: organisationUnit ou: people

root @ master: ~ # ldapsearch -x ou = grupe
# grupe, swl.fan dn: ou = grupe, dc = swl, dc = fan objektKlasa: organizacijskaJedinica ou: grupe

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

Dodamo nekoliko korisnika

Lozinka koju moramo proglasiti u LDAP-u mora se dobiti putem naredbe slappasswd, koji vraća šifriranu SSHA lozinku.

Lozinka za korake korisnika:

root @ master: ~ # slappasswd 
Nova lozinka: Ponovo unesite novu lozinku: 
{SSHA}Fn8Juihsr137u8KnxGTNPmnV8ai//0lp

Lozinka za korisničke legole

root @ master: ~ # slappasswd 
Nova lozinka: Ponovo unesite novu lozinku: 
{SSHA}rC50/W3kBmmDd+8+0Lz70vkGEu34tXmD

Lozinka za korisnika gandalf

root @ master: ~ # slappasswd 
Nova lozinka: Ponovo unesite novu lozinku: 
{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 gidBroj: 10000 mail: trancos@swl.fan
gecos: Strider El Rey loginShell: / bin / bash homeDirectory: / home / strider dn: uid = legolas, ou = people, dc = swl, dc = fan objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: legolas cn: legolas cn: legolas cn: legolas cn: legolas cn: legolas : Legolas sn: Archer userPassword: {SSHA}rC50/W3kBmmDd+8+0Lz70vkGEu34tXmD
uidNumber: 10001 gidBroj: 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 cName Gandalf sn: Korisnik čarobnjakaPassword: {SSHA} oIVFelqv8WIxJ40r12lnh3bp + SXGbV + u
uidNumber: 10002 gidBroj: 10000 mail: gandalf@swl.fan
gecos: Gandalf Čarobnjak loginShell: / bin / bash homeDirectory: / home / gandalf

root @ master: ~ # ldapadd -x -D cn = admin, dc = swl, dc = fan -W -f users.ldif
Unesite LDAP lozinku: dodavanje novog unosa "uid = koraci, ou = ljudi, dc = swl, dc = fan" dodavanje novog unosa "uid = legolas, ou = people, dc = swl, dc = fan" dodavanje novog unosa "uid = gandalf, ou = ljudi, dc = swl, dc = fan "

Provjeravamo dodane unose

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

Upravljamo bazom podataka slpad pomoću pomoćnih programa konzole

Mi odabiremo paket ldapscripts za takav zadatak. Postupak instalacije i konfiguracije je sljedeći:

root @ master: ~ # aptitude instaliraj 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 # OpenLDAP naredbe klijenta LDAPSEARCHBIN = "/ usr / bin / ldapsearch" LDAPADDBIN = "/ usr / bin / ldapadd" LDAPDELETEBIN / usr / bin / ldapdelete "LDAPMODIFYBIN =" / usr / bin / ldapmodify "LDAPMODRDNBIN =" / usr / bin / ldapmodrdn "LDAPPASSWDBIN =" / usr / bin / ldappasswd "GCLASS =" posixTEMPL = itd. /ldapadduser.template "PASSWORDGEN =" eho% u "

Primijetite da skripte koriste naredbe paketa ldap-utils. Trči dpkg -L ldap-utils | grep / bin da znaju šta su.

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/ldapadduser.template
 
root @ master: ~ # nano /etc/ldapscripts/ldapadduser.template
dn: uid = , , objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: cn: dato ime: sn: displayName: uidNumber: gidNumber: 10000 homeDirectory: loginShell: mail: @ swl.fan gekoni: opis: Korisnički račun
 
root @ master: ~ # nano /etc/ldapscripts/ldapscripts.conf
## uklanjamo komentar UTEMPLATE = "/ etc / ldapscripts / ldapadduser.template"

Dodamo korisnika "bilbo" i postajemo članom grupe "korisnici"

root @ master: ~ # ldapadduser bilbo korisnici
[dn: uid = bilbo, ou = people, dc = swl, dc = fan] Unesite vrijednost za "givenName": Bilbo [dn: uid = bilbo, ou = people, dc = swl, dc = fan] Unesite vrijednost za " sn ": Bagins [dn: uid = bilbo, ou = people, dc = swl, dc = fan] Unesite vrijednost za" displayName ": Bilbo Bagins Uspješno dodan korisnik bilbo u LDAP Uspješno postavljena lozinka za korisnika 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 gidBroj: 10000 homeDirectory: / home / bilbo loginShell: / bin / bash mail: bilbo@swl.fan
gecos: bilbo opis: Korisnički račun

Da biste vidjeli heš lozinke bilbo korisnika, potrebno je izvršiti upit s autentifikacijom:

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

Da bismo izbrisali bilbo korisnika izvršavamo:

root @ master: ~ # ldapdelete -x -D cn = admin, dc = swl, dc = fan -W uid = bilbo, ou = people, dc = swl, dc = fan
Unesite LDAP lozinku:

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

Upravljamo slapd bazom podataka putem web sučelja

Imamo funkcionalnu uslugu direktorija i želimo njome lakše upravljati. Postoji mnogo programa dizajniranih za ovaj zadatak, poput phpldapadmin, ldap-account-manageritd., koji su dostupni direktno iz spremišta. Uslugom direktorija takođe možemo upravljati putem Apache Directory Studio, koju moramo preuzeti s Interneta.

Za više informacija posjetite https://blog.desdelinux.net/ldap-introduccion/, i sljedećih 6 članaka.

LDAP klijent

Stage:

Recimo da imamo tim mail.swl.fan kao mail server implementiran kao što smo vidjeli u članku Postfix + Dovecot + Squirrelmail i lokalni korisnici, koji je razvijen na CentOS-u, može poslužiti kao vodič za Debian i mnoge druge Linux distribucije. Želimo da, pored lokalnih korisnika koje smo već izjavili, i korisnika pohranjenih u OpenLDAP bazi podataka koja postoji u master.swl.fan. Da bismo postigli gore navedeno moramo «mapirati»LDAP korisnicima kao lokalnim korisnicima na serveru mail.swl.fan. Ovo rješenje vrijedi i za bilo koju uslugu zasnovanu na PAM provjeri autentičnosti. Opšti postupak za Debian, je sljedeće:

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

  ┌────────────────────┤ Konfiguracija libnss-ldap ├─────────────────────┐ │ Unesite URI („Uniform Resource Identifier“ ili │ │ Uniform Resource Identifier) ​​LDAP poslužitelja. Ovaj niz je sličan │ │ «ldap: //: / ». Možete i │ │ koristiti «ldaps: // » ili "ldapi: //". Broj porta nije obavezan. │ │ │ │ Preporučuje se upotreba IP adrese kako bi se izbjegao neuspjeh kada usluge naziva domene │ │ nisu dostupne. RI │ │ │ URI LDAP poslužitelja: │ │ │ │ ldap: //master.swl.fan__________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ───────────────────────────┘ ┌───────────────────── ┤ Konfiguracija libnss-ldap ├──────────────────────┐ │ Unesite razlikovno ime (DN) baze pretraživanja LDAP. Sites │ Mnoge web stranice koriste komponente domene u tu svrhu. Na primjer, domena "example.net" koristiće │ │ "dc = example, dc = net" kao istaknuto ime baze pretraživanja. │ │ │ │ Ugledno ime (DN) baze pretraživanja: │ │ │ │ dc = swl, dc = fan ____________________________________________________________ │ │ │ │ │ │ │ └──────────────────────────────────────────– ────────────────────────────┘ ┘─────────────────── ──┤ Konfiguracija libnss-ldap ├──────────────────────┐ │ Unesite verziju LDAP protokola koju bi ldapns trebao koristiti. Preporučuje se upotreba najvećeg dostupnog broja verzije. │ │ │ │ LDAP verzija koja će se koristiti: │ │ │ │                                     3                                     │ │ 2 │ │ │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Konfiguracija libnss-ldap │──────────────────────┐ │ Izaberite koji će se račun koristiti za nss upite s │ │ root privilegijama. │ │ │ Napomena: Da bi ova opcija funkcionirala, računu su potrebne dozvole da bi mogao pristupiti LDAP atributima koji su povezani s korisničkim shadow │ unosima „sjene“, kao i lozinkama korisnika i │ │ grupa . │ │ │ │ LDAP račun za root: │ │ │ │ cn = admin, dc = swl, dc = fan ___________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Konfiguracija libnss-ldap │─────────────────────┐ │ Unesite lozinku koja će se koristiti kada libnss-ldap pokušava │ │ provjeriti autentičnost u LDAP direktorij s korijenskim LDAP računom. │ │ │ │ Lozinka će biti spremljena u zasebnu datoteku │ │ ("/etc/libnss-ldap.secret") kojoj može pristupiti samo root. You │ │ │ Ako unesete praznu lozinku, stara lozinka će se ponovo koristiti. │ │ │ │ Lozinka za root LDAP račun: │ │ │ │ ******** ________________________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ────────────────────────────┘ ┌──────────────────── ─┤ Konfiguracija libnss-ldap ├──────────────────────┐ │ │ │ nsswitch.conf ne upravlja se automatski │ │ │ │ Morate izmijeniti svoju datoteku "/etc/nsswitch.conf "da koristim LDAP izvor podataka ako želite da libnss-ldap paket radi. │ │ Možete koristiti uzorak datoteke │ │ u "/usr/share/doc/libnss-ldap/examples/nsswitch.ldap" kao primjer konfiguracije nsswitch ili │ │ možete je kopirati u svoju trenutnu konfiguraciju. │ │ │ │ Imajte na umu da prije uklanjanja ovog paketa može biti prikladno │ │ ukloniti "ldap" unose iz datoteke nsswitch.conf, tako da će osnovne usluge continue │ nastaviti raditi. │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Konfiguracija libpam-ldap ├──────────────────────┐ │ │ │ Ova opcija omogućava alatima za lozinke koji koriste PAM za promjenu lokalnih lozinki. │ │ │ │ Lozinka za LDAP račun administratora bit će pohranjena u zasebnoj │ │ datoteci koju administrator može pročitati samo administrator. Option │ │ │ Ovu opciju treba onemogućiti ako se "/ etc" montira preko NFS-a. │ │ │ │ Želite li dopustiti LDAP-ovom administratorskom računu da se ponaša kao administrator │ lokalni administrator? │ │ │ │                                            │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Konfiguracija libpam-ldap │──────────────────────┐ │ │ │ Odaberite hoće li LDAP poslužitelj prisiliti identifikaciju prije nego što dobije te unose oktenera. Setting │ │ │ Ova postavka je rijetko potrebna. │ │ │ │ Da li je korisnik potreban za pristup LDAP bazi podataka? │ │ │ │                                               │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Konfiguracija libpam-ldap ├──────────────────────┐ │ Unesite ime administratorskog računa LDAP-a. Account │ │ │ Ovaj će se račun automatski koristiti za upravljanje bazom podataka, jer │ mora imati odgovarajuće administrativne privilegije. Account │ │ │ LDAP račun administratora: │ │ │ │ cn = admin, dc = swl, dc = fan ___________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Konfiguracija libpam-ldap ├──────────────────────┐ │ Unesite lozinku za administratorski račun. │ │ │ │ Lozinka će biti spremljena u datoteku "/etc/pam_ldap.secret". Administrator │ will će biti jedini koji može pročitati ovu datoteku i omogućit će │ │ libpam-ldap da automatski kontrolira upravljanje vezama u bazi podataka │ │. You │ │ │ Ako ovo polje ostavite prazno, prethodna spremljena lozinka │ │ ponovo će se koristiti. Lozinka administratora LDAP-a: │ │ │ │ ******** _________________________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘  

root @ mail: ~ # nano /etc/nsswitch.conf
# /etc/nsswitch.conf # # Primjer konfiguracije funkcionalnosti GNU Name Service Switch. # Ako imate instalirane pakete `glibc-doc-reference 'i` info', pokušajte: # `info libc" Prekidač usluge imena "'za informacije o ovoj datoteci. passwd: compat ldap
grupa: compat ldap
sjena: kompakt ldap
gshadow: datoteke domaćini: datoteke dns mreže: protokoli datoteka: db datoteke usluge: db datoteke eteri: db datoteke rpc: db datoteke netgroup: nis

Uredimo datoteku /etc/pam.d/common-password, idemo u red 26 i eliminiramo vrijednost «use_authtok":

root @ mail: ~ # nano /etc/pam.d/common-password
# # /etc/pam.d/common-password - moduli povezani sa lozinkom zajednički za sve usluge # # Ova datoteka je uključena iz ostalih PAM konfiguracijskih datoteka specifičnih za uslugu, # i treba sadržavati listu modula koji definišu usluge koje treba # koristi se za promjenu korisničkih lozinki. Zadana postavka je pam_unix. # Objašnjenje opcija pam_unix: # # Opcija "sha512" omogućava slane SHA512 lozinke. Bez ove opcije, # zadana je Unix kripta. Prethodna izdanja koristila su opciju "md5". # # Opcija "nejasna" zamjenjuje staru opciju `OBSCURE_CHECKS_ENAB 'u # login.defs. # # Pogledajte druge stranice pam_unix za ostale opcije. # Od pam 1.0.1-6, ovom datotekom prema zadanim postavkama upravlja pam-auth-update. # Da biste ovo iskoristili, preporučuje se da konfigurirate bilo koji # lokalni modul prije ili nakon zadanog bloka i koristite # pam-auth-update za upravljanje odabirom drugih modula. Pogledajte detalje # pam-auth-update (8). # ovdje su moduli po paketu (blok "Primarni") lozinka [uspjeh = 2 zadana vrijednost = zanemarivanje] pam_unix.so nejasan sha512
lozinka [uspjeh = 1 user_unknown = ignore default = die] pam_ldap.so try_first_pass
# evo rezervnog postupka ako nijedan modul ne uspije lozinku koja je potrebna pam_deny.so # grudite stek pozitivnom povratnom vrijednošću ako ga već nema; # ovo nas izbjegava da vratimo grešku samo zato što ništa ne postavlja kôd uspjeha # budući da će gornji moduli samo preskakati lozinku potrebnu pam_permit.so # i evo još modula po paketu (blok "Dodatni") # kraj pam- auth-update config

U slučaju da nam zatreba Lokalna prijava korisnika pohranjenih u LDAP-u i želimo da se njihove mape kreiraju automatski kući, moramo urediti datoteku /etc/pam.d/common-session i dodajte sljedeći redak na kraj datoteke:

sesija opcionalno pam_mkhomedir.so skel = / etc / skel umask = 077

U ranije razvijenom primjeru usluge OpenLDAP direktorija, jedini lokalni korisnik koji je stvoren bio je korisnik buzz, dok u LDAP-u kreiramo korisnike koraci, legolas, gandalf, y bilbo. Ako su do sada napravljene konfiguracije ispravne, tada bismo trebali moći navesti lokalne korisnike i one koji su mapirani kao lokalni, ali pohranjeni na udaljenom LDAP poslužitelju:

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

Nakon promjena u provjeri autentičnosti sistema, valja ponovno pokrenuti poslužitelj ako se ne suočavamo s kritičnom uslugom:

root @ mail: ~ # ponovno pokretanje

Kasnije započinjemo lokalnu sesiju na serveru mail.swl.fan s vjerodajnicama korisnika pohranjenim u LDAP bazi podataka master.swl.fan. Možemo se pokušati prijaviti putem SSH-a.

 

buzz @ sysadmin: ~ $ ssh gandalf @ mail
gandalf @ mail lozinka: Stvaranje direktorija '/ home / gandalf'. Programi uključeni u Debian GNU / Linux sistem su besplatni softver; tačni uslovi distribucije za svaki program opisani su u pojedinačnim datotekama u / usr / share / doc / * / copyright. Debian GNU / Linux dolazi s APSOLUTNO BEZ JAMSTVA, u mjeri u kojoj to dopušta važeći zakon.
gandalf @ mail: ~ $ su
Lozinka:

root @ mail: / home / gandalf # getent group
zujanje: x: 1001: korisnici: *: 10000:

root @ mail: / home / gandalf # exit
izlaz

gandalf @ mail: ~ $ ls -l / home /
ukupno 8 drwxr-xr-x 2 zujanje zujanje     4096 17. juni 12:25 zujanje drwx ------ 2 korisnici gandalfa 4096 17. juni 13:05 gandalf

Usluga direktorija implementirana na nivou poslužitelja i klijenta radi ispravno.

Kerberos

Sa Wikipedije:

  • Kerberos je protokol za provjeru autentičnosti računarske mreže koji je kreirao MIT koji omogućava dva računara na nesigurnoj mreži da međusobno sigurno dokazuju svoj identitet. Njegovi dizajneri prvo su se fokusirali na model klijent-server, a on pruža međusobnu provjeru autentičnosti: i klijent i server međusobno provjeravaju identitet. Poruke za autentifikaciju zaštićene su radi sprečavanja prisluškivanje y ponoviti napade.

    Kerberos se temelji na simetričnoj kriptografiji ključeva i zahtijeva pouzdanu treću stranu. Pored toga, postoje proširenja protokola da bi se mogla koristiti kriptografija asimetričnog ključa.

    Kerberos je zasnovan na Needham-Schroeder protokol. Koristi pouzdanu treću stranu, nazvanu "Centar za distribuciju ključeva" (KDC), koja se sastoji od dva odvojena logička dijela: "Authentication Server" (AS ili Authentication Server) i «server za izdavanje karata» (TGS ili Ticket Granting Server). Kerberos radi na bazi "ulaznica", koje služe za dokazivanje identiteta korisnika.

    Kerberos održava bazu podataka tajnih ključeva; Svaki entitet na mreži - bio on klijent ili server - dijeli tajni ključ poznat samo sebi i Kerberosu. Poznavanje ovog ključa služi za dokazivanje identiteta entiteta. Za komunikaciju između dva entiteta, Kerberos generira ključ sesije koji mogu koristiti za osiguranje svojih problema.

Mane Kerberosa

De Osigurano:

iako Kerberos uklanja uobičajenu sigurnosnu prijetnju, može biti teško implementirati iz različitih razloga:

  • Migriranje korisničkih lozinki iz standardne baze podataka lozinki UNIX, poput / etc / passwd ili / etc / shadow, u bazu podataka Kerberos lozinke, može biti dosadno i ne postoji brzi mehanizam za izvršenje ovog zadatka.
  • Kerberos pretpostavlja da je svakom korisniku pouzdano, ali koristi nepouzdanu mašinu na nepouzdanoj mreži. Njegov glavni cilj je spriječiti slanje nešifriranih lozinki preko mreže. Međutim, ako bilo koji drugi korisnik, osim odgovarajućeg korisnika, ima pristup automatu za izdavanje ulaznica (KDC) za provjeru autentičnosti, Kerberos bi bio u opasnosti.
  • Da bi aplikacija koristila Kerberos, kôd mora biti modificiran da uputi odgovarajuće pozive Kerberos knjižnicama. Aplikacije koje su modificirane na ovaj način smatraju se kerberizovanim. Za neke aplikacije to može biti prevelik napor programiranja zbog veličine aplikacije ili njenog dizajna. Za ostale nekompatibilne aplikacije, promjene u načinu komunikacije mrežnog servera i njegovih klijenata moraju se izvršiti; opet, ovo može potrajati poprilično programiranje. Generalno, aplikacije s zatvorenim kodom koje nemaju Kerberos podršku obično su najproblematičnije.
  • Konačno, ako odlučite koristiti Kerberos na svojoj mreži, morate shvatiti da je to izbor sve ili ništa. Ako odlučite koristiti Kerberos na svojoj mreži, morate imati na umu da ako lozinka bude proslijeđena službi koja ne koristi Kerberos za autentifikaciju, riskirate da paket može biti presretnut. Stoga vaša mreža neće imati koristi od korištenja Kerberosa. Da biste svoju mrežu zaštitili Kerberosom, trebali biste koristiti samo kerberizovane verzije svih klijent / poslužiteljskih aplikacija koje šalju nešifrirane lozinke ili ne koriste nijednu od ovih aplikacija na mreži.

Ručna primjena i konfiguriranje OpenLDAP-a kao pozadinskog Kerberos-a nije lak zadatak. Međutim, kasnije ćemo vidjeti da se Samba 4 Active Directory - Domain Controller integrira na transparentan način za Sysadmin, DNS poslužitelj, Microsoftovu mrežu i njegov Domain Controller, LDAP server kao Back-End gotovo svih svojih objekata i usluga provjere autentičnosti zasnovana na Kerberosu kao temeljne komponente Active Directory u Microsoftovom stilu.

Do danas nismo imali potrebu za implementacijom "Kerberizovane mreže". Zbog toga nismo pisali o tome kako implementirati Kerberos.

Samba 4 Active Directory - kontroler domene

Važno:

Ne postoji bolja dokumentacija od stranice wiki.samba.org. Sysadmin vredan soli treba posjetiti tu stranicu - na engleskom jeziku - i pregledati veliki broj stranica posvećenih Sambi 4, koje je napisao sam tim Samba. Ne vjerujem da na Internetu postoji dokumentacija koja bi je zamijenila. Usput, promatrajte broj posjeta odražen na dnu svake stranice. Primjer toga je da je posjećena vaša glavna stranica ili «Glavna stranica» 276,183 puta do danas 20. juna 2017. u 10:10 po istočnom standardnom vremenu. Pored toga, dokumentacija se održava vrlo ažurnom, jer je ta stranica izmijenjena 6. juna.

Sa Wikipedije:

Samba je besplatna implementacija Microsoft Windows protokola za dijeljenje datoteka (ranije nazvan SMB, nedavno preimenovan u CIFS) za sisteme slične UNIX-u. Na taj način je moguće da računari sa GNU / Linux, Mac OS X ili Unix generalno izgledaju kao serveri ili djeluju kao klijenti u Windows mrežama. Samba takođe omogućava korisnicima da se potvrde kao primarni kontroler domene (PDC), kao član domene, pa čak i kao domena Active Directory za mreže zasnovane na Windowsu; osim što može služiti redove za ispis, dijeljene direktorijume i provjeriti autentičnost sa vlastitom korisničkom arhivom.

Među Unix-sličnim sistemima na kojima se Samba može pokrenuti su GNU / Linux distribucije, Solaris i različite BSD varijante među da možemo pronaći Appleov Mac OS X Server.

Samba 4 AD-DC sa svojim internim DNS-om

  • Polazimo od čiste instalacije - bez grafičkog sučelja - Debiana 8 "Jessie".

Početne provjere

root @ master: ~ # ime hosta
majstor
root @ master: ~ # ime hosta --fqdn
master.swl.fan
root @ master: ~ # ip addr
1: šta: mtu 65536 qdisc noqueue stanje NEPOZNATA grupa zadana veza / povratna veza 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00: 127.0.0.1: 8: 6 inet 1/128 domet host lo valid_lft zauvijek preferiran_lft zauvijek inet2 :: 0/1500 domet domena valid_lft zauvijek preferirani_lft zauvijek 1000: eth00: mtu 0 qdisc pfifo_fast stanje NEPOZNATO default grupa qlen 29 veza / eter 80: 3c: 3: XNUMX: XNUMXb: XNUMXf brd ff: ff: ff: ff: ff: ff
    inet 192.168.10.5/24 brd 192.168.10.255 opseg globalni eth0
       valid_lft zauvijek prefer_lft zauvijek inet6 fe80 :: 20c: 29ff: fe80: 3b3f / 64 opseg link valid_lft zauvijek preferiran_lft zauvijek
root @ master: ~ # cat /etc/resolv.conf
search swl.fan nameserver 127.0.0.1
  • S kojim deklariramo granu glavni samo, više je nego dovoljno za naše svrhe.
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 / ažuriranja glavni

Postfix od strane Exima i komunalnih usluga

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

  ┌────────────────────────┤ Konfiguracija postfiksa ├───────────────────── ────┐ │ Odaberite vrstu konfiguracije poštanskog poslužitelja koja najbolje odgovara vašim │ │ potrebama. │ │ │ │ Nema konfiguracije: │ │ Zadržava trenutnu konfiguraciju netaknutom. │ │ Internet stranica: │ │ Pošta se šalje i prima direktno putem SMTP-a. │ │ Internet s „smarthost“: │ │ Pošta se prima izravno pomoću SMTP-a ili pokretanjem │ │ alata poput „fetchmail“. Odlazna pošta se šalje pomoću smart │ "pametnog hosta". │ │ Samo lokalna pošta: │ │ Jedina pošta koja se isporučuje je za lokalne korisnike. Ne │ │ postoji mreža. │ │ │ │ Generički tip konfiguracije pošte: │ │ │ │ Nema konfiguracije │ │ Internet stranica │ │ Internet sa „smarthost“ │ │ Satelitski sistem │ │                         Samo lokalna pošta                                │ │ │ │ │ │                                     │ │ │ └───────────────────────────────────────────── ────────────────────────────┘ ┌──────────────────── ─────┤ Konfiguracija postfiksa ├─────────────────────────┐ │ „Ime sistema pošte“ naziv je domene koja │ │ se koristi za "kvalificiranje" _ALL_ adresa e-pošte bez imena domene. To uključuje poštu na i iz "root"-a: nemojte tjerati │ da vaš uređaj šalje e-poštu sa root@example.org do │ │ manje od root@example.org pitan. │ │ │ │ Drugi programi će koristiti ovo ime. To mora biti jedinstveno domain │ kvalificirano ime domene (FQDN). │ │ │ │ Stoga, ako je adresa e-pošte na lokalnom računaru │ │ something@example.org, ispravna vrijednost za ovu opciju bit će example.org. │ │ │ │ Ime sistema pošte: │ │ │ │ master.swl.fan ___________________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘  

Čistimo

root @ master: ~ # pročišćavanje sposobnosti ~ c
root @ master: ~ # aptitude install -f
root @ master: ~ # sposobnost čista
root @ master: ~ # aptitude autoclean

Instaliramo zahtjeve za kompajliranje Samba 4 i ostali neophodni paketi

root @ master: ~ # aptitude instaliraj acl attr autoconf bison \
build-bitno debhelper dnsutils docbook-xml docbook-xsl flex gdb \
krb5-korisnik libacl1-dev libaio-dev libattr1-dev libblkid-dev libbsd-dev \
libcap-dev libcups2-dev libgnutls28-dev libjson-perl \
libldap2-dev libncurs5-dev libpam0g-dev libparse-yapp-perl \
libpopt-dev libreadline-dev perl perl-moduli pkg-config \
python-all-dev python-dev python-dnspython python-kripto \
xsltproc zlib1g-dev libgpgme11-dev python-gpgme python-m2crypto \
libgnutls28-dbg gnutls-raz ldap-utils krb5-config

 ┌───────────────┤ Konfiguriranje provjere autentičnosti Kerberos ├───────────────┐ │ Kada korisnici pokušaju koristiti Kerberos i navedu ime │ │ nalogodavca ili korisnika, bez razjašnjavanja kojoj administrativnoj Kerberos domeni pripada principal principal, sistem preuzima zadano the │ područje.  Podrazumijevano područje može se koristiti i kao područje carberos usluge koja se izvodi na lokalnom računalu.  │ │ Tipično je zadani domen veliko ime lokalne DNS │ │ domene.  Default │ │ │ Kerberos verzija 5 zadana oblast: │ │ │ │ SWL.FAN __________________________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ────────────────────────────┘ ┌───────────────┤ Kerberos ├───────────────┐ │ Unesite imena poslužitelja Kerberos u SWL.FAN područje of │ Kerberos, odvojene razmacima.  │ │ │ │ Kerberos serveri za vaše carstvo: │ │ │ │ master.swl.fan ___________________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ────────────────────────────┘ ┌───────────────┤ Konfiguriranje provjere autentičnosti Kerberos ├───────────────┐ │ Unesite ime administrativnog poslužitelja (promjena lozinke) │ │ za područje Kerberos SWL.FAN.   

Gore navedeni postupak potrajao je malo vremena jer još uvijek nismo instalirali nijednu DNS uslugu. Međutim, domenu ste pravilno odabrali prema postavkama datoteke / etc / hosts. Zapamtite to u datoteci /etc/resolv.conf proglasili smo kao poslužitelj imena domene IP 127.0.0.1.

Sada konfigurišemo datoteku / etc / ldap / ldap / conf

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

Za upite pomoću naredbe ldapsearch napravljeni od root korisnika su tog tipa ldapsearch -x -W cn = xxxx, moramo stvoriti datoteku /root/.ldapsearc sa slijedećim sadržajem:

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

Sistem datoteka mora podržavati ACL - Lista za kontrolu pristupa

root @ master: ~ # nano / etc / fstab
# / etc / fstab: statične informacije o sistemu datoteka. # # Koristite 'blkid' za ispis univerzalno jedinstvenog identifikatora za # uređaj; ovo se može koristiti s UUID = kao robusniji način imenovanja uređaja # koji radi čak i ako se dodaju i uklone diskovi. Pogledajte fstab (5). # # # / bio je na / dev / sda1 tokom instalacije UUID = 33acb024-291b-4767-b6f4-cf207a71060c / ext4 user_xattr, acl, barrier = 1, noatime, error = remount-ro 0 1
# swap je bio uključen / dev / sda5 tokom instalacije UUID = cb73228a-615d-4804-9877-3ec225e3ae32 none swap sw 0 0 / dev / sr0 / media / cdrom0 udf, iso9660 user, noauto 0 0

root @ master: ~ # mount -a

root @ master: ~ # dodirni 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 # vlasnik: root # grupa: root korisnik :: rw- grupa :: r-- grupa: adm: rwx maska ​​:: rwx ostalo :: r--

Dobivamo izvor Samba 4, kompajliramo ga i instaliramo

Preporučuje se preuzimanje izvorne datoteke verzije Stabilan sa stranice https://www.samba.org/. U našem primjeru preuzimamo verziju samba-4.5.1.tar.gz prema fascikli / 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 /

Opcije konfiguracije

Ako želimo prilagoditi opcije konfiguracije, izvršavamo:

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

i s velikom pažnjom odaberite one koji su nam potrebni. Preporučljivo je provjeriti može li se preuzeti paket instalirati na Linux distribuciju koju koristimo, a to je u našem slučaju Debian 8.6 Jessie:

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

Konfiguriramo, kompajliramo i instaliramo samba-4.5.1

  • Iz prethodno instaliranih zahtjeva i 8604 datoteka (koje čine kompaktnu samba-4.5.1.tar.gz) teške oko 101.7 megabajta - uključujući mape source3 i source4 teške oko 61.1 megabajta - dobit ćemo zamjenu za Active Directory u Microsoftovom stilu, kvaliteta i stabilnosti više nego prihvatljiv za bilo koje proizvodno okruženje. Moramo istaknuti rad tima Samba u isporuci besplatnog softvera Samba 4.

Naredbe u nastavku su klasične za kompajliranje i instaliranje paketa iz njihovih izvora. Moramo biti strpljivi dok traje čitav proces. To je jedini način da se dobiju valjani i tačni rezultati.

root @ master: /opt/samba-4.5.1# ./configure --with-systemd - čaše za onesposobljavanje
root @ master: /opt/samba-4.5.1# napraviti
root @ master: /opt/samba-4.5.1# napravi instalaciju

Tokom procesa naredbe napraviti, možemo vidjeti da su izvori Samba 3 i Samba 4. Zbog toga Team Samba potvrđuje da je njegova verzija 4 prirodno ažuriranje verzije 3, kako za Domain Controllere zasnovane na Samba 3 + OpenLDAP, tako i serveri datoteka ili starije verzije Samba 4.

Pribavljanje Sambe

Kao DNS ćemo koristiti SAMBA_INTERNAL. En https://wiki.samba.org/index.php?title=Samba_Internal_DNS_Back_End naći ćemo više informacija. Kada nas pitaju za lozinku korisnika administratora, moramo upisati jedan od najmanje 8 znakova, a takođe, slovima - velikim i malim slovima - i brojevima.

Prije nego što prijeđemo na pripremu i kako bismo olakšali život, dodamo put izvršnih datoteka Samba u našoj datoteci .bashrcZatim se zatvorimo i ponovo prijavimo.

root @ master: ~ # nano .bashrc
# ~ / .bashrc: izvršava bash (1) za školjke koje se ne prijavljuju. # Napomena: PS1 i umask su već postavljeni u / etc / profile. Ovo vam ne bi trebalo # ako ne želite drugačije zadane postavke za root. # PS1 = '$ {debian_chroot: + ($ debian_chroot)} \ h: \ w \ $' # umask 022 # Možete komentirati sljedeće redove ako želite da `ls 'bude obojen: # export LS_OPTIONS =' - color = auto '# eval "` dircolors` "# alias ls =' ls $ LS_OPTIONS '# alias ll =' ls $ LS_OPTIONS -l '# alias l =' ls $ LS_OPTIONS -lA '# # Još nekoliko pseudonima kako bi se izbjegle greške : # alias rm = 'rm -i' # alias cp = 'cp -i' # alias mv = 'mv -i'
proglasi -x PATH = "/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: \ / sbin: / bin: / usr / local / samba / sbin: / usr / local / samba / bin "

root @ master: ~ # izlaz odjava Veza sa masterom je zatvorena. xeon @ sysadmin: ~ $ ssh root @ master

root @ master: ~ # odredba domene samba-alata --use-rfc2307 --interactive
Područje [SWL.FAN]: SWL.FAN
 Domen [SWL]: SWL
 Uloga poslužitelja (dc, član, samostalni) [dc]: dc
 DNS pozadina (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: SAMBA_INTERNAL
 IP adresa DNS prosljeđivača (napišite 'ništa' da biste onemogućili prosljeđivanje) [192.168.10.5]: 8.8.8.8
Lozinka administratora: TuPassword2017
Ponovo unesite lozinku: TuPassword2017
Traženje IPv4 adresa Traženje IPv6 adresa Neće biti dodijeljena IPv6 adresa Postavljanje share.ldb Postavljanje tajni.ldb Postavljanje registra Postavljanje baze privilegija Postavljanje idmap db Postavljanje SAM db Postavljanje sam.ldb particija i postavki Postavljanje gore sam.ldb rootDSE Prethodno učitavanje sheme Samba 4 i AD Dodavanje domeneDN: DC = swl, DC = ventilator Dodavanje konfiguracijskog spremnika Postavljanje sheme sam.ldb Postavljanje konfiguracijskih podataka sam.ldb Postavljanje specifikatora prikaza Modificiranje specifikacija prikaza Dodavanje korisničkog spremnika Izmjena kontejnera za korisnike Dodavanje kontejnera za računare Izmjena kontejnera za računare Postavljanje podataka sam.ldb Postavljanje dobro poznatih principa sigurnosti Postavljanje korisnika i grupa sam.ldb Postavljanje samostalnog pridruživanja Dodavanje DNS računa Izrada CN = MicrosoftDNS, CN = Sistem, DC = swl, DC = fan Stvaranje DomainDnsZones i ForestDnsZones particija Popunjavanje DomainDnsZones i ForestDnsZones particija Postavljanje sam.ldb rootDSE oznake kao sinhroniziranih GUID-ova odredbi popravljanjaKonfiguracija Kerberos prikladna za Samba 4 generirana je na /usr/local/samba/private/krb5.conf Postavljanje lažnih postavki yp servera Jednom kada su gornje datoteke instalirane, vaš Samba4 server bit će spreman za upotrebu uloge servera: aktivna domena direktorija kontroler Ime hosta: master NetBIOS Domena: SWL DNS Domena: swl.fan DOMEN SID: S-1-5-21-32182636-2892912266-1582980556

Ne zaboravimo kopirati Kerberos konfiguracijsku datoteku kako je naznačeno izlazom rezervisanja:

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

Da ne upišete naredbu samba-alat sa vašim punim imenom, kreiramo simboličku vezu sa kratkim imenom alatka:

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

Instaliramo NTP

Temeljni dio Active Directory-a je usluga mrežnog vremena.Kao što se provjera autentičnosti vrši putem Kerberosa i njegovih ulaznica, sinkronizacija vremena sa Samba 4 AD-DC je od vitalnog značaja.

root @ master: ~ # aptitude instaliraj 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 enable filegen peerstats file peerstats type day enable filegenstats file clockstats clock type day server 192.168.10.1 ograničiti -4 zadani kod notrap nomodify nopeer noquery ograničiti -6 zadati kod notrap nomodify nopeer noquery ograničiti zadani mssntp ograničiti 127.0.0.1 ograničiti :: 1 emitiranje 192.168.10.255

root @ master: ~ # ponovno pokretanje usluge ntp
root @ master: ~ # status ntp usluge

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

Ako prilikom ispitivanja syslog koristeći gornju naredbu ili koristeći journalctl -f dobivamo poruku:

19. juna 12:13:21 master ntpd_intres [1498]: roditelj je umro prije nego što smo završili, izlazak

moramo ponovo pokrenuti uslugu i pokušati ponovo. Sada kreiramo fasciklu ntp_signd:

root @ master: ~ # ls -ld / usr / local / samba / var / lib / ntp_signd
ls: / usr / local / samba / var / lib / ntp_signd ne može se pristupiti: datoteka ili direktorij ne postoji

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 /

# Kao što je zatraženo na samba.wiki.org
root @ master: ~ # ls -ld / usr / local / samba / var / lib / ntp_signd
drwxr-x --- 2 korijen ntp 4096 19. lipnja 12:21 / usr / local / samba / var / lib / ntp_signd

Konfigurišemo početak Sambe koristeći systemd

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

root @ master: ~ # systemctl omogući samba-ad-dc
root @ master: ~ # ponovno pokretanje

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

Lokacije datoteka Samba 4 AD-DC

ALL -minus novostvorena usluga samba-ad-dc.service- datoteke su u:

root @ master: ~ # ls -l / usr / local / samba /
ukupno 32 drwxr-sr-x 2 osnovno osoblje 4096 19. jun 11:55 am
drwxr-sr-x 2 root staff 4096 19. jun 11:50 itd
drwxr-sr-x 7 root staff 4096 19. jun 11:30 uključiti
drwxr-sr-x 15 root staff 4096 19. jun 11:33 LIB
drwxr-sr-x 7 root staff 4096 19. jun 12:40 privatan
drwxr-sr-x 2 root staff 4096 19. jun 11:33 sbin
drwxr-sr-x 5 root staff 4096 19. jun 11:33 udio
drwxr-sr-x 8 root staff 4096 19. jun 12:28 ima

u najboljem UNIX stilu. Uvijek je poželjno pregledati različite mape i ispitati njihov sadržaj.

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

root @ master: ~ # nano /usr/local/samba/etc/smb.conf 
# Globalni parametri [globalno] netbios name = MASTER carstvo = SWL.FAN radna grupa = SWL dns forwarder = 8.8.8.8 serverske usluge = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate , uloga dns poslužitelja = aktivni kontroler domene direktorija dozvoljava dns ažuriranja = samo sigurno idmap_ldb: koristi rfc2307 = da idmap config *: backend = tdb idmap config *: range = 1000000-1999999 ldap server zahtijeva jaku autorizaciju = nema imena printcap = / dev / null [netlogon] path = /usr/local/samba/var/locks/sysvol/swl.fan/scripts samo za čitanje = Ne [sysvol] path = / usr / local / samba / var / locks / sysvol read only = Ne

root @ master: ~ # testparm
Učitajte konfiguracijske datoteke smb iz /usr/local/samba/etc/smb.conf Obrada odjeljka "[netlogon]" Obrada odjeljka "[sysvol]" Učitana datoteka usluga je u redu. Uloga poslužitelja: ROLE_ACTIVE_DIRECTORY_DC Pritisnite enter da biste vidjeli dump definicija vaše usluge # Globalni parametri [global] realm = SWL.FAN radna grupa = SWL dns forwarder = 192.168.10.1 ldap server zahtijeva jaku autorizaciju = Nema passdb backend = samba_dsdb server role = aktivni direktorij kontrolera domena rpc_server: tcpip = ne rpc_daemon: spoolssd = ugrađeni rpc_server: spoolss = ugrađeni rpc_server: winreg = ugrađeni rpc_server: ntsvcs = ugrađeni rpc_server: EventLog = ugrađeni rpc_server: srvsvc = ugrađen rvcct_server = koristiti vanjski rvcct_server = koristiti vanjski rvcct_server = koristiti vanjski rvcct_server : eksterne cijevi = 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 / skripte samo za čitanje = Ne [sysvol] put = / usr / local / samba / var / locks / sysvol samo za čitanje = Ne

Minimalne provjere

root @ master: ~ # show nivoa domene alata
Razina funkcije domene i šume za domenu 'DC = swl, DC = fan' Razina funkcije šume: (Windows) 2008 R2 Razina funkcije domene: (Windows) 2008 R2 Najniža razina funkcije DC: (Windows) 2008 R2

root @ master: ~ # ldapsearch -x -W

root @ master: ~ # alat dbcheck
Provjera 262 objekta Provjera 262 objekta (0 grešaka)

root @ master: ~ # kinit Administrator
Lozinka za Administrator@SWL.FAN: 
root @ master: ~ # klist -f
Predmemorija ulaznica: DATOTEKA: / tmp / krb5cc_0
Glavni zadani: Administrator@SWL.FAN

Važeći početak Istječe Usluga glavna 19. 06:17:12 53. 24:19:06  krbtgt/SWL.FAN@SWL.FAN
    obnavljati do 20 06:17:12, zastave: RIA

root @ master: ~ # kdestroy
root @ master: ~ # klist -f
klist: Datoteka predmemorije vjerodajnica '/ tmp / krb5cc_0' nije pronađena

root @ master: ~ # smbclient -L localhost -U%
Domena = [SWL] OS = [Windows 6.1] Server = [Samba 4.5.1] Sharename Tip Komentar --------- ---- ------- netlogon Disk sysvol Disk IPC $ IPC IPC Usluga (Samba 4.5.1) Domena = [SWL] OS = [Windows 6.1] Server = [Samba 4.5.1] Komentar servera --------- ------- Master Workgroup Master ---- ----- -------

root @ master: ~ # smbclient // localhost / netlogon -UAdministrator -c 'ls'
Unesite administratorsku lozinku: Domena = [SWL] OS = [Windows 6.1] Server = [Samba 4.5.1]. D 0 Pon Jun 19 11:50:52 2017 .. D 0 Pon Jun 19 11:51:07 2017 19091584 blokova veličine 1024. Dostupni su 16198044 blokovi

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

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

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

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

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

root @ master: ~ # host -t NS swl.fan
swl.fan server poslužitelja imena master.swl.fan.

root @ master: ~ # host -t MX swl.fan
swl.fan nema MX zapis

root @ master: ~ # samba_dnsupdate --verbose

root @ master: ~ # lista korisnika alata
Administrator krbtgt gost

root @ master: ~ # lista grupa alata
# Rezultat je gomila grupa. ;-)

Upravljamo novoinstaliranom Samba 4 AD-DC

Ako želimo izmijeniti istek administratorske lozinke u danima; složenost lozinki; minimalna dužina lozinke; minimalno i maksimalno trajanje lozinke - za nekoliko dana; i promijenite administratorsku lozinku deklariranu tijekom rezervisanja, moramo izvršiti sljedeće naredbe pomoću vrijednosti prilagođene vašim potrebama:

root @ master: ~ # alat
Upotreba: samba-alat Glavni alat za upravljanje sambom. Opcije: -h, --help prikaži ovu poruku pomoći i izađi Opcije verzije: -V, --verzija Prikaži broj verzije Dostupni podnaredbi: dbcheck - Provjeri ima li lokalnih AD baza podataka na greške. delegiranje - upravljanje delegacijama. dns - Upravljanje uslugom domena (DNS). domena - upravljanje domenom. drs - Upravljanje uslugama replikacije direktorija (DRS). dsacl - DS ACL manipulacija. fsmo - Upravljanje ulogama fleksibilnih pojedinačnih glavnih operacija (FSMO). gpo - upravljanje objektima grupne politike (GPO). grupa - Upravljanje grupom. ldapcmp - Uporedite dvije ldap baze podataka. ntacl - NT ACL manipulacija. procesi - Navedite procese (za pomoć u otklanjanju grešaka na sistemima bez setproctitle). rodc - Upravljanje kontrolerom domene samo za čitanje (RODC). web lokacije - upravljanje web lokacijama. spn - Upravljanje imenom glavnog imena usluge (SPN). testparm - Sintaksa provjeri konfiguracijsku datoteku. vrijeme - Dohvatite vrijeme na serveru. korisnik - Upravljanje korisnicima. Za dodatnu pomoć o određenoj podnaredbi, upišite: samba-tool (-h | --pomoć)

root @ master: ~ # korisnik alata setexpiry administrator --noexpiry
root @ master: ~ # set postavki lozinke domene alata --min-pwd-length = 7
root @ master: ~ # set postavki lozinke domene alata --min-pwd-age = 0
root @ master: ~ # set postavki lozinke domene alata --max-pwd-age = 60
root @ master: ~ # alat korisnik setpassword --filter = samaccountname = Administrator --newpassword = Passw0rD

Dodamo nekoliko DNS zapisa

root @ master: ~ # alat dns
Upotreba: samba-tool dns Upravljanje uslugom domena (DNS). Opcije: -h, --help prikaži ovu poruku pomoći i izađi Dostupne podnaredbe: dodaj - Dodaj brisanje DNS zapisa - Izbriši upit DNS zapisa - Zatraži ime. roothints - upite za korijenske upute. serverinfo - Upit za informacije o serveru. ažuriranje - Ažuriranje DNS zapisa zonu kreirati - Stvoriti zonu. zonedelete - Izbrišite zonu. zoneinfo - Upit za informacije o zoni. zonelist - Upit za zone. Za dodatnu pomoć o određenoj podnaredbi, upišite: samba-tool dns (-h | --pomoć)

Mail server

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

Fiksna IP adresa drugih servera

root @ master: ~ # tool dns dodaj master swl.fan sysadmin A 192.168.10.1 -U administrator
root @ master: ~ # tool dns add master swl.fan fileserver A 192.168.10.10 -U administrator
root @ master: ~ # tool dns dodaj master swl.fan proxy A 192.168.10.11 -U administrator
root @ master: ~ # tool dns add master swl.fan chat 192.168.10.12 -U administrator

Reverse Zone

root @ master: ~ # tool dns zonecreate master 10.168.192.in-addr.arpa -U administrator
Lozinka za [SWL \ administrator]: Zona 10.168.192.in-addr.arpa je uspješno kreirana

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. -Administrator
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

Čekovi

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

root @ master: ~ # host master
master.swl.fan ima adresu 192.168.10.5
root @ master: ~ # host sysadmin
sysadmin.swl.fan ima adresu 192.168.10.1
root @ master: ~ # host mail
mail.swl.fan ima adresu 192.168.10.9
root @ master: ~ # host chat
chat.swl.fan ima adresu 192.168.10.12
root @ master: ~ # proxy host
proxy.swl.fan ima adresu 192.168.10.11
root @ master: ~ # host fajl poslužitelj
fileserver.swl.fan ima adresu 192.168.10.10
root @ master: ~ # host 192.168.10.1
1.10.168.192.in-addr.arpa pokazivač imena domene sysadmin.swl.fan.
root @ master: ~ # host 192.168.10.5
5.10.168.192.in-addr.arpa pokazivač imena domene master.swl.fan.
root @ master: ~ # host 192.168.10.9
9.10.168.192.in-addr.arpa pokazivač imena domene mail.swl.fan.
root @ master: ~ # host 192.168.10.10
10.10.168.192.in-addr.arpa pokazivač imena domene fileserver.swl.fan.
root @ master: ~ # host 192.168.10.11
11.10.168.192.in-addr.arpa pokazivač imena domene proxy.swl.fan.
root @ master: ~ # host 192.168.10.12
12.10.168.192.in-addr.arpa pokazivač imena domene chat.swl.fan.

Za znatiželjnike

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

Dodamo korisnike

root @ master: ~ # korisnik alata
Upotreba: korisnik samba alata Upravljanje korisnicima. Opcije: -h, --help prikaži ovu poruku pomoći i izađi Dostupne podkomande: dodaj - Stvori novog korisnika. create - Stvorite novog korisnika. delete - Izbrišite korisnika. onesposobiti - onemogućiti korisnika. enable - Omogućite korisnika. getpassword - Nabavite polja lozinke korisničkog / računarskog računa. lista - Lista svih korisnika. lozinka - Promenite lozinku za korisnički račun (onaj koji se daje u potvrdi identiteta). setexpiry - Postavite istek korisničkog računa. setpassword - postavite ili resetirajte lozinku korisničkog računa. syncpasswords - sinhronizujte lozinku korisničkih računa. Za dodatnu pomoć o određenoj podnaredbi, upišite: korisnik samba-alata (-h | --pomoć)

root @ master: ~ # korisnik alata kreira trancos Trancos01
Korisnik 'trancos' je uspješno kreiran
root @ master: ~ # korisnik alata kreira gandalf Gandalf01
Korisnik 'gandalf' je uspješno kreiran
root @ master: ~ # korisnik alata kreira legolas Legolas01
Korisnik 'legolas' je uspješno kreiran
root @ master: ~ # lista korisnika alata
Administrator gandalf legolas korača krbtgt Guest

Administracija putem grafičkog sučelja ili putem web klijenta

Posjetite wiki.samba.org za detaljne informacije o tome kako instalirati Microsoft RSAT o Alati za udaljeno administriranje servera. Ako vam nisu potrebne klasične politike koje nudi Microsoft Active Directory, možete instalirati paket ldap-account-manager koji nudi jednostavan interfejs za administraciju putem web pretraživača.

Paket programa Microsoft Remote Server Administration Tools (RSAT) uključen je u operativni sistem Windows Server.

Pridružujemo domenu Windows 7 klijentu nazvanom "sedam"

Kako u mreži nemamo DHCP poslužitelj, prvo što moramo učiniti je konfigurirati mrežnu karticu klijenta s fiksnom IP adresom, proglasiti da će primarni DNS biti IP mreže samba-ad-dci provjerite je li aktivirana opcija "Registriraj adresu ove veze u DNS". Nije besposleno provjeriti da li je naziv «sedam»Još nije registrovan u Sambinom internom DNS-u.

Nakon što pridružimo računalo domeni i ponovo ga pokrenemo, pokušajmo se prijaviti s korisnikom «koraci«. Provjerit ćemo da li sve funkcionira u redu. Takođe se preporučuje provjera dnevnika Windows klijenta i provjera ispravnosti sinhronizacije vremena.

Administratori s nekim Windows iskustvom će otkriti da će sve provjere na klijentu dati zadovoljavajuće rezultate.

Resumen

Nadam se da je članak koristan čitateljima FromLinux zajednice.

Zbogom!


Sadržaj članka pridržava se naših principa urednička etika. Da biste prijavili grešku, kliknite ovdje.

8 komentara, ostavi svoj

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Gonzalo martinez rekao je

    Dug, ali detaljan članak, vrlo dobar korak po korak kako učiniti sve.

    Ističem NIS, istina je da, iako znam za njegovo postojanje, nikada zapravo nisam znao kako to funkcionira, jer iskreno govoreći uvijek mi je ostavljao dojam da je praktično mrtav pored LDAP-a i Sambe 4.

    PS: Čestitamo na vašem novom ličnom projektu! Šteta što nećete nastaviti pisati ovdje, ali barem postoji mjesto koje će vas pratiti.

  2.   HO2Gi rekao je

    Ogroman vodič kao i uvijek za moje favorite, Pozdrav Fico.
    Čestitam na projektu.

  3.   IWO rekao je

    Odličan je odjeljak o NIS-u, simpatiziram Gonzala Martineza, kratko sam ga znao, ali nisam imao pojma kako ga primijeniti i u kojim se situacijama koristi.
    Hvala vam jednom na ogromnom "trupcu" teorijskog i praktičnog članka.
    Napokon novi uspjesi u vašem novom projektu «gigainside».

  4.   federico rekao je

    Puno hvala svima na komentaru !!!.
    Saludos

  5.   mussol rekao je

    smb.conf koji pokazujete nema nikakve veze s LDAP-om, je li tako namjerno ili sam nešto ostavio?

  6.   phico rekao je

    mussol: Ovo je Samba 4 Active Directory Domain Controller koji već ima ugrađeni LDAP server.

  7.   Vincent rekao je

    Možete li komentirati kako spojiti mac (jabuku) sa samba 4 AD-DC?
    Hvala.

  8.   jramirez rekao je

    Kako si;

    Hvala na priručniku, sjajno je. Imam pitanje o poruci koja mi se pojavljuje.

    root @ AD: ~ # nping –tcp -p 53 -c 3 ad.rjsolucionessac.com
    Nije uspjelo rješavanje datog imena hosta / IP-a: ad.rjsolucionessac.com. Imajte na umu da ne možete koristiti opsege IP stilova „/ mask“ I „1-4,7,100-“
    Ne mogu pronaći važeći cilj. Molimo provjerite jesu li navedeni hostovi IP adrese u standardnom zapisu ili imena hostova koja se mogu riješiti DNS-om
    root @ AD: ~ #