PAM, NIS, LDAP, Kerberos, DS dan Samba 4 AD-DC - Jaringan SMB

Indeks umum seri: Jaringan Komputer untuk UKM: Pendahuluan

Halo teman dan teman!

Dengan artikel ini saya mengucapkan selamat tinggal kepada Komunitas DesdeLinux. Perpisahan yang istimewa untuk Komunitas Istimewa. Mulai sekarang saya akan berada dalam proyek pribadi saya yang dapat Anda lihat di http://www.gigainside.com.

Tujuan utama posting ini adalah untuk menawarkan «Gambar besar»Tentang Layanan Otentikasi dengan Perangkat Lunak Gratis yang kami miliki. Setidaknya itulah niat kami. Oleh karena itu akan lama, meskipun kita tahu itu melanggar aturan umum menulis artikel. Kami berharap Administrator Sistem menghargainya.

Kami ingin menunjukkan bahwa protokol umum untuk banyak sistem otentikasi modern adalah LDAP, dan tidak iseng untuk mempelajarinya dengan cermat, dari bahan pelajaran yang akan kita temukan di situs resminya http://www.openldap.org/.

Kami tidak akan memberikan definisi rinci -atau tautan- tentang aspek-aspek yang dibahas dalam artikel sebelumnya, atau pada aspek-aspek yang deskripsinya dapat dengan mudah diakses di Wikipedia atau situs lain atau artikel di Internet, agar tidak kehilangan objektivitas pesan yang kami inginkan. memberi. Kami juga akan menggunakan campuran nama yang valid dalam bahasa Inggris dan Spanyol, karena kami menganggap bahwa sebagian besar sistem dilahirkan dengan nama dalam bahasa Inggris dan sangat bermanfaat bagi Sysadmin untuk mengasimilasinya dalam bahasa aslinya..

  • PAM: Modul Otentikasi yang Dapat Dicolokkan.
  • NIS: Jaringan_Informasi_Layanan.
  • LDAP: Protokol Akses Direktori Ringan.
  • Kerberos: Protokol keamanan untuk mengotentikasi pengguna, komputer, dan layanan secara terpusat di jaringan, memverifikasi kredensial mereka terhadap entri yang ada di database Kerberos.
  • DS: Server Direktori atau Layanan Direktori
  • AD–DC: Direktori Aktif - Pengontrol Domain

PAM

Kami mendedikasikan serangkaian kecil untuk jenis otentikasi lokal ini, yang akan Anda lihat dalam praktik sehari-hari bahwa itu banyak digunakan ketika, misalnya, kami menggabungkan workstation ke Pengontrol Domain atau Direktori Aktif; untuk memetakan pengguna yang disimpan dalam database LDAP eksternal seolah-olah mereka adalah pengguna lokal; untuk memetakan pengguna yang disimpan dalam Pengontrol Domain dari Active Directory seolah-olah mereka adalah pengguna lokal, dan seterusnya.

NIS

De Wikipedia:

  • Sistem Informasi Jaringan (dikenal dengan akronimnya NIS, yang dalam bahasa Spanyol berarti Sistem Informasi Jaringan), adalah nama protokol layanan direktori klien-server yang dikembangkan oleh Sun Microsystems untuk mengirimkan data konfigurasi dalam sistem terdistribusi seperti nama pengguna dan host antar komputer di jaringan.NIS didasarkan pada ONC RPC, dan terdiri dari server, perpustakaan sisi klien, dan berbagai alat administrasi.

    NIS awalnya disebut Yellow Pages, atau YP, yang masih digunakan untuk merujuknya. Sayangnya, nama itu adalah merek dagang British Telecom, yang mengharuskan Sun untuk menghapus nama itu. Namun YP tetap menjadi prefiks di sebagian besar nama perintah yang berhubungan dengan NIS, seperti ypserv dan ypbind.

    DNS menyajikan informasi yang terbatas, yang paling penting adalah korespondensi antara nama node dan alamat IP. Untuk jenis informasi lain, tidak ada layanan khusus seperti itu. Di sisi lain, jika hanya LAN kecil yang dikelola tanpa konektivitas Internet, tampaknya tidak ada gunanya menyiapkan DNS. Inilah mengapa Sun mengembangkan Sistem Informasi Jaringan (NIS). NIS menyediakan kemampuan akses database generik yang dapat digunakan untuk mendistribusikan, misalnya, informasi yang terdapat dalam file passwd dan grup ke semua node di jaringan Anda. Ini membuat jaringan terlihat seperti satu sistem, dengan akun yang sama di semua node. Demikian pula, NIS dapat digunakan untuk mendistribusikan informasi nama node yang terdapat di / etc / hosts ke semua mesin di jaringan.

    Saat ini NIS tersedia di hampir semua distribusi Unix, dan bahkan ada implementasi gratis. BSD Net-2 menerbitkan satu yang berasal dari implementasi referensi domain publik yang disumbangkan oleh Sun. Kode pustaka untuk bagian klien dari versi ini telah ada di GNU / Linux libc untuk waktu yang lama, dan program administrasi dipindahkan ke GNU / Linux oleh Swen Thümmler. Namun, server NIS hilang pada implementasi referensi.

    Peter Eriksson telah mengembangkan implementasi baru yang disebut NYS. Ini mendukung NIS dasar dan versi Sun NIS + yang disempurnakan. [1] NYS tidak hanya menyediakan sejumlah alat NIS dan server, tetapi juga menambahkan serangkaian fungsi perpustakaan baru yang Anda perlukan untuk dikompilasi ke dalam libc Anda jika Anda ingin menggunakannya. Ini termasuk skema konfigurasi baru untuk resolusi nama node yang menggantikan skema saat ini yang digunakan oleh file "host.conf".

    GNU libc, yang dikenal sebagai libc6 dalam komunitas GNU / Linux, menyertakan versi terbaru dari dukungan NIS tradisional yang dikembangkan oleh Thorsten Kukuk. Ini mendukung semua fungsi perpustakaan yang disediakan oleh NYS, dan juga menggunakan skema konfigurasi NYS lanjutan. Alat dan server masih dibutuhkan, tetapi menggunakan GNU libc akan menghindari masalah dalam menambal dan mengkompilasi ulang perpustakaan

    .

Komputer dan nama domain, antarmuka jaringan dan resolver

  • Kami mulai dari instalasi bersih -tanpa antarmuka grafis- dari Debian 8 "Jessie". Domain swl.fan berarti "Penggemar Perangkat Lunak Gratis". Nama apa yang lebih baik dari ini?.
root @ master: ~ # nama host
menguasai
root @ master: ~ # nama host -f
master.swl.fan

root @ master: ~ # ip addr 1: lo: mtu 65536 qdisc noqueue state TIDAK DIKETAHUI link default grup / loopback 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00 inet 127.0.0.1/8 host cakupan lo valid_lft selamanya disukai_lft selamanya inet6 :: 1/128 lingkup host valid_lft forever prefer_lft forever 2: eth0: mtu 1500 qdisc pfifo_fast state UP default grup qlen 1000 link / ether 00: 0c: 29: 4c: 76: d9 brd ff: ff: ff: ff: ff: ff inet 192.168.10.5/24 brd 192.168.10.255 lingkup global eth0 valid_lft forever prefer_lft forever inet6 fe80 :: 20c: 29ff: fe4c: 76d9 / 64 link cakupan valid_lft selamanya disukai_lft selamanya

root @ master: ~ # cat /etc/resolv.conf 
cari server nama swl.fan 127.0.0.1

Instalasi bind9, isc-dhcp-server dan ntp

mengikat9

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

root @ master: ~ # nano /etc/bind/named.conf
sertakan "/etc/bind/named.conf.options"; sertakan "/etc/bind/named.conf.local"; sertakan "/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
opsi {direktori "/ var / cache / bind"; // Jika ada firewall antara Anda dan server nama yang ingin // Anda hubungi, Anda mungkin perlu memperbaiki firewall untuk mengizinkan beberapa // port untuk berbicara. Lihat http://www.kb.cert.org/vuls/id/800113

        // Jika ISP Anda menyediakan satu atau lebih alamat IP untuk // nameserver yang stabil, Anda mungkin ingin menggunakannya sebagai penerusan. // Batalkan komentar pada blok berikut, dan masukkan alamat yang menggantikan // placeholder all-0. // penerusan {// 0.0.0.0; //}; // =============================================== = ==================== $ // Jika BIND mencatat pesan kesalahan tentang kunci root yang kedaluwarsa, // Anda perlu memperbarui kunci Anda. Lihat https://www.isc.org/bind-keys
        // =============================================== ===================== $ // Kami tidak menginginkan DNSSEC
        dnssec-aktifkan tidak;
        // dnssec-validation auto; auth-nxdomain no; # sesuai dengan RFC1035 listening-on-v6 {any; }; // Untuk pemeriksaan dari localhost dan sysadmin // melalui dig swl.fan axfr // Kami tidak memiliki DNS Slave ... sampai sekarang
        allow-transfer {localhost; 192.168.10.1; };
}; root @ master: ~ # bernama-checkconf

root @ master: ~ # nano /etc/bind/zones.rfcFreeBSD
// Ruang Alamat Bersama (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 (RFC 3927, 5735 dan 6303)
zona "254.169.in-addr.arpa" {tipe master; file "/etc/bind/db.empty"; };

// Penugasan protokol IETF (RFC 5735 dan 5736)
zona "0.0.192.in-addr.arpa" {tipe master; file "/etc/bind/db.empty"; };

// TEST-NET- [1-3] untuk Dokumentasi (RFC 5735, 5737 dan 6303)
zona "2.0.192.in-addr.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "100.51.198.in-addr.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "113.0.203.in-addr.arpa" {tipe master; file "/etc/bind/db.empty"; };

// Rentang Contoh IPv6 untuk Dokumentasi (RFC 3849 dan 6303)
zona "8.bd0.1.0.0.2.ip6.arpa" {tipe master; file "/etc/bind/db.empty"; };

// Nama Domain untuk Dokumentasi dan Pengujian (BCP 32)
zona "test" {tipe master; file "/etc/bind/db.empty"; }; zona "contoh" {tipe master; file "/etc/bind/db.empty"; }; zona "tidak valid" {tipe master; file "/etc/bind/db.empty"; }; zona "example.com" {tipe master; file "/etc/bind/db.empty"; }; zona "example.net" {tipe master; file "/etc/bind/db.empty"; }; zona "example.org" {tipe master; file "/etc/bind/db.empty"; };

// Pengujian Tolok Ukur Router (RFC 2544 dan 5735)
zona "18.198.in-addr.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "19.198.in-addr.arpa" {tipe master; file "/etc/bind/db.empty"; };

// Dicadangkan IANA - Ruang Kelas E Lama (RFC 5735)
zona "240.in-addr.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "241.in-addr.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "242.in-addr.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "243.in-addr.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "244.in-addr.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "245.in-addr.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "246.in-addr.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "247.in-addr.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "248.in-addr.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "249.in-addr.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "250.in-addr.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "251.in-addr.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "252.in-addr.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "253.in-addr.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "254.in-addr.arpa" {tipe master; file "/etc/bind/db.empty"; };

// IPv6 Alamat Tidak Ditugaskan (RFC 4291)
zona "1.ip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "3.ip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "4.ip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "5.ip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "6.ip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "7.ip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "8.ip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "9.ip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "a.ip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "b.ip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "c.ip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "d.ip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "e.ip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "0.f.ip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "1.f.ip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "2.f.ip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "3.f.ip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "4.f.ip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "5.f.ip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "6.f.ip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "7.f.ip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "8.f.ip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "9.f.ip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "afip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "bfip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "0.efip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "1.efip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "2.efip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "3.efip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "4.efip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "5.efip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "6.efip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "7.efip6.arpa" {tipe master; file "/etc/bind/db.empty"; };

// IPv6 ULA (RFCs 4193 dan 6303)
zona "cfip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "dfip6.arpa" {tipe master; file "/etc/bind/db.empty"; };

// IPv6 Link Local (RFC 4291 dan 6303)
zona "8.efip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "9.efip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "aefip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "befip6.arpa" {tipe master; file "/etc/bind/db.empty"; };

// IPv6 Alamat Situs-Lokal yang Tidak Berlaku Lagi (RFC 3879 dan 6303)
zona "cefip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "defip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "eefip6.arpa" {tipe master; file "/etc/bind/db.empty"; }; zona "fefip6.arpa" {tipe master; file "/etc/bind/db.empty"; };

// IP6.INT Tidak Berlaku Lagi (RFC 4159)
zona "ip6.int" {tipe master; file "/etc/bind/db.empty"; };

root @ master: ~ # nano /etc/bind/named.conf.local
// // Lakukan konfigurasi lokal apa pun di sini // // Pertimbangkan untuk menambahkan zona 1918 di sini, jika tidak digunakan di // organisasi Anda termasuk "/etc/bind/zones.rfc1918";
sertakan "/etc/bind/zones.rfcFreeBSD";

// Deklarasi nama, jenis, lokasi, dan izin pembaruan // Zona Data DNS // Kedua Zona adalah zona MASTER "swl.fan" {jenis master; file "/var/lib/bind/db.swl.fan"; }; zona "10.168.192.in-addr.arpa" {tipe master; file "/var/lib/bind/db.10.168.192.in-addr.arpa"; };

root @ master: ~ # bernama-checkconf

root @ master: ~ # nano /var/lib/bind/db.swl.fan
$ TTL 3H @ DI SOA master.swl.fan. root.master.swl.fan. (1; serial 1D; refresh 1H; retry 1W; expire 3H); minimum atau; Waktu caching negatif untuk hidup; @ IN NS master.fan. @ DI MX 10 mail.swl.fan. @ IN A 192.168.10.5 @ IN TXT "Untuk Penggemar Perangkat Lunak Gratis"; sysadmin IN A 192.168.10.1 fileserver IN A 192.168.10.4 master IN A 192.168.10.5 proxyweb IN A 192.168.10.6 blog IN A 192.168.10.7 ftpserver IN A 192.168.10.8 mail IN A 192.168.10.9

root @ master: ~ # nano /var/lib/bind/db.10.168.192.in-addr.arpa
$ TTL 3H @ DI SOA master.swl.fan. root.master.swl.fan. (1; serial 1D; refresh 1H; retry 1W; expire 3H); minimum atau; Waktu caching negatif untuk hidup; @ IN NS master.fan. ; 1 DI sysadmin.swl.fan PTR. 4 DI fileserver.swl.fan PTR. 5 DI master.swl.fan PTR. 6 DI PTR proxyweb.swl.fan. 7 DI blog.swl.fan PTR. 8 DALAM PTR ftpserver.swl.fan. 9 DI PTR mail.swl.fan.

root @ master: ~ # bernama-checkzone swl.fan /var/lib/bind/db.swl.fan
zona swl.fan/IN: memuat serial 1 OK
root @ master: ~ # bernama-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: memuat serial 1 OK

root @ master: ~ # bernama-checkconf -zp
root @ master: ~ # systemctl restart bind9.service
root @ master: ~ # status systemctl bind9.service

Pemeriksaan Bind9

root @ master: ~ # gali swl.fan axfr
root @ master: ~ # dig 10.168.192.in-addr.arpa axfr
root @ master: ~ # dig DI SOA swl.fan
root @ master: ~ # dig IN NS swl.fan
root @ master: ~ # dig IN MX swl.fan
root @ master: ~ # proxyweb host root @ master: ~ # nping --tcp -p 53 -c 3 localhost
root @ master: ~ # nping --udp -p 53 -c 3 localhost
root @ master: ~ # nping --tcp -p 53 -c 3 master.swl.fan
root @ master: ~ # nping --udp -p 53 -c 3 master.swl.fan
Mulai Nping 0.6.47 ( http://nmap.org/nping ) di 2017-05-27 09:32 EDT DIKIRIM (0.0037s) UDP 192.168.10.5:53> 192.168.10.245:53 ttl = 64 id = 20743 iplen = 28 DIKIRIM (1.0044s) UDP 192.168.10.5:53> 192.168.10.245 .53: 64 ttl = 20743 id = 28 iplen = 2.0060 DIKIRIM (192.168.10.5s) UDP 53:192.168.10.245> 53:64 ttl = 20743 id = 28 iplen = 3 Max rtt: N / A | Min rtt: T / A | Rtt rtt: N / A Paket mentah yang dikirim: 84 (0B) | Rcvd: 0 (3B) | Hilang: 100.00 (1%) Nping selesai: 3.01 alamat IP di-ping dalam XNUMX detik 

isc-dhcp-server

root @ master: ~ # aptitude install isc-dhcp-server
root @ master: ~ # nano / etc / default / isc-dhcp-server
# Pada antarmuka apa server DHCP (dhcpd) harus melayani permintaan DHCP? # Pisahkan banyak antarmuka dengan spasi, misalnya "eth0 eth1".
ANTARMUKA = "eth0"

root @ master: ~ # dnssec-keygen -a HMAC-MD5 -b 128 -r / dev / urandom -n PENGGUNA dhcp-key
root @ master: ~ # cat Kdhcp-key. +157 + 51777.private 
Format kunci pribadi: v1.3 Algoritma: 157 (HMAC_MD5) Kunci: Ba9GVadq4vOCixjPN94dCQ == Bit: AAA = Dibuat: 20170527133656 Terbitkan: 20170527133656 Aktifkan: 20170527133656

root @ master: ~ # nano dhcp.key
kunci dhcp-kunci {
        algoritma hmac-md5;
        rahasia "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
sertakan "/etc/bind/dhcp.key";

zona "swl.fan" {tipe master; file "/var/lib/bind/db.swl.fan";
        izinkan-perbarui {key dhcp-key; };
}; zona "10.168.192.in-addr.arpa" {tipe master; file "/var/lib/bind/db.10.168.192.in-addr.arpa";
        izinkan-perbarui {key dhcp-key; };
};

root @ master: ~ # bernama-checkconf

root @ master: ~ # mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.original
root @ master: ~ # nano /etc/dhcp/dhcpd.conf
ddns-update-style interim; ddns-update aktif; ddns-domainname "swl.fan."; ddns-rev-domainname "in-addr.arpa."; abaikan pembaruan klien; update-optimization false; # Mungkin diperlukan pada otoritatif Debian; opsi ip-forwarding off; opsi nama-domain "swl.fan"; sertakan "/etc/dhcp/dhcp.key"; zona swl.fan. {utama 127.0.0.1; kunci dhcp-key; } zona 10.168.192.in-addr.arpa. {utama 127.0.0.1; kunci dhcp-key; } redlocal jaringan bersama {subnet 192.168.10.0 netmask 255.255.255.0 {router opsi 192.168.10.1; opsi subnet-mask 255.255.255.0; opsi alamat-siaran 192.168.10.255; opsi domain-name-server 192.168.10.5; opsi netbios-name-server 192.168.10.5; opsi ntp-server 192.168.10.5; server waktu opsi 192.168.10.5; kisaran 192.168.10.30 192.168.10.250; }}

root @ master: ~ # dhcpd -t
Internet Systems Consortium DHCP Server 4.3.1 Hak Cipta 2004-2014 Internet Systems Consortium. Seluruh hak cipta. Untuk info, silakan kunjungi https://www.isc.org/software/dhcp/
File konfigurasi: /etc/dhcp/dhcpd.conf File database: /var/lib/dhcp/dhcpd.leases file PID: /var/run/dhcpd.pid

root @ master: ~ # systemctl restart bind9.service 
root @ master: ~ # status systemctl bind9.service 

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

ntp

root @ master: ~ # aptitude install ntp ntpdate
root @ master: ~ # cp /etc/ntp.conf /etc/ntp.conf.original
root @ master: ~ # nano /etc/ntp.conf
driftfile /var/lib/ntp/ntp.drift statistik loopstats peerstats clockstats filegen loopstats file loopstats jenis hari aktifkan filegen peerstats file peerstats jenis hari aktifkan file clockstats file clockstats jenis jam mengaktifkan server 192.168.10.1 batasi -4 default kod notrap nomodify tidak ada batasan noquery -6 default kod notrap nomodify nopeer noquery membatasi 127.0.0.1 membatasi :: 1 siaran 192.168.10.255

root @ master: ~ # systemctl restart ntp.service 
root @ master: ~ # status systemctl ntp.service
root @ master: ~ # ntpdate -u sysadmin.swl.fan
27 Mei 10:04:01 ntpdate [18769]: menyesuaikan server waktu 192.168.10.1 offset 0.369354 detik

Pemeriksaan global untuk ntp, bind9, dan isc-dhcp-server

Dari klien Linux, BSD, Mac OS, atau Windows, periksa apakah waktu telah disinkronkan dengan benar. Itu memperoleh alamat IP dinamis dan bahwa nama host itu diselesaikan melalui permintaan DNS langsung dan terbalik. Ubah nama pelanggan dan ulangi semua cek. Jangan lanjutkan sampai Anda yakin bahwa layanan yang diinstal sejauh ini berfungsi dengan benar. Untuk sesuatu, kami menulis semua artikel tentang DNS dan DHCP Jaringan Komputer untuk UKM.

Instalasi NIS Server

root @ master: ~ # aptitude show nis
Konflik dengan: netstd (<= 1.26) Deskripsi: klien dan daemon untuk Layanan Informasi Jaringan (NIS) Paket ini menyediakan alat untuk menyiapkan dan memelihara domain NIS. NIS, awalnya dikenal sebagai Yellow Pages (YP), sebagian besar digunakan untuk memungkinkan beberapa mesin dalam jaringan berbagi informasi akun yang sama, seperti file kata sandi.

root @ master: ~ # aptitude install nis
Konfigurasi Paket ┌─────────────────────────┤ Konfigurasi Nis ├──────────────── ──────────┐ │ Pilih "nama domain" NIS untuk sistem ini. Jika Anda ingin │ │ mesin ini hanya sebagai klien, Anda harus memasukkan nama domain │ │ NIS yang ingin Anda ikuti. │ │ │ │ Alternatifnya, jika mesin ini adalah server NIS, Anda dapat │ │ memasukkan "nama domain" NIS baru atau nama domain │ │ NIS yang sudah ada. │ │ │ │ NIS Domain: │ │ │ │ swl.fan __________________________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ────────────────────────────┘  

Ini akan menunda milik Anda karena konfigurasi layanan tidak ada seperti itu. Silahkan tunggu prosesnya sampai selesai.

root @ master: ~ # nano / etc / default / nis
# Apakah kita adalah server NIS dan jika demikian jenis apa (values: false, slave, master)?
NISSERVER = master

root @ master: ~ # nano /etc/ypserv.securenets # securenets File ini mendefinisikan hak akses ke server NIS Anda # untuk klien NIS (dan server slave - ypxfrd menggunakan file # ini juga). File ini berisi pasangan netmask / jaringan. # Alamat IP klien harus cocok dengan setidaknya satu # dari mereka. # # Seseorang dapat menggunakan kata "host" daripada netmask dari # 255.255.255.255. Hanya alamat IP yang diperbolehkan dalam file # ini, bukan nama host. # # Selalu izinkan akses untuk localhost 255.0.0.0 127.0.0.0 # Baris ini memberikan akses ke semua orang. HARAP SESUAIKAN! # 0.0.0.0 0.0.0.0
255.255.255.0 192.168.10.0

root @ master: ~ # nano / var / yp / Makefile # Haruskah kita menggabungkan file passwd dengan file shadow? # MERGE_PASSWD = true | false
MERGE_PASSWD = benar

# Haruskah kita menggabungkan file grup dengan file gshadow? # MERGE_GROUP = true | false
MERGE_GROUP = benar

Kami membangun database NIS

root @ master: ~ # / usr / lib / yp / ypinit -m
Pada titik ini, kita harus membuat daftar host yang akan menjalankan server NIS. master.swl.fan ada dalam daftar host server NIS. Silakan lanjutkan untuk menambahkan nama untuk host lainnya, satu per baris. Setelah Anda selesai dengan daftarnya, ketik a . host berikutnya yang akan ditambahkan: master.swl.fan host berikutnya yang akan ditambahkan: Daftar server NIS saat ini terlihat seperti ini: master.swl.fan Apakah benar? [y / n: y] Kami memerlukan beberapa menit untuk membangun database ... make [1]: Meninggalkan direktori '/var/yp/swl.fan' master.swl.fan telah disiapkan sebagai server master NIS . Sekarang Anda dapat menjalankan ypinit -s master.swl.fan di semua server slave.

root @ master: ~ # systemctl restart nis
root @ master: ~ # status systemctl nis

Kami menambahkan pengguna lokal

root @ master: ~ # adduser bilbo
Menambahkan pengguna `bilbo '... Menambahkan grup baru` bilbo' (1001) ... Menambahkan pengguna baru` bilbo '(1001) dengan group` bilbo' ... Membuat direktori home `/ home / bilbo ' ... Menyalin file dari `/ etc / skel '... Masukkan kata sandi UNIX baru: Ketik ulang kata sandi UNIX baru: passwd: kata sandi diperbarui dengan benar Mengubah informasi pengguna untuk bilbo Masukkan nilai baru, atau tekan ENTER untuk menggunakan default Nama Lengkap []: Bilbo Bagins Nomor Kamar []: Telepon Kantor []: Telepon Rumah []: Lainnya []: Apakah informasinya benar? [Y / n]

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

dan sebagainya.

root @ master: ~ # legolas jari
Login: legolas Nama: Direktori Legolas Archer: / home / legolas Shell: / bin / bash Tidak pernah login. Tidak ada surat. Tidak ada rencana.

Kami memperbarui database NIS

root @ master: / var / yp # make
make [1]: Memasuki direktori '/var/yp/swl.fan' Memperbarui passwd.byname ... Memperbarui passwd.byuid ... Memperbarui group.byname ... Memperbarui group.bygid ... Memperbarui netid.byname. .. Memperbarui shadow.byname ... Diabaikan -> digabungkan dengan passwd make [1]: Meninggalkan direktori '/var/yp/swl.fan'

Kami menambahkan opsi NIS ke isc-dhcp-server

root @ master: ~ # nano /etc/dhcp/dhcpd.conf
ddns-update-style interim; ddns-update aktif; ddns-domainname "swl.fan."; ddns-rev-domainname "in-addr.arpa."; abaikan pembaruan klien; update-optimization false; berwibawa; opsi ip-forwarding off; opsi nama-domain "swl.fan"; sertakan "/etc/dhcp/dhcp.key"; zona swl.fan. {utama 127.0.0.1; kunci dhcp-key; } zona 10.168.192.in-addr.arpa. {utama 127.0.0.1; kunci dhcp-key; } redlocal jaringan bersama {subnet 192.168.10.0 netmask 255.255.255.0 {router opsi 192.168.10.1; opsi subnet-mask 255.255.255.0; opsi alamat-siaran 192.168.10.255; opsi domain-name-server 192.168.10.5; opsi netbios-name-server 192.168.10.5; opsi ntp-server 192.168.10.5; server waktu opsi 192.168.10.5;
                opsi nis-domain "swl.fan";
                opsi nis-server 192.168.10.5;
                kisaran 192.168.10.30 192.168.10.250; }}

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

Instalasi Klien NIS

  • Kami mulai dari instalasi bersih -tanpa antarmuka grafis- dari Debian 8 "Jessie".
root @ mail: ~ # hostname -f
mail.swl.fan

root @ mail: ~ # ip addr
2: eth0: mtu 1500 qdisc pfifo_fast state UP default grup qlen 1000 link / ether 00: 0c: 29: 25: 1f: 54 brd ff: ff: ff: ff: ff: ff
    inet 192.168.10.9/24 brd 192.168.10.255 lingkup global eth0

root @ mail: ~ # bakat menginstal nis
root @ mail: ~ # nano /etc/yp.conf # # yp.conf File konfigurasi untuk proses ypbind. Anda dapat menentukan # server NIS secara manual di sini jika mereka tidak dapat ditemukan oleh # penyiaran di jaringan lokal (yang merupakan default). # # Lihat halaman manual ypbind untuk mengetahui sintaks file ini. # # PENTING: Untuk "ypserver", gunakan alamat IP, atau pastikan # host ada di / etc / hosts. File ini hanya diinterpretasikan # sekali, dan jika DNS belum dapat dijangkau, ypserver tidak dapat # diselesaikan dan ypbind tidak akan pernah mengikat ke server. # ypserver ypserver.network.com ypserver master.swl.fan domain swl.fan

root @ mail: ~ # nano /etc/nsswitch.conf
# /etc/nsswitch.conf # # Contoh konfigurasi fungsionalitas GNU Name Service Switch. # Jika Anda telah menginstal paket `glibc-doc-reference 'dan` info', coba: #` info libc "Name Service Switch" 'untuk informasi tentang file ini. passwd: compat nis group: compat nis shadow: compat nis gshadow: files hosts: files dns nis networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis

root @ mail: ~ # nano /etc/pam.d/common-session
# pam-auth-update (8) untuk detailnya.
sesi opsional pam_mkhomedir.so skel = / etc / skel umask = 077
# berikut adalah modul per paket (blok "Utama")

root @ mail: ~ # status systemctl nis
root @ mail: ~ # systemctl restart nis

Kami menutup sesi dan memulainya lagi tetapi dengan pengguna terdaftar di database NIS di master.swl.fan.

root @ mail: ~ # keluar
logout Koneksi ke email ditutup.

buzz @ sysadmin: ~ $ ssh legolas @ mail
sandi legolas @ mail: Membuat direktori '/ home / legolas'. Program yang disertakan dengan sistem Debian GNU / Linux adalah perangkat lunak bebas; ketentuan distribusi yang tepat untuk setiap program dijelaskan dalam file individual di / usr / share / doc / * / copyright. Debian GNU / Linux hadir dengan BENAR-BENAR TANPA JAMINAN, sejauh diizinkan oleh hukum yang berlaku.
legolas @ mail: ~ $ pwd
/ home / legolas
legolas @ mail: ~ $ 

Kami mengubah kata sandi pengguna legolas dan memeriksa

legolas @ mail: ~ $ yppasswd 
Mengubah informasi akun NIS untuk legolas di master.swl.fan. Silakan masukkan kata sandi lama: legolas Mengubah kata sandi NIS untuk legolas di master.swl.fan. Silakan masukkan kata sandi baru: archer Kata sandi harus terdiri dari huruf besar dan kecil, atau bukan huruf. Silakan masukkan kata sandi baru: Arquero2017 Silakan ketik ulang kata sandi baru: Arquero2017 Kata sandi NIS telah diubah di master.swl.fan.

legolas @ mail: ~ $ keluar
logout Koneksi ke email ditutup.

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

Program yang disertakan dengan sistem Debian GNU / Linux adalah perangkat lunak bebas; ketentuan distribusi yang tepat untuk setiap program dijelaskan dalam file individual di / usr / share / doc / * / copyright. Debian GNU / Linux hadir dengan BENAR-BENAR TANPA JAMINAN, sejauh diizinkan oleh hukum yang berlaku. Terakhir masuk: Sabtu 27 Mei 12:51:50 2017 dari sysadmin.swl.fan
legolas @ mail: ~ $

Layanan NIS yang diterapkan di tingkat server dan klien bekerja dengan benar.

LDAP

Dari Wikipedia:

  • LDAP adalah singkatan dari Lightweight Directory Access Protocol (dalam bahasa Spanyol Lightweight / Simplified Directory Access Protocol) yang mengacu pada protokol tingkat aplikasi yang memungkinkan akses ke layanan direktori yang dipesan dan didistribusikan untuk mencari berbagai informasi di lingkungan jaringan. LDAP juga dianggap sebagai database (meskipun sistem penyimpanannya mungkin berbeda) yang dapat ditanyakan.Direktori adalah sekumpulan objek dengan atribut yang diatur secara logis dan hierarkis. Contoh paling umum adalah direktori telepon, yang terdiri dari serangkaian nama (orang atau organisasi) yang disusun menurut abjad, dengan setiap nama memiliki alamat dan nomor telepon yang menyertainya. Untuk lebih memahami, ini adalah buku atau map, di mana nama orang, nomor telepon dan alamat ditulis, dan diatur menurut abjad.

    Pohon direktori LDAP terkadang mencerminkan berbagai batasan politik, geografis, atau organisasi, bergantung pada model yang dipilih. Penerapan LDAP saat ini cenderung menggunakan nama Sistem Nama Domain (DNS) untuk menyusun tingkat hierarki yang lebih tinggi. Saat Anda menggulir ke bawah direktori, entri yang mewakili orang, unit organisasi, printer, dokumen, sekelompok orang, atau apapun yang mewakili entri tertentu di pohon (atau beberapa entri) akan muncul.

    Biasanya, ini menyimpan informasi otentikasi (pengguna dan kata sandi) dan digunakan untuk otentikasi, meskipun dimungkinkan untuk menyimpan informasi lain (data kontak pengguna, lokasi berbagai sumber daya jaringan, izin, sertifikat, dll.). Singkatnya, LDAP adalah protokol akses terpadu ke sekumpulan informasi di jaringan.

    Versi saat ini adalah LDAPv3, dan itu didefinisikan dalam RFCs RFC 2251 dan RFC 2256 (dokumen dasar LDAP), RFC 2829 (metode otentikasi untuk LDAP), RFC 2830 (ekstensi untuk TLS), dan RFC 3377 (spesifikasi teknis)

    .

Untuk jangka waktu yang lama, protokol LDAP -dan database-nya kompatibel atau tidak dengan OpenLDAP- adalah yang paling banyak digunakan di sebagian besar sistem otentikasi saat ini. Sebagai contoh dari pernyataan sebelumnya, kami memberikan di bawah ini beberapa nama sistem -Free atau Private- yang menggunakan database LDAP sebagai backend untuk menyimpan semua objeknya:

  • OpenLDAP
  • Server Direktori Apache
  • Server Direktori Red Hat - 389 DS
  • Layanan Direktori Novell - eDirectory
  • SUN Microsystem Buka DS
  • Manajer Identitas Red Hat
  • IPA Gratis
  • Pengontrol Domain Klasik Samba NT4.
    Kami ingin mengklarifikasi bahwa sistem ini merupakan pengembangan dari Team Samba dengan Samba 3.xxx + OpenLDAP sebagai backend. Microsoft tidak pernah menerapkan hal seperti itu. Melompat dari Pengontrol Domain NT 4 ke Direktori Aktif mereka
  • Samba 4 Active Directory - Domain Controler
  • ClearOS
  • Tanaman
  • Server Perusahaan UCS Uninvention
  • Microsoft Active Directory

Setiap implementasi memiliki karakteristiknya sendiri, dan yang paling standar dan kompatibel adalah OpenLDAP.

Active Directory, baik itu Microsoft orisinal maupun Samba 4, merupakan gabungan dari beberapa komponen utama yaitu:

Kita tidak boleh bingung a Layanan Direktori o Layanan Direktori dengan a Active Directory o Direktori Aktif. Yang pertama mungkin atau mungkin tidak menjadi tuan rumah otentikasi Kerberos, tetapi mereka tidak menawarkan layanan Jaringan Microsoft yang disediakan oleh Domain Windows, juga tidak memiliki Kontroler Domain Windows seperti itu.

Layanan Direktori atau Layanan Direktori dapat digunakan untuk mengotentikasi pengguna di jaringan campuran dengan klien UNIX / Linux dan Windows. Untuk yang terakhir, program harus diinstal pada setiap klien yang bertindak sebagai perantara antara Layanan Direktori dan klien Windows itu sendiri, seperti Perangkat Lunak Gratis. halaman.

Layanan Direktori dengan OpenLDAP

  • Kami mulai dari instalasi bersih -tanpa antarmuka grafis- dari Debian 8 "Jessie", dengan nama mesin "master" yang sama yang digunakan untuk instalasi NIS, serta konfigurasi antarmuka jaringannya dan file /etc/resolv.conf. Kami menginstal ntp, bind9 dan isc-dhcp-server untuk server baru ini, tanpa melupakan pemeriksaan global dari operasi yang benar dari tiga layanan sebelumnya.
root @ master: ~ # aptitude install slapd ldap-utils

Konfigurasi paket

┌──────────────────-. Konfigurasi slapd ├─────────────────────┐ │ Masukkan password untuk entri administrator direktori LDAP │ │ Anda. │ │ │ │ Kata sandi administrator: │ │ │ │ ******** _________________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────┘

Kami memeriksa konfigurasi awal

root @ master: ~ # slapcat
dn: dc = swl, dc = kipas angin
objectClass: top objectKelas: dcObject objectKelas: organisasi o: swl.fan dc: swl structuralObjectClass: organisasi entryUUID: c8510708-da8e-1036-8fe1-71d022a16904 creatorsName: cn = admin, dc = swl, dc = fan entri createTimestamp20170531205219: 20170531205219.833955ZN000000 : 000ZN000000 entri Z # 20170531205219 # XNUMX # XNUMX modifiersName: cn = admin, dc = swl, dc = fan modestamp: XNUMXZ

dn: cn = admin, dc = swl, dc = kipas angin
objectClass: simpleSecurityObject objectClass: organizationalRole cn: deskripsi admin: administrator LDAP 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 modifiersNama: cn = admin, dc = swl, dc = fan modestamp: XNUMXZ

Kami memodifikasi file /etc/ldap/ldap.conf

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

Unit Organisasi dan grup umum «pengguna»

Kami menambahkan Unit Organisasi minimum yang diperlukan, serta grup Posix «pengguna» yang akan kami jadikan anggota semua pengguna, mengikuti contoh dari banyak sistem yang memiliki grup «Pengguna«. Kami menamakannya dengan nama «pengguna» agar tidak terlibat dalam kemungkinan konflik dengan grup «pemakai"dari sistem.

root @ master: ~ # nano base.ldif
dn: ou = people, dc = swl, dc = fan object Kelas: organisasionalUnit ou: people dn: ou = groups, dc = swl, dc = fan object Kelas: OrganisationUnit ou: groups dn: cn = users, ou = groups, dc = swl, dc = fan object Class: posixGroup cn: users gidNumber: 10000

root @ master: ~ # ldapadd -x -D cn = admin, dc = swl, dc = kipas -W -f base.ldif
Masukkan Kata Sandi LDAP: menambahkan entri baru "ou = orang, dc = swl, dc = kipas" menambahkan entri baru "ou = grup, dc = swl, dc = kipas"

Kami memeriksa entri yang ditambahkan

root @ master: ~ # ldapsearch -x ou = people
# orang, swl.fan dn: ou = orang, dc = swl, dc = objek kipas Kelas: organisasiUnit ou: orang

root @ master: ~ # ldapsearch -x ou = grup
# grup, swl.fan dn: ou = grup, dc = swl, dc = objek kipas Kelas: organisasiUnit ou: grup

root @ master: ~ # ldapsearch -x cn = pengguna
# pengguna, grup, swl.fan dn: cn = pengguna, ou = grup, dc = swl, dc = objek kipas Kelas: posixGroup cn: pengguna gidNumber: 10000

Kami menambahkan beberapa pengguna

Sandi yang harus kita deklarasikan di LDAP harus diperoleh melalui perintah slappasswd, yang mengembalikan sandi terenkripsi SSHA.

Kata sandi untuk langkah pengguna:

root @ master: ~ # slappasswd 
Kata sandi baru: Masukkan kembali kata sandi baru: 
{SSHA}Fn8Juihsr137u8KnxGTNPmnV8ai//0lp

Sandi untuk pengguna legolas

root @ master: ~ # slappasswd 
Kata sandi baru: Masukkan kembali kata sandi baru: 
{SSHA}rC50/W3kBmmDd+8+0Lz70vkGEu34tXmD

Sandi untuk pengguna gandalf

root @ master: ~ # slappasswd 
Kata sandi baru: Masukkan kembali kata sandi baru: 
{SSHA} oIVFelqv8WIxJ40r12lnh3bp + SXGbV + u

root @ master: ~ # nano users.ldif
dn: uid = langkah, ou = orang, dc = swl, dc = objek kipasKelas: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: langkah cn: langkah yang diberikanName: Langkah sn: El Rey userPassword: {SSHA}Fn8Juihsr137u8KnxGTNPmnV8ai//0lp
uidNumber: 10000 gidNumber: 10000 surat: striders@swl.fan
gecos: Strider El Rey loginShell: / bin / bash homeDirectory: / home / strider dn: uid = legolas, ou = people, dc = swl, dc = fan objectKelas: inetOrgPerson objectKelas: posixAccount objectClass: shadowAccount uid: legolas cn: legolas givenName : Legolas sn: Pengguna pemanah {SSHA}rC50/W3kBmmDd+8+0Lz70vkGEu34tXmD
uidNumber: 10001 gidNumber: 10000 surat: legolas@swl.fan
gecos: Legolas Archer loginShell: / bin / bash homeDirectory: / home / legolas dn: uid = gandalf, ou = people, dc = swl, dc = fan objectKelas: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: gandalf cn: gandalf givenName: Gandalf sn: Kata sandi pengguna Wizard: {SSHA} oIVFelqv8WIxJ40r12lnh3bp + SXGbV + u
uidNumber: 10002 gidNumber: 10000 surat: gandalf@swl.fan
gecos: Gandalf The Wizard loginShell: / bin / bash homeDirectory: / home / gandalf

root @ master: ~ # ldapadd -x -D cn = admin, dc = swl, dc = fan -W -f users.ldif
Masukkan Kata Sandi LDAP: menambahkan entri baru "uid = langkah, ou = orang, dc = swl, dc = kipas" menambahkan entri baru "uid = legolas, ou = orang, dc = swl, dc = kipas" menambahkan entri baru "uid = gandalf, ou = orang, dc = swl, dc = fan "

Kami memeriksa entri yang ditambahkan

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

Kami mengelola database slpad dengan utilitas konsol

Kami memilih paket skrip ldap untuk tugas seperti itu. Prosedur instalasi dan konfigurasi adalah sebagai berikut:

root @ master: ~ # aptitude install ldapscripts
 
root @ master: ~ # mv /etc/ldapscripts/ldapscripts.conf \
/etc/ldapscripts/ldapscripts.conf.asli
 
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 = Komputer' GIDSTART = 10001 UIDSTART = 10003 # MIDSTART = 10000 # Perintah klien OpenLDAP LDAPSEARCHBIN = "/ usr / bin / ldapsearch" LDAPADDBIN = "/ usr / bin / ldapadd" LDAPDELETEBIN = " / usr / bin / ldapdelete "LDAPMODIFYBIN =" / usr / bin / ldapmodify "LDAPMODRDNBIN =" / usr / bin / ldapmodrdn "LDAPPASSWDBIN =" / usr / bin / ldappasswd "GCLASS =" posixGroup = "# UTEM / dll ldapadduser.template "PASSWORDGEN =" echo% u "

Perhatikan bahwa skrip menggunakan perintah paket ldap-utils. Lari dpkg -L ldap-utils | grep / bin untuk mengetahui apa itu.

root @ master: ~ # sh -c "echo -n 'admin-password'> \
/etc/ldapscripts/ldapscripts.passwd "
 
root @ master: ~ # chmod 400 /etc/ldapscripts/ldapscripts.passwd
 
root @ master: ~ # cp /usr/share/doc/ldapscripts/examples/ldapadduser.template.sample \
/etc/ldapscripts/ldapdduser.template
 
root @ master: ~ # nano /etc/ldapscripts/ldapadduser.template
dn: uid = , , objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: cn: nama pemberian: sn: nama tampilan: uidNumber: gidNumber: 10000 homeDirectory: loginShell: surat: @ swl.fan tokos: deskripsi: Akun Pengguna
 
root @ master: ~ # nano /etc/ldapscripts/ldapscripts.conf
## kami menghapus komentar UTEMPLATE = "/ etc / ldapscripts / ldapadduser.template"

Kami menambahkan pengguna "bilbo" dan menjadikannya anggota grup "pengguna"

root @ master: ~ # ldapadduser bilbo users
[dn: uid = bilbo, ou = people, dc = swl, dc = fan] Masukkan nilai untuk "givenName": Bilbo [dn: uid = bilbo, ou = people, dc = swl, dc = fan] Masukkan nilai untuk " sn ": Bagins [dn: uid = bilbo, ou = people, dc = swl, dc = fan] Masukkan nilai untuk" displayName ": Bilbo Bagins Berhasil menambahkan pengguna bilbo ke LDAP Berhasil menyetel sandi untuk bilbo pengguna

root @ master: ~ # ldapsearch -x uid = bilbo
# bilbo, people, swl.fan dn: uid = bilbo, ou = people, dc = swl, dc = fan objectKelas: inetOrgPerson objectKelas: posixAccount objectKelas: shadowAccount uid: bilbo cn: bilbo givenName: Bilbo sn: Bagins displayName: Bilbo Bagins uidNumber: 10003 gidNomor: 10000 homeDirectory: / home / bilbo loginShell: / bin / bash mail: bilbo@swl.fan
gecos: bilbo description: Akun Pengguna

Untuk melihat hash kata sandi pengguna bilbo, perlu dilakukan kueri dengan otentikasi:

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

Untuk menghapus pengguna bilbo yang kami jalankan:

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

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

Kami mengelola database slapd melalui antarmuka web

Kami memiliki Layanan Direktori fungsional, dan kami ingin mengelolanya dengan lebih mudah. Ada banyak program yang dirancang untuk tugas ini, seperti phpldapadmin.dll, ldap-akun-manajer, dll., yang tersedia langsung dari repositori. Kami juga dapat mengelola Layanan Direktori melalui Studio Direktori Apache, yang harus kita unduh dari Internet.

Untuk informasi lebih lanjut, silahkan kunjungi https://blog.desdelinux.net/ldap-introduccion/, dan 6 artikel berikut.

Klien LDAP

Tahap:

Katakanlah kita memiliki tim mail.swl.fan sebagai server email yang diimplementasikan seperti yang kita lihat di artikel Postfix + Dovecot + Squirrelmail dan pengguna lokal, yang meskipun dikembangkan di CentOS, mungkin berfungsi sebagai panduan untuk Debian dan banyak distro Linux lainnya. Kami ingin, selain pengguna lokal yang telah kami deklarasikan, pengguna yang disimpan dalam database OpenLDAP yang ada di master.swl.fan. Untuk mencapai hal di atas kita harus «merencanakan»Untuk pengguna LDAP sebagai pengguna lokal di server mail.swl.fan. Solusi ini juga berlaku untuk layanan apa pun berdasarkan otentikasi PAM. Prosedur umum untuk Debian, adalah sebagai berikut:

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

  ┌────────────────────┤ Konfigurasi libnss-ldap ├─────────────────────┐ │ Masukkan URI ("Uniform Resource Identifier", atau │ Servidor Uniform Resource Identifier) ​​dari server LDAP. String ini mirip dengan │ │ «ldap: //: / ». Anda juga dapat │ │ menggunakan «ldaps: // » atau "ldapi: //". Nomor porta opsional. │ │ │ │ Direkomendasikan untuk menggunakan alamat IP untuk menghindari kegagalan saat layanan nama domain │ │ tidak tersedia. │ │ │ │ URI server LDAP: │ │ │ │ ldap: //master.swl.fan__________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ───────────────────────────┘ ┌──────────────────── ┤ Konfigurasi libnss-ldap ├──────────────────────┐ │ Masukkan Nama yang Dibedakan (DN) dari basis pencarian LDAP. │ │ Banyak situs menggunakan komponen nama domain untuk tujuan │ │ ini. Misalnya, domain "example.net" akan menggunakan │ │ "dc = example, dc = net" sebagai nama yang dibedakan dari basis pencarian. │ │ │ │ Nama yang dibedakan (DN) dari basis pencarian: │ │ │ │ dc = swl, dc = fan ____________________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Konfigurasi libnss-ldap ├──────────────────────┐ │ Masukkan versi protokol LDAP yang harus digunakan ldapns. │ │ disarankan untuk menggunakan nomor versi tertinggi yang tersedia. │ │ │ │ Versi LDAP untuk digunakan: │ │ │ │                                     3                                     │ │ 2 │ │ │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Konfigurasi libnss-ldap ├──────────────────────┐ │ Pilih akun mana yang akan digunakan untuk query nss dengan │ │ hak root. │ │ │ │ Catatan: Agar opsi ini berfungsi, akun memerlukan izin agar │ │ dapat mengakses atribut LDAP yang terkait dengan entri "bayangan" pengguna serta sandi pengguna dan grup │ │ . │ │ │ │ Akun LDAP untuk root: │ │ │ │ cn = admin, dc = swl, dc = fan ___________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Konfigurasi libnss-ldap ├─────────────────────┐ │ Masukkan kata sandi yang akan digunakan ketika libnss-ldap mencoba untuk │ │ melakukan otentikasi ke direktori LDAP dengan akun root LDAP. │ │ │ │ Kata sandi akan disimpan dalam file terpisah │ │ ("/etc/libnss-ldap.secret") yang hanya dapat diakses oleh root. │ │ │ │ Jika Anda memasukkan kata sandi kosong, kata sandi lama akan digunakan kembali. │ │ │ │ Kata sandi untuk akun root LDAP: │ │ │ │ ******** ________________________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ────────────────────────────┘ ┌─────────────────── ─┤ Konfigurasi libnss-ldap ├──────────────────────┐ │ │ │ nsswitch.conf tidak dikelola secara otomatis │ │ │ │ Anda harus mengubah file Anda "/etc/nsswitch.conf" untuk menggunakan sumber data LDAP jika Anda ingin paket libnss-ldap berfungsi. │ │ Anda dapat menggunakan file contoh │ │ di "/usr/share/doc/libnss-ldap/examples/nsswitch.ldap" sebagai contoh konfigurasi nsswitch atau │ │ Anda dapat menyalinnya melalui konfigurasi Anda saat ini. │ │ │ │ Perhatikan bahwa sebelum menghapus paket ini akan lebih mudah untuk │ │ menghapus entri "ldap" dari file nsswitch.conf sehingga layanan dasar │ │ akan terus bekerja. │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Konfigurasi libpam-ldap ├──────────────────────┐ │ │ │ Opsi ini memungkinkan alat kata sandi menggunakan PAM untuk mengubah kata sandi lokal. │ │ │ │ Kata sandi untuk akun administrator LDAP akan disimpan dalam file │ │ terpisah yang hanya dapat dibaca oleh administrator. │ │ │ │ Opsi ini harus dinonaktifkan, jika mount "/ etc" melalui NFS. │ │ │ │ Apakah Anda ingin mengizinkan akun administrator LDAP berperilaku sebagai │ │ administrator lokal? │ │ │ │                                            │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Konfigurasi libpam-ldap ├──────────────────────┐ │ │ │ Pilih apakah server LDAP memaksa identifikasi sebelum mendapatkan entri │ obtener. │ │ │ │ Pengaturan ini jarang diperlukan. │ │ │ │ Apakah pengguna perlu mengakses database LDAP? │ │ │ │                                               │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Konfigurasi libpam-ldap ├──────────────────────┐ │ Masukkan nama akun administrator LDAP. │ │ │ │ Akun ini akan secara otomatis digunakan untuk manajemen database │ │ sehingga harus memiliki hak administratif yang sesuai. │ │ │ │ Akun administrator LDAP: │ │ │ │ cn = admin, dc = swl, dc = kipas ___________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Konfigurasi libpam-ldap ├──────────────────────┐ │ Masukkan password untuk akun administrator. │ │ │ │ Kata sandi akan disimpan di file "/etc/pam_ldap.secret". Administrator │ │ akan menjadi satu-satunya yang dapat membaca file ini, dan mengizinkan │ │ libpam-ldap untuk secara otomatis mengontrol manajemen koneksi dalam database │ │. │ │ │ │ Jika Anda membiarkan kolom ini kosong, sandi yang disimpan sebelumnya │ │ akan digunakan lagi. │ │ │ │ Kata sandi administrator LDAP: │ │ │ │ ******** _________________________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ────────────────────────────┘  

root @ mail: ~ # nano /etc/nsswitch.conf
# /etc/nsswitch.conf # # Contoh konfigurasi fungsionalitas GNU Name Service Switch. # Jika Anda telah menginstal paket `glibc-doc-reference 'dan` info', coba: #` info libc "Name Service Switch" 'untuk informasi tentang file ini. passwd: compat lap
grup: compat lap
shadow: compat lap
gshadow: files hosts: files dns networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis

Mari edit file /etc/pam.d/common-password, kita pergi ke baris 26 dan menghilangkan nilai «gunakan_authtok":

root @ mail: ~ # nano /etc/pam.d/common-password
# # /etc/pam.d/common-password - modul terkait kata sandi yang umum untuk semua layanan # # File ini disertakan dari file konfigurasi PAM khusus layanan lainnya, # dan harus berisi daftar modul yang menentukan layanan yang akan digunakan # digunakan untuk mengubah sandi pengguna. Standarnya adalah pam_unix. # Penjelasan opsi pam_unix: # # Opsi "sha512" mengaktifkan sandi SHA512 asin. Tanpa opsi ini, # defaultnya adalah Unix crypt. Rilis sebelumnya menggunakan opsi "md5". # # Opsi "tidak jelas" menggantikan opsi lama `OBSCURE_CHECKS_ENAB 'di # login.defs. # # Lihat halaman manual pam_unix untuk opsi lain. # Mulai pam 1.0.1-6, file ini dikelola oleh pam-auth-update secara default. # Untuk memanfaatkan ini, Anda disarankan untuk mengonfigurasi # modul lokal apa pun baik sebelum atau sesudah blok default, dan menggunakan # pam-auth-update untuk mengelola pemilihan modul lain. Lihat # pam-auth-update (8) untuk detailnya. # berikut adalah modul per paket (blok "Primer") sandi [sukses = 2 default = abaikan] pam_unix.so obscure sha512
sandi [berhasil = 1 pengguna_unknown = abaikan default = mati] pam_ldap.so coba_first_pass
# inilah fallback jika tidak ada modul yang berhasil dengan kata sandi yang diperlukan pam_deny.so # prima tumpukan dengan nilai pengembalian positif jika belum ada; # ini menghindari kita mengembalikan kesalahan hanya karena tidak ada yang menetapkan kode sukses # karena modul di atas masing-masing hanya akan melompat-lompat kata sandi diperlukan pam_permit.so # dan di sini ada lebih banyak modul per paket (blok "Tambahan") # akhir pam- konfigurasi auth-update

Jika kita membutuhkan Login Lokal pengguna yang disimpan di LDAP, dan kami ingin folder mereka dibuat secara otomatis rumah, kita harus mengedit file tersebut /etc/pam.d/common-session dan tambahkan baris berikut ke akhir file:

sesi opsional pam_mkhomedir.so skel = / etc / skel umask = 077

Dalam contoh OpenLDAP Directory Service yang dikembangkan sebelumnya, satu-satunya pengguna lokal yang dibuat adalah pengguna dengungan, sedangkan di LDAP kami membuat pengguna langkah, legolas, gandalf, Dan pedang Spanyol. Jika konfigurasi yang dibuat sejauh ini benar, maka kita harus dapat membuat daftar pengguna lokal dan yang dipetakan sebagai lokal tetapi disimpan di server LDAP jarak jauh:

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

Setelah perubahan dalam otentikasi sistem, itu valid untuk memulai ulang server jika tidak kita menghadapi layanan kritis:

root @ mail: ~ # reboot

Nanti kami memulai sesi lokal di server mail.swl.fan dengan kredensial pengguna yang disimpan dalam database LDAP master.swl.fan. Kami juga dapat mencoba masuk melalui SSH.

buzz @ sysadmin: ~ $ ssh gandalf @ mail
gandalf @ mail's password: Membuat direktori '/ home / gandalf'. Program yang disertakan dengan sistem Debian GNU / Linux adalah perangkat lunak bebas; ketentuan distribusi yang tepat untuk setiap program dijelaskan dalam file individual di / usr / share / doc / * / copyright. Debian GNU / Linux hadir dengan BENAR-BENAR TANPA JAMINAN, sejauh diizinkan oleh hukum yang berlaku.
gandalf @ mail: ~ $ su
Contraseña:

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

root @ mail: / home / gandalf # keluar
keluar

gandalf @ mail: ~ $ ls -l / home /
total 8 drwxr-xr-x 2 buzz buzz     4096 17 Jun 12:25 buzz drwx ------ 2 pengguna gandalf 4096 17 Jun 13:05 gandalf

Layanan Direktori yang diterapkan di tingkat server dan klien, bekerja dengan benar.

Kerberos

Dari Wikipedia:

  • Kerberos adalah protokol otentikasi jaringan komputer yang dibuat oleh MIT yang memungkinkan dua komputer di jaringan yang tidak aman untuk membuktikan identitas mereka satu sama lain dengan aman. Perancangnya pertama-tama berfokus pada model klien-server, dan memberikan otentikasi timbal balik: klien dan server memverifikasi identitas satu sama lain. Pesan otentikasi dilindungi untuk mencegah menguping y memutar ulang serangan.

    Kerberos didasarkan pada kriptografi kunci simetris dan membutuhkan pihak ketiga yang tepercaya. Selain itu, ada ekstensi pada protokol untuk dapat menggunakan kriptografi kunci asimetris.

    Kerberos didasarkan pada Protokol Needham-Schroeder. Ini menggunakan pihak ketiga tepercaya, yang disebut "Key Distribution Center" (KDC), yang terdiri dari dua bagian logis terpisah: "Server Otentikasi" (AS atau Server Otentikasi) dan sebuah «server penerbit tiket» (TGS atau Server Pemberi Tiket). Kerberos bekerja atas dasar "tiket", yang berfungsi untuk membuktikan identitas pengguna.

    Kerberos memelihara database kunci rahasia; Setiap entitas di jaringan - baik itu klien atau server - berbagi kunci rahasia yang hanya diketahui oleh dirinya sendiri dan Kerberos. Pengetahuan tentang kunci ini berfungsi untuk membuktikan identitas entitas. Untuk komunikasi antara dua entitas, Kerberos menghasilkan kunci sesi, yang dapat mereka gunakan untuk mengamankan masalah mereka.

Kerugian dari Kerberos

De sembuh:

Meskipun begitu Kerberos menghapus ancaman keamanan umum, mungkin sulit diterapkan karena berbagai alasan:

  • Memigrasi kata sandi pengguna dari database kata sandi standar UNIX, seperti / etc / passwd atau / etc / shadow, ke database kata sandi Kerberos, bisa jadi membosankan dan tidak ada mekanisme cepat untuk menyelesaikan tugas ini.
  • Kerberos mengasumsikan bahwa setiap pengguna dipercaya, tetapi menggunakan mesin yang tidak tepercaya pada jaringan yang tidak tepercaya. Tujuan utamanya adalah untuk mencegah kata sandi yang tidak terenkripsi dikirim melalui jaringan. Namun, jika ada pengguna lain, selain pengguna yang sesuai, memiliki akses ke mesin tiket (KDC) untuk otentikasi, Kerberos akan berisiko.
  • Untuk aplikasi yang menggunakan Kerberos, kode harus dimodifikasi untuk membuat panggilan yang sesuai ke perpustakaan Kerberos. Aplikasi yang dimodifikasi dengan cara ini dianggap kerberized. Untuk beberapa aplikasi, ini mungkin merupakan upaya pemrograman yang berlebihan, karena ukuran aplikasi atau Desainnya. Untuk aplikasi lain yang tidak kompatibel, perubahan harus dilakukan pada cara server jaringan dan kliennya berkomunikasi; sekali lagi, ini membutuhkan sedikit pemrograman. Secara umum, aplikasi sumber tertutup yang tidak memiliki dukungan Kerberos biasanya yang paling bermasalah.
  • Akhirnya, jika Anda memutuskan untuk menggunakan Kerberos di jaringan Anda, Anda harus menyadari bahwa itu adalah pilihan semua atau tidak sama sekali. Jika Anda memutuskan untuk menggunakan Kerberos di jaringan Anda, Anda harus ingat bahwa jika ada kata sandi yang diteruskan ke layanan yang tidak menggunakan Kerberos untuk mengotentikasi, Anda menjalankan risiko bahwa paket dapat dicegat. Dengan demikian, jaringan Anda tidak akan mendapatkan keuntungan dari penggunaan Kerberos. Untuk mengamankan jaringan Anda dengan Kerberos, Anda hanya boleh menggunakan versi kerber dari semua aplikasi klien / server yang mengirimkan sandi tidak terenkripsi atau tidak menggunakan salah satu aplikasi ini di jaringan..

Mengimplementasikan dan mengkonfigurasi OpenLDAP secara manual sebagai Back-End Kerberos bukanlah tugas yang mudah. Namun, nanti kita akan melihat bahwa Samba 4 Active Directory - Domain Controller terintegrasi secara transparan untuk Sysadmin, server DNS, Jaringan Microsoft dan Pengontrol Domainnya, server LDAP sebagai Back-End dari hampir semua objeknya, dan layanan otentikasi berbasis Kerberos sebagai komponen dasar dari Active Directory gaya Microsoft.

Sampai saat ini kami belum memiliki kebutuhan untuk menerapkan "Jaringan Kerberized". Inilah mengapa kami tidak menulis tentang bagaimana mengimplementasikan Kerberos.

Samba 4 Active Directory - Domain Controller

Penting:

Tidak ada dokumentasi yang lebih baik dari situs ini wiki.samba.org. Sysadmin yang menghargai diri sendiri harus mengunjungi situs itu -dalam bahasa Inggris- dan menjelajahi sejumlah besar halaman yang didedikasikan sepenuhnya untuk Samba 4, yang ditulis oleh Team Samba sendiri. Saya tidak yakin ada dokumentasi yang tersedia di Internet untuk menggantikannya. Ngomong-ngomong, amati jumlah kunjungan yang tercermin di bagian bawah setiap halaman. Contohnya adalah halaman utama atau «Halaman Utama» Anda dikunjungi 276,183 kali hingga hari ini 20 Juni 2017 pukul 10:10 Waktu Standar Timur. Selain itu, dokumentasi juga selalu diperbarui, karena halaman tersebut telah diubah pada 6 Juni.

Dari Wikipedia:

Samba adalah implementasi gratis dari Microsoft Windows File Sharing Protocol (sebelumnya disebut SMB, baru-baru ini berganti nama menjadi CIFS) untuk sistem mirip UNIX. Dengan cara ini, ada kemungkinan komputer dengan GNU / Linux, Mac OS X atau Unix secara umum terlihat seperti server atau bertindak sebagai klien di jaringan Windows. Samba juga memungkinkan pengguna untuk memvalidasi sebagai Primary Domain Controller (PDC), sebagai anggota domain dan bahkan sebagai domain Active Directory untuk jaringan berbasis Windows; selain dapat melayani antrian cetak, berbagi direktori dan mengotentikasi dengan arsip pengguna Anda sendiri.

Di antara sistem mirip Unix tempat Samba dapat dijalankan adalah distribusi GNU / Linux, Solaris dan varian BSD yang berbeda di antara bahwa kita dapat menemukan Server Mac OS X Apple.

Samba 4 AD-DC dengan DNS Internal-nya

  • Kami mulai dari instalasi bersih -tanpa antarmuka grafis- dari Debian 8 "Jessie".

Pemeriksaan awal

root @ master: ~ # nama host
menguasai
root @ master: ~ # nama host --fqdn
master.swl.fan
root @ master: ~ # ip addr
1: apa: mtu 65536 qdisc noqueue state TIDAK DIKETAHUI link default grup / loopback 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00 inet 127.0.0.1/8 host cakupan lo valid_lft selamanya disukai_lft selamanya inet6 :: 1/128 lingkup host valid_lft forever prefer_lft forever 2: eth0: mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000 link / ether 00: 0c: 29: 80: 3b: 3f brd ff: ff: ff: ff: ff: ff
    inet 192.168.10.5/24 brd 192.168.10.255 lingkup global eth0
       valid_lft forever prefer_lft forever inet6 fe80 :: 20c: 29ff: fe80: 3b3f / 64 link cakupan valid_lft forever preferred_lft selamanya
root @ master: ~ # cat /etc/resolv.conf
cari server nama swl.fan 127.0.0.1
  • Dengan mana kami mendeklarasikan cabang utama hanya, itu lebih dari cukup untuk tujuan kita.
root @ master: ~ # cat /etc/apt/sources.list
deb http://192.168.10.1/repos/jessie-8.6/debian/ jessie utama
deb http://192.168.10.1/repos/jessie-8.6/debian/security/ jessie / update utama

Postfix oleh Exim dan utilitas

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

  ┌────────────────────────┤ Konfigurasi Postfix ├───────────────────── ────┐ │ Pilih jenis konfigurasi server email yang paling sesuai dengan kebutuhan │ │ Anda. │ │ │ │ Tidak ada konfigurasi: │ │ Menjaga konfigurasi saat ini tetap utuh. │ │ Situs Internet: │ │ Surat dikirim dan diterima langsung menggunakan SMTP. │ │ Internet dengan "smarthost": │ │ Mail diterima langsung menggunakan SMTP atau dengan menjalankan alat │ │ seperti "fetchmail". Email keluar dikirim menggunakan │ │ "smarthost". │ │ Hanya email lokal: │ │ Satu-satunya email yang dikirimkan adalah untuk pengguna lokal. Tidak │ │ ada jaringan. │ │ │ │ Jenis umum konfigurasi email: │ │ │ │ Tidak ada konfigurasi │ │ Situs Internet │ │ Internet dengan "smarthost" │ │ Sistem satelit │ │                         Hanya surat lokal                                │ │ │ │ │ │                                     │ │ │ └───────────────────────────────────────────── ────────────────────────────┘ ┌─────────────────── ─────┤ Konfigurasi Postfix ├────────────────────────┐ │ "Nama sistem email" adalah nama domain yang │ │ digunakan untuk "memenuhi syarat" _ALL_ alamat email tanpa nama domain. Ini termasuk email ke dan dari "root": tolong jangan membuat máquina │ mesin Anda mengirim email dari root@contoh.org menjadi │ │ kurang dari root@contoh.org tanya. │ │ │ │ Program lain akan menggunakan nama ini. Ini harus merupakan nama domain berkualifikasi │ │ (FQDN) yang unik. │ │ │ │ Oleh karena itu, jika alamat email di mesin lokal adalah │ │ sesuatu@contoh.org, nilai yang benar untuk opsi ini adalah example.org. │ │ │ │ Nama sistem email: │ │ │ │ master.swl.fan ___________________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ────────────────────────────┘  

Kami bersih

root @ master: ~ # pembersihan bakat ~ c
root @ master: ~ # aptitude install -f
root @ master: ~ # aptitude clean
root @ master: ~ # aptitude autoclean

Kami menginstal persyaratan untuk mengkompilasi Samba 4 dan paket lain yang diperlukan

root @ master: ~ # aptitude install acl attr autoconf bison \
debhelper build-essential dnsutils docbook-xml docbook-xsl flex gdb \
krb5-pengguna libacl1-dev libaio-dev libattr1-dev libblkid-dev libbsd-dev \
libcap-dev libcups2-dev libgnutls28-dev libjson-Perl \
libldap2-dev libncurses5-dev libpam0g-dev libparse-yapp-perl\
libpopt-dev libreadline-dev Perl Perl-modules pkg-config \
python-semua-dev python-dev python-dnspython python-kripto\
xsltproc zlib1g -dev libgpgme11 -dev python -gpgme python -m2crypto \
libgnutls28-dbg gnutls-dev ldap-utils krb5-config

 ┌───────────────┤ Mengkonfigurasi otentikasi Kerberos ├───────────────┐ │ Ketika pengguna mencoba menggunakan Kerberos dan menentukan nama │ │ kepala sekolah atau pengguna tanpa mengklarifikasi ke domain administratif Kerberos mana kepala sekolah │ │ berada, sistem mengambil bidang default │ │.  Ranah default juga bisa digunakan sebagai ranah │ │ dari layanan Kerberos yang berjalan di mesin lokal.  │ │ Biasanya, bidang default adalah nama huruf besar dari domain │ │ DNS lokal.  │ │ │ │ Kerberos versi 5 ranah default: │ │ │ │ SWL.FAN __________________________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘ ┌───────────────┤ Mengkonfigurasi otentikasi Kerberos ├───────────────┐ │ Masukkan nama server Kerberos di ranah SWL.FAN │ │ Kerberos, dipisahkan oleh spasi.  │ │ │ │ Server Kerberos untuk wilayah Anda: │ │ │ │ master.swl.fan ___________________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘ ┌───────────────┤ Mengkonfigurasi otentikasi Kerberos ├───────────────┐ │ Masukkan nama server administratif (perubahan password) │ │ untuk ranah Kerberos SWL.FAN.   

Proses di atas memakan sedikit waktu karena kami belum memasang layanan DNS. Namun, Anda memilih domain dengan benar dengan pengaturan file / Etc / hosts. Ingat itu di file / Etc / resolv.conf kami telah mendeklarasikan sebagai server nama domain ke IP 127.0.0.1.

Sekarang kita mengkonfigurasi file / etc / ldap / ldap / conf

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

Untuk pertanyaan menggunakan perintah pencarian ldap dibuat dari pengguna root adalah tipe ldapsearch -x -W cn = xxxx, kita harus membuat file tersebut /root/.ldapsearch dengan konten berikut:

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

Sistem file harus mendukung ACL - Access Control List

root @ master: ~ # nano / etc / fstab
# / etc / fstab: informasi sistem file statis. # # Gunakan 'blkid' untuk mencetak pengenal unik universal untuk perangkat #; ini dapat digunakan dengan UUID = sebagai cara yang lebih kuat untuk memberi nama perangkat # yang berfungsi bahkan jika disk ditambahkan dan dihapus. Lihat fstab (5). # # # / aktif / dev / sda1 selama instalasi UUID = 33acb024-291b-4767-b6f4-cf207a71060c / ext4 user_xattr, acl, barrier = 1, noatime, error = remount-ro 0 1
# swap aktif / dev / sda5 selama instalasi UUID = cb73228a-615d-4804-9877-3ec225e3ae32 tidak ada swap sw 0 0 / dev / sr0 / media / cdrom0 udf, iso9660 user, noauto 0 0

root @ master: ~ # mount -a

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

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

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

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

Kami memperoleh sumber Samba 4, mengkompilasinya, dan menginstalnya

Sangat disarankan untuk mengunduh file sumber versi Stabil dari situs https://www.samba.org/. Dalam contoh kami, kami mengunduh versinya samba-4.5.1.tar.gz menuju folder /memilih.

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 /

Opsi konfigurasi

Jika kami ingin menyesuaikan opsi konfigurasi, kami menjalankan:

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

dan dengan sangat hati-hati memilih yang kita butuhkan. Dianjurkan untuk memeriksa apakah paket yang diunduh dapat diinstal pada distribusi Linux yang kami gunakan, yang dalam kasus kami adalah Debian 8.6 Jessie:

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

Kami mengkonfigurasi, Mengkompilasi dan Menginstal samba-4.5.1

  • Dari persyaratan yang terinstal sebelumnya dan 8604 file (yang membentuk samba-4.5.1.tar.gz) yang beratnya sekitar 101.7 megabyte -termasuk folder source3 dan source4 yang beratnya sekitar 61.1 megabyte- kita akan mendapatkan pengganti untuk Direktori Aktif gaya Microsoft, dengan kualitas dan stabilitas lebih dari yang dapat diterima untuk lingkungan produksi apa pun. Kami harus menyoroti pekerjaan Team Samba dalam memberikan Software Samba 4 Gratis.

Perintah di bawah ini adalah perintah klasik untuk mengompilasi dan menginstal paket dari sumbernya. Kita harus bersabar selama seluruh proses berlangsung. Ini adalah satu-satunya cara untuk mendapatkan hasil yang valid dan benar.

root @ master: /opt/samba-4.5.1# ./konfigurasi --dengan-sistemd --disable-cangkir
root @ master: /opt/samba-4.5.1# membuat
root @ master: /opt/samba-4.5.1# make install

Selama proses perintah membuat, kita dapat melihat bahwa sumber Samba 3 dan Samba 4 dikompilasi. Itulah mengapa Tim Samba menegaskan bahwa versi 4 adalah pembaruan alami dari versi 3, baik untuk Pengontrol Domain berbasis Samba 3 + OpenLDAP, dan server file, atau yang lebih lama versi Samba 4.

Menyediakan Samba

Kami akan menggunakan sebagai DNS SAMBA_INTERNAL. Di https://wiki.samba.org/index.php?title=Samba_Internal_DNS_Back_End kami akan menemukan lebih banyak informasi. Ketika mereka menanyakan kata sandi pengguna Administrator kepada kami, kami harus mengetik salah satu dari panjang minimal 8 karakter dan juga dengan huruf - huruf besar dan kecil - dan angka.

Sebelum melanjutkan dengan penyediaan dan untuk membuat hidup lebih mudah, kami menambahkan path dari executable Samba di file kami .bashrcLalu kami tutup dan masuk lagi.

root @ master: ~ # nano .bashrc
# ~ / .bashrc: dijalankan oleh bash (1) untuk shell non-login. # Catatan: PS1 dan umask sudah disetel di / etc / profile. Anda tidak perlu # memerlukan ini kecuali Anda menginginkan default yang berbeda untuk root. # PS1 = '$ {debian_chroot: + ($ debian_chroot)} \ h: \ w \ $' # umask 022 # Anda dapat menghapus komentar pada baris berikut jika Anda ingin `ls 'diwarnai: # export LS_OPTIONS =' - color = auto '# eval "` dircolors` "# alias ls =' ls $ LS_OPTIONS '# alias ll =' ls $ LS_OPTIONS -l '# alias l =' ls $ LS_OPTIONS -lA '# # Beberapa alias lainnya untuk menghindari kesalahan : # alias rm = 'rm -i' # alias cp = 'cp -i' # alias mv = 'mv -i'
nyatakan -x PATH = "/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: \ / sbin: / bin: / usr / local / samba / sbin: / usr / local / samba / bin "

root @ master: ~ # exit logout Koneksi ke master ditutup. xeon @ sysadmin: ~ $ ssh root @ master

root @ master: ~ # samba-tool domain provision --use-rfc2307 --interactive
Alam [SWL.FAN]: SWL.FAN
 Domain [SWL]: SWL
 Peran Server (dc, anggota, mandiri) [dc]: dc
 Backend DNS (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: SAMBA_INTERNAL
 Alamat IP penerusan DNS (tulis 'tidak ada' untuk menonaktifkan penerusan) [192.168.10.5]: 8.8.8.8
Kata sandi administrator: Kata Sandi Anda2017
Ketik ulang kata sandi: Kata Sandi Anda2017
Mencari alamat IPv4 Mencari alamat IPv6 Tidak ada alamat IPv6 yang akan ditetapkan Menyiapkan share.ldb Menyiapkan rahasia.ldb Menyiapkan registri Menyiapkan basis data hak Menyiapkan idmap db Menyiapkan SAM db Menyiapkan partisi dan pengaturan sam.ldb Pengaturan up sam.ldb rootDSE Pra-pemuatan skema Samba 4 dan AD Menambahkan DomainDN: DC = swl, DC = fan Menambahkan wadah konfigurasi Menyiapkan skema sam.ldb Menyiapkan data konfigurasi sam.ldb Menyiapkan penentu tampilan Mengubah penentu tampilan Menambahkan wadah pengguna Mengubah wadah pengguna Menambahkan wadah komputer Mengubah wadah komputer Menyiapkan data sam.ldb Menyiapkan prinsip keamanan terkenal Menyiapkan pengguna dan grup sam.ldb Menyiapkan gabung mandiri Menambahkan akun DNS Membuat CN = MicrosoftDNS, CN = Sistem, DC = swl, DC = fan Membuat partisi DomainDnsZones dan ForestDnsZones Mengisi partisi DomainDnsZones dan ForestDnsZones Menyiapkan tanda rootDSE sam.ldb sebagai tersinkron. Memperbaiki GUID penyediaanKonfigurasi Kerberos yang sesuai untuk Samba 4 telah dibuat di /usr/local/samba/private/krb5.conf Menyiapkan pengaturan server yp palsu Setelah file di atas diinstal, server Samba4 Anda akan siap untuk menggunakan Peran Server: domain direktori aktif pengontrol Nama Host: master NetBIOS Domain: SWL DNS Domain: swl.fan DOMAIN SID: S-1-5-21-32182636-2892912266-1582980556

Jangan lupa untuk menyalin file konfigurasi Kerberos seperti yang ditunjukkan oleh output file Provisioning:

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

Untuk tidak mengetik perintah alat samba dengan nama lengkap Anda, kami membuat tautan simbolis dengan nama pendek alat:

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

Kami menginstal NTP

Bagian mendasar dalam Active Directory adalah Network Time Service Karena otentikasi dilakukan melalui Kerberos dan Tiketnya, sinkronisasi waktu dengan Samba 4 AD-DC sangat penting.

root @ master: ~ # aptitude install 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 statistik loopstats peerstats clockstats filegen loopstats file loopstats jenis hari mengaktifkan filegen peerstats file peerstats jenis hari mengaktifkan filegenstats file clockstats jenis jam hari mengaktifkan server 192.168.10.1 batasi -4 default kod notrap nomodify nopeer noquery pembatasan -6 default kod notrap nomodify nopeer noquery batasi default mssntp batasi 127.0.0.1 batasi :: 1 siaran 192.168.10.255

root @ master: ~ # layanan ntp restart
root @ master: ~ # status layanan ntp

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

Jika saat memeriksa syslog menggunakan perintah di atas atau menggunakan jurnalctl -f kami mendapatkan pesan:

19 Jun 12:13:21 master ntpd_intres [1498]: orang tua meninggal sebelum kami selesai, keluar

kita harus memulai kembali layanan dan mencoba lagi. Sekarang kita buat foldernya ntp_signd:

root @ master: ~ # ls -ld / usr / local / samba / var / lib / ntp_signd
ls: / usr / local / samba / var / lib / ntp_signd tidak dapat diakses: File atau direktori tidak ada

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 /

# Seperti yang diminta di samba.wiki.org
root @ master: ~ # ls -ld / usr / local / samba / var / lib / ntp_signd
drwxr-x --- 2 root ntp 4096 19 Jun 12:21 / usr / local / samba / var / lib / ntp_signd

Kami mengkonfigurasi Samba mulai menggunakan systemd

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

root @ master: ~ # systemctl aktifkan samba-ad-dc
root @ master: ~ # reboot

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

Lokasi file Samba 4 AD-DC

SEMUA -minus samba-ad-dc.service yang baru dibuat- file-nya ada di:

root @ master: ~ # ls -l / usr / local / samba /
total 32 drwxr-sr-x 2 staf root 4096 19 Jun 11:55 bin
drwxr-sr-x 2 staf root 4096 19 Jun 11:50 dll
drwxr-sr-x 7 staf root 4096 19 Jun 11:30 memasukkan
drwxr-sr-x 15 staf root 4096 19 Jun 11:33 lib
drwxr-sr-x 7 staf root 4096 19 Jun 12:40 swasta
drwxr-sr-x 2 staf root 4096 19 Jun 11:33 bodoh
drwxr-sr-x 5 staf root 4096 19 Jun 11:33 'share'
drwxr-sr-x 8 staf root 4096 19 Jun 12:28 adalah

dengan gaya UNIX terbaik. Selalu disarankan untuk menelusuri berbagai folder dan memeriksa isinya.

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

root @ master: ~ # nano /usr/local/samba/etc/smb.conf 
# Parameter global [global] netbios name = MASTER realm = SWL.FAN workgroup = SWL dns forwarder = 8.8.8.8 layanan server = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate , peran server dns = pengontrol domain direktori aktif izinkan pembaruan dns = hanya amankan idmap_ldb: gunakan rfc2307 = yes konfigurasi idmap *: backend = tdb konfigurasi idmap *: range = 1000000-1999999 server ldap memerlukan auth yang kuat = tidak ada printcap name = / dev / null [netlogon] path = /usr/local/samba/var/locks/sysvol/swl.fan/scripts hanya baca = Tidak ada [sysvol] path = / usr / local / samba / var / locks / sysvol read only = Tidak

root @ master: ~ # testparm
Muat file config seseorang dari /usr/local/samba/etc/smb.conf Bagian pemrosesan "[netlogon]" Bagian pemrosesan "[sysvol]" File layanan yang dimuat OK. Peran server: ROLE_ACTIVE_DIRECTORY_DC Tekan enter untuk melihat dump definisi layanan Anda # Parameter global [global] realm = SWL.FAN workgroup = SWL dns forwarder = 192.168.10.1 server ldap memerlukan auth yang kuat = Tidak ada backend passdb = peran server samba_dsdb = direktori aktif kontroler domain rpc_server: tcpip = tidak ada rpc_daemon: spoolssd = tertanam rpc_server: spoolss = tertanam rpc_server: winreg = rpc_server tertanam: ntsvcs = tertanam rpc_server: eventlog = tertanam rpc_server: srvsvc = tertanam rvc_server: gunakan eksternal tertanam rvcct_server = spserver_server tertanam: menggunakan eksternal external pipe = true idmap config *: range = 1000000-1999999 idmap_ldb: use rfc2307 = yes idmap config *: backend = tdb map archive = Tidak ada peta readonly = tidak ada store atribut dos = Ya vfs objects = dfs_samba4 acl_xattr [netlogon] path = / usr / local / samba / var / locks / sysvol / swl.fan / scripts read only = Tidak ada [sysvol] path = / usr / local / samba / var / locks / sysvol read only = Tidak

Pemeriksaan minimal

root @ master: ~ # tampilan tingkat domain alat
Tingkat fungsi domain dan hutan untuk domain 'DC = swl, DC = fan' Tingkat fungsi hutan: (Windows) 2008 R2 Tingkat fungsi domain: (Windows) 2008 R2 Tingkat fungsi terendah dari DC: (Windows) 2008 R2

root @ master: ~ # ldapsearch -x -W

root @ master: ~ # tool dbcheck
Memeriksa 262 objek Memeriksa 262 objek (0 error)

root @ master: ~ # kinit Administrator
Kata sandi untuk Administrator@SWL.FAN: 
root @ master: ~ # klist -f
Cache tiket: FILE: / tmp / krb5cc_0
Default utama: Administrator@SWL.FAN

Valid mulai Expires Service main 19/06/17 12:53:24 19/06/17 22:53:24  krbtgt/SWL.FAN@SWL.FAN
    perpanjang sampai 20/06/17 12:53:18, Bendera: RIA

root @ master: ~ # kdestroy
root @ master: ~ # klist -f
klist: File cache kredensial '/ tmp / krb5cc_0' tidak ditemukan

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

root @ master: ~ # smbclient // localhost / netlogon -UAdministrator -c 'ls'
Masukkan kata sandi Administrator: Domain = [SWL] OS = [Windows 6.1] Server = [Samba 4.5.1]. D 0 Sen 19 Jun 11:50:52 2017 .. D 0 Sen 19 Jun 11:51:07 2017 19091584 blok ukuran 1024. 16198044 blok tersedia

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

root @ master: ~ # host -t SRV _ldap._tcp.swl.fan
_ldap._tcp.swl.fan memiliki catatan SRV 0 100 master.swl.fan.

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

root @ master: ~ # host -t A master.swl.fan
master.swl.fan memiliki alamat 192.168.10.5

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

root @ master: ~ # host -t NS swl.fan
swl.fan server nama master.swl.fan.

root @ master: ~ # host -t MX swl.fan
swl.fan tidak memiliki data MX

root @ master: ~ # samba_dnsupdate --verbose

root @ master: ~ # daftar pengguna alat
Administrator krbtgt Tamu

root @ master: ~ # daftar grup alat
# Outputnya adalah sekelompok grup. ;-)

Kami mengelola Samba 4 AD-DC yang baru diinstal

Jika kita ingin mengubah kedaluwarsa pada hari sandi Administrator; kerumitan kata sandi; panjang minimum kata sandi; durasi minimum dan maksimum -dalam hari- dari kata sandi; dan mengubah kata sandi Administrator yang dideklarasikan selama Provisioning, kita harus menjalankan perintah berikut dengan nilai yang disesuaikan dengan kebutuhan Anda:

root @ master: ~ # tool
Penggunaan: samba-tool Alat administrasi samba utama. Opsi: -h, --help tampilkan pesan bantuan ini dan keluar dari Opsi Versi: -V, --version Tampilkan nomor versi Sub-perintah yang tersedia: dbcheck - Periksa kesalahan pada database AD lokal. delegasi - Manajemen delegasi. dns - Manajemen Domain Name Service (DNS). domain - Manajemen domain. drs - Manajemen Directory Replication Services (DRS). dsacl - manipulasi DS ACL. fsmo - Manajemen peran Operasi Master Tunggal Fleksibel (FSMO). gpo - Manajemen Objek Kebijakan Grup (GPO). grup - Manajemen grup. ldapcmp - Bandingkan dua database ldap. ntacl - manipulasi NT ACL. proses - Proses daftar (untuk membantu debugging pada sistem tanpa setproctitle). rodc - Manajemen Pengontrol Domain Hanya-Baca (RODC). situs - Manajemen situs. spn - Pengurusan Nama Prinsipal Pelayanan (SPN). testparm - Sintaks untuk memeriksa file konfigurasi. waktu - Ambil waktu di server. pengguna - Manajemen pengguna. Untuk bantuan lebih lanjut tentang subperintah tertentu, ketik: samba-tool (-h | --help)

root @ master: ~ # tool pengguna setexpiry administrator --noexpiry
root @ master: ~ # set setelan kata sandi domain alat --min-pwd-length = 7
root @ master: ~ # set setelan kata sandi domain alat --min-pwd-age = 0
root @ master: ~ # set setelan kata sandi domain alat --max-pwd-age = 60
root @ master: ~ # tool user setpassword --filter = samaccountname = Administrator --newpassword = Passw0rD

Kami menambahkan beberapa catatan DNS

root @ master: ~ # tool dns
Penggunaan: samba-tool dns Manajemen Domain Name Service (DNS). Opsi: -h, --help tampilkan pesan bantuan ini dan keluar Subperintah yang tersedia: tambahkan - Tambahkan hapus data DNS - Hapus kueri data DNS - Buat kueri nama. roothints - Query root hints. serverinfo - Permintaan informasi server. update - Perbarui DNS record zonecreate - Buat zona. zonedelete - Menghapus zona. zoneinfo - Permintaan informasi zona. zonelist - Kueri untuk zona. Untuk bantuan lebih lanjut tentang subperintah tertentu, harap ketik: samba-tool dns (-h | --help)

Server email

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

IP tetap dari server lain

root @ master: ~ # tool dns add 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 add master swl.fan proxy A 192.168.10.11 -U administrator
root @ master: ~ # tool dns add master swl.fan chat A 192.168.10.12 -U administrator

Zona Terbalik

root @ master: ~ # tool dns zonecreate master 10.168.192.in-addr.arpa -U administrator
Sandi untuk [SWL \ administrator]: Zona 10.168.192.in-addr.arpa berhasil dibuat

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

Cek

root @ master: ~ # tool dns query master swl. fan mail SEMUA -U administrator
Sandi untuk [SWL \ administrator]: Nama =, Catatan = 1, Anak = 0 A: 192.168.10.9 (flags = f0, serial = 2, ttl = 900)

root @ master: ~ # host master
master.swl.fan memiliki alamat 192.168.10.5
root @ master: ~ # host sysadmin
sysadmin.swl.fan memiliki alamat 192.168.10.1
root @ master: ~ # surat host
mail.swl.fan memiliki alamat 192.168.10.9
root @ master: ~ # obrolan host
chat.swl.fan memiliki alamat 192.168.10.12
root @ master: ~ # host proxy
proxy.swl.fan memiliki alamat 192.168.10.11
root @ master: ~ # host fileserver
fileserver.swl.fan memiliki alamat 192.168.10.10
root @ master: ~ # host 192.168.10.1
1.10.168.192.in-addr.arpa penunjuk nama domain sysadmin.swl.fan.
root @ master: ~ # host 192.168.10.5
5.10.168.192.in-addr.arpa penunjuk nama domain master.swl.fan.
root @ master: ~ # host 192.168.10.9
9.10.168.192.in-addr.arpa penunjuk nama domain mail.swl.fan.
root @ master: ~ # host 192.168.10.10
10.10.168.192.in-addr.arpa penunjuk nama domain fileserver.swl.fan.
root @ master: ~ # host 192.168.10.11
11.10.168.192.in-addr.arpa penunjuk nama domain proxy.swl.fan.
root @ master: ~ # host 192.168.10.12
12.10.168.192.in-addr.arpa penunjuk nama domain chat.swl.fan.

Untuk yang penasaran

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

Kami menambahkan pengguna

root @ master: ~ # pengguna alat
Penggunaan: pengguna samba-tool Manajemen pengguna. Opsi: -h, --help tampilkan pesan bantuan ini dan keluar dari subperintah yang tersedia: tambahkan - Buat pengguna baru. buat - Buat pengguna baru. delete - Menghapus pengguna. nonaktifkan - Nonaktifkan pengguna. aktifkan - Aktifkan pengguna. getpassword - Dapatkan bidang kata sandi dari akun pengguna / komputer. daftar - Mendaftar semua pengguna. kata sandi - Ubah kata sandi untuk akun pengguna (yang disediakan dalam otentikasi). setexpiry - Mengatur kedaluwarsa akun pengguna. setpassword - Menetapkan atau mengatur ulang kata sandi akun pengguna. syncpasswords - Sinkronkan kata sandi akun pengguna. Untuk bantuan lebih lanjut tentang subperintah tertentu, harap ketik: samba-tool user (-h | --help)

root @ master: ~ # pengguna alat membuat trancos Trancos01
'Trancos' pengguna berhasil dibuat
root @ master: ~ # pengguna alat membuat gandalf Gandalf01
Pengguna 'gandalf' berhasil dibuat
root @ master: ~ # pengguna alat membuat legolas Legolas01
Pengguna 'legolas' berhasil dibuat
root @ master: ~ # daftar pengguna alat
Administrator gandalf legolas melangkah krbtgt Tamu

Administrasi melalui antarmuka grafis atau melalui klien web

Kunjungi wiki.samba.org untuk informasi rinci tentang cara memasang Microsoft RSAT o Alat Administrasi Server Jarak Jauh. Jika Anda tidak memerlukan kebijakan klasik yang ditawarkan oleh Microsoft Active Directory, Anda dapat menginstal paket ldap-akun-manajer yang menawarkan antarmuka sederhana untuk administrasi melalui browser web.

Rangkaian program Alat Administrasi Server Jarak Jauh Microsoft (RSAT) disertakan pada sistem operasi Windows Server.

Kami menggabungkan domain ke klien Windows 7 bernama "tujuh"

Karena kami tidak memiliki server DHCP di jaringan, hal pertama yang harus kami lakukan adalah mengkonfigurasi kartu jaringan klien dengan IP tetap, menyatakan bahwa DNS primer akan menjadi IP dari samba-ad-dc, dan periksa apakah opsi "Daftarkan alamat koneksi ini di DNS" diaktifkan. Tidaklah menganggur untuk memeriksa bahwa nama «tujuh»Belum terdaftar di DNS Internal Samba.

Setelah kita menggabungkan komputer ke domain dan memulai ulang, mari kita coba masuk dengan pengguna «langkah«. Kami akan memeriksa apakah semuanya berfungsi dengan baik. Juga disarankan untuk memeriksa log Klien Windows dan memeriksa bagaimana waktu disinkronkan dengan benar.

Administrator dengan beberapa pengalaman Windows akan menemukan bahwa setiap pemeriksaan yang mereka lakukan pada klien akan memberikan hasil yang memuaskan.

ringkasan

Semoga artikel ini bermanfaat bagi pembaca Komunitas. DesdeLinux.

Selamat tinggal!


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   Gonzalo Martinez dijo

    Artikel panjang tapi rinci, langkah demi langkah yang sangat bagus tentang bagaimana melakukan semuanya.

    Saya tegaskan NIS, sebenarnya meskipun saya tahu tentang keberadaannya, saya tidak pernah benar-benar tahu cara kerjanya, karena sejujurnya selalu memberi saya kesan bahwa itu praktis mati di sebelah LDAP dan Samba 4.

    PS: Selamat atas proyek pribadi baru Anda! Sayang sekali Anda tidak akan melanjutkan menulis di sini, tetapi setidaknya ada tempat untuk mengikuti Anda.

  2.   HO2Gi dijo

    Tutorial besar seperti biasa untuk favorit saya, Salam Fico.
    Selamat atas proyeknya.

  3.   IWO dijo

    Bagian NIS sangat bagus, saya bersimpati dengan Gonzalo Martinez, saya mengetahuinya secara singkat tetapi tidak tahu bagaimana menerapkannya dan dalam situasi apa itu digunakan.
    Terima kasih sekali untuk "batang" artikel teoritis dan praktis yang luar biasa.
    Akhirnya kesuksesan baru dalam proyek baru Anda «gigainside».

  4.   Federico dijo

    Terima kasih banyak semuanya atas komentarnya !!!.
    salam

  5.   kerang dijo

    smb.conf yang Anda tunjukkan tidak memiliki link dengan LDAP, apakah sengaja atau saya meninggalkan sesuatu?

  6.   phico dijo

    mussol: Ini adalah Samba 4 Active Directory Domain Controler yang sudah memiliki server LDAP-nya.

  7.   Vincent dijo

    Bisakah Anda berkomentar bagaimana menyatukan mac (apel) ke samba 4 AD-DC?
    Terima kasih.

  8.   jramirez.dll dijo

    Apa kabar;

    Terima kasih untuk manualnya, bagus. Saya memiliki pertanyaan tentang pesan yang muncul bagi saya.

    root @ AD: ~ # nping –tcp -p 53 -c 3 ad.rjsolucionessac.com
    Gagal menyelesaikan nama host / IP yang diberikan: ad.rjsolucionessac.com. Perhatikan bahwa Anda tidak dapat menggunakan rentang IP gaya '/ mask' DAN '1-4,7,100-'
    Tidak dapat menemukan target yang valid. Harap pastikan bahwa host yang ditentukan adalah alamat IP dalam notasi standar atau nama host yang dapat diselesaikan dengan DNS
    root @ AD: ~ #