Apa langkah-langkah yang diperlukan untuk mengautentikasi pengguna dari Active Directory yang berjalan pada Windows Server 2012 R2 di FreeBSD 10.0 menggunakan sssd
dengan backend AD dengan Kerberos TGT berfungsi?
sumber
Apa langkah-langkah yang diperlukan untuk mengautentikasi pengguna dari Active Directory yang berjalan pada Windows Server 2012 R2 di FreeBSD 10.0 menggunakan sssd
dengan backend AD dengan Kerberos TGT berfungsi?
Ada beberapa pertimbangan rumit untuk membuat semuanya berjalan di luar kotak. FreeBSD hanya mendukung sssd
versi 1.9.6 saat ini. Jadi tidak ada dukungan untuk Nama Pokok Perusahaan.
Jika Anda memiliki domain dengan UPN yang tidak cocok itu akan gagal masuk, karena otentikasi Kerberos akan gagal selama proses, bahkan dengan FreeBSD yang mendukung Nama Pimpinan Perusahaan dengan Kerberos, mereka sssd
tidak dapat menangani kasus ini.
Jadi dalam versi aktual sssd
Anda terbatas untuk memiliki Nama Pokok Pengguna dalam Nama Domain yang sama, misalnya:
Domain Name = example.com
NetBIOS Name = EXAMPLE
User Principal Name:
[email protected] sAMAccountName: username
Mengetahui hal ini kami dapat menjelaskan langkah-langkah untuk berhasil mengotentikasi pengguna dari AD di FreeBSD.
Buat file /etc/krb5.conf
dengan konten berikut:
[libdefaults]
default_realm = EXAMPLE.COM
dns_lookup_realm = true
dns_lookup_kdc = true
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = yes
Instal Samba 4.1:
$ pkg install samba41
Buat file /usr/local/etc/smb4.conf
dengan konten berikut:
[global]
security = ads
realm = EXAMPLE.COM
workgroup = EXAMPLE
kerberos method = secrets and keytab
client signing = yes
client use spnego = yes
log file = /var/log/samba/%m.log
Meminta Tiket Administrator Kerberos:
$ kinit Administrator
Kemudian bergabunglah dengan domain dan buat keytab
$ net ads join createupn=host/[email protected] -k
$ net ads keytab create -k
Instal paket yang diperlukan:
$ pkg install sssd cyrus-sasl-gssapi
Edit file /usr/local/etc/sssd/sssd.conf
untuk mencocokkan pengaturan ini:
[sssd]
config_file_version = 2
services = nss, pam
domains = example.com
[nss]
[pam]
[domain/example.com]
# Uncomment if you need offline logins
#cache_credentials = true
id_provider = ad
auth_provider = ad
access_provider = ad
chpass_provider = ad
# Comment out if the users have the shell and home dir set on the AD side
default_shell = /bin/tcsh
fallback_homedir = /home/%u
# Uncomment and adjust if the default principal SHORTNAME$@REALM is not available
#ldap_sasl_mech = GSSAPI
#ldap_sasl_authid = [email protected]
Edit file /etc/nsswitch.conf
untuk mencocokkan pengaturan ini:
group: files sss
passwd: files sss
Instal paket opsional untuk pembuatan direktori home:
$ pkg install pam_mkhomedir
Ubah bidang yang diperlukan PAM
agar sesuai dengan pengaturan ini:
auth sufficient /usr/local/lib/pam_sss.so
account required /usr/local/lib/pam_sss.so ignore_unknown_user
session required /usr/local/lib/pam_mkhomedir.so mode=0700
session optional /usr/local/lib/pam_sss.so
password sufficient /usr/local/lib/pam_sss.so use_authtok
$ pkg remove -f openldap-client
$ pkg install openldap-sasl-client
$ getent passwd <username>
Kerberos mana yang Anda gunakan di sini? Yang built-in atau keamanan / KRB5 dari MIT?
Ketika menginstal sssd, diperlukan keamanan / krb5 yang diinstal yang saat ini masih dianggap eksperimental di FreeBSD. Demikian pertanyaan ini.
Saya tidak beruntung mendapatkan pengguna / grup AD saat menjalankan perintah 'getent'. mungkin karena fakta bahwa nama NETBIOS berbeda dari nama domain -yaitu dalam kasus saya, nama domain adalah dawnsign.com dan nama NETBIOS adalah DSP.
Saya hanya mengonfigurasi modul login pam.d. Apa modul pam lain yang perlu diedit agar otentikasi yang berhasil terjadi?
Setiap info tambahan akan sangat dihargai!
sumber
Mengkompilasi ulang samba4 dari port dimungkinkan untuk menggunakan autentikasi winbind seperti linux bahkan tanpa sssd. Cukup mengkompilasi ulang samba4 dari port setelah mengaktifkan sasl ldap
Ini akan mengkompilasi ulang samba dengan semua dukungan yang diperlukan (gssapi, ldap, kerberos) kemudian edit nsswitch.conf seperti ini
sumber
Halo,
Ini adalah pembaruan kecil tentang penggunaan sssd v1.11.7
Jika Anda menggunakan "id_provider = iklan" dan Anda melihat kesalahan berikut di sssd logfile:
Anda dapat menggunakan prosedur berikut untuk menyelesaikan masalah ini dan membuat integrasi AD berfungsi dengan benar. Sekarang membangun sssd v1.11.7 dengan dukungan Samba, membangun dari src sssd diperlukan agar terhubung dengan libsasl2
sumber
Berikut ini panduan saya tentang integrasi AD via SSSD dengan versi FreeBSD ini, pada saat penulisan ini (6/2017)
Instalasi (dan masalah pengemasan dan ketergantungan yang menyenangkan)
/usr/bin
, dan yang lainnya di/usr/local/bin
. Karena tidak ada file sistem dasar yang tampak dalam sebuah paket, Anda tidak bisa begitu saja menghapus barang-barang Heimdal KRB. Sesuatu yang harus diperhatikan.Maju dependensi dari berbagai paket (deps yang menarik dicetak tebal, deps yang bertolak-belakang dicetak miring):
net-mgmt/adcli:
net/openldap24-sasl-client
security/cyrus-sasl2-gssapi: security/cyrus-sasl2
net/openldap24-sasl-client: security/cyrus-sasl2
security/sssd: security/nss
security/sssd:
security/krb5
security/sssd: security/cyrus-sasl2
security/sssd:
net/openldap24-client
security/sssd: lang/python27
security/sssd: lang/python2
security/sssd: dns/c-ares
security/sssd: devel/tevent
security/sssd: devel/talloc
security/sssd: devel/popt
security/sssd: devel/pcre
security/sssd: devel/libunistring
security/sssd: devel/libinotify
security/sssd: devel/gettext-runtime
security/sssd: devel/ding-libs
security/sssd: devel/dbus
security/sssd: databases/tdb
security/sssd: databases/ldb
Membalikkan dependensi dari berbagai paket:
net/openldap24-sasl-client: sysutils/msktutil
net/openldap24-sasl-client: net/nss-pam-ldapd-sasl
net/openldap24-sasl-client: net-mgmt/adcli
sssd
sendiri membutuhkan MIT Kerberos, meskipun kita memiliki Heimdal sebagai paket dasaradcli
inginopenldap-sasl-client
, tetapi paket lain (termasuk sub-dependensisssd
) menarikopenldap-client
, yang mutex dengan klien sasl (untuk alasan konyol apa pun). Ini membuat instalasi sedikit menyakitkan, bahkan dengan paket biner minimum.Pada tulisan ini, pkg biner untuk SSSD untuk FreeBSD tidak termasuk dukungan AD di SSSD
SMB
adcli
ada, tetapi saat tulisan ini dibuat, tidak berfungsi.GSSAPI_MIT
cyrus-sasl-gssapi
diperlukan, tetapi versi biner pkg tidak berfungsi, dan memiliki masalah ketergantungan aneh yang menyebabkannya menghapus SSSD.GSSAPI_MIT
openldap-sasl-client
diperlukan untuk fungsionalitas tetapi SSSD ingin menarik versi openldap non SASL.openldap-sasl-client
denganGSSAPI
opsi yang dipilih (make config
) di porta.pkg remove –f openldap-client
openldap-client
tanpa melakukan autoremoves dari paket lain (seperti SSSD) dan memungkinkan pemasangan versi SASLopenldap-sasl-client
pkg remove –f sssd
(Opsional) Setelah semuanya berfungsi dan diverifikasi, Anda dapat menggunakan
pkg create
untuk membuat paket biner dari empat paket dengan opsi yang tepat diaktifkan dan menggunakannya daripada membangunnya di port pada setiap sistem. Instalasi biner mengikuti pola yang mirip dengan proses pembuatan port:pkg install sssd-1.11.7_8.txz
pkg add
paket lainnya (tidak menginstal, menambah), menyimpan paket openldap untuk yang terakhir.openldap-sasl-client
lakukan apkg remove –f openldap-client
pkg add openldap-sasl-client-2.4.44.txz
pkg create
untuk menggantikan ketergantungan padaopenldap-client
denganopenldap-sasl-client
menghapus kebutuhan untuk melakukan hal ini menghapus / instal ulang. Saya belum punya waktu untuk melakukan ini.openldap-client
, jadi Anda harus memperbaikinya juga.Konfigurasi Kerberos:
/etc/pam.d
file yang harus saya modifikasi agar SSSD berfungsi dengan FreeBSD:/etc/pam.d/sshd:
/etc/pam.d/system:
/etc/pam.d/su:
(indentasi)
system.dist
adalah salinan dari/etc/pam.d/system
file stok . Itu termasuk dalam/etc/pam.d/su
file di atas untuk mencegah masalah dengan perintah su.su
akun AD sebagai root, karena sekali root,su
tidak perlu mengotentikasi dan info akun ditarik melalui saklar layanan nama melalui SSSD.sudo
alasan keamanan sajaksu
dan itu berfungsi untuk beralih dari pengguna A ke pengguna Bksu
(Dalam/usr/bin
) Heimdal tidak memiliki SUID yang diatur secara defaultksu
bekerja,chmod u+s /usr/bin/ksu
krb5
paket terpasang di/usr/local/bin
) SUID saat diinstal/usr/local/bin
sebelumnya/usr/bin
, dllksu
akan meminta pengguna untuk kata sandi AD / Kerberos dari pengguna targetpasswd
tidak akan bekerja untuk mengubah kata sandi AD / Kerberos Anda bahkan jika Anda menambahpam_sss.so
file PAM passwd. Thepasswd
biner hanya mendukung lokal dan NIS Gunakankpasswd
untuk mengubah password Anda pada AD / Kerberos server (s).Ganti Nama Layanan:
/etc/nsswitch.conf
file harus dikonfigurasi untuk menggunakan layanan sss untuk passwd dan kelompok. Contoh:group: files sss
passwd: files sss
Bergabung dengan Domain:
adcli
kinit
sebelum menggunakan, itu melakukannya untuk Anda berdasarkan kredit yang diberikan.adcli join -D mydomain.net -U Administrator--show-details –v
adcli join –H adclient.mydomain.net -D mydomain.net -U Administrator --show-details -v
net
Utilitas Sambanet
utilitas merupakan bagian dari Samba suite.smb.conf
file konfigurasi, yang membuatnya lebih sulit dan tidak nyaman untuk digunakan, terutama yang non-interaktif.kinit
. Sekali lagi, ini lebih tidak nyaman, dan membuatnya sedikit lebih sulit untuk digunakan secara non-interaktif dalam sebuah skrip, karena ada dua langkah daripada satu.Pertimbangan SSHD:
/etc/ssh/sshd_config
GSSAPIAuthentication yes
PasswordAuthentication yes
ChallengeResponseAuthentication yes
PasswordAuthentication no
saat menggunakan opsi ini./bin/passwd
, yang tidak mendukung apa pun kecuali NIS dan file passwd lokal.GSSAPICleanupCredentials yes
kdestroy
saat logoutGSSAPIStrictAcceptorCheck no
host/<FQDN>@REALM
untuk berbicara dengan KDC, tetapi kadang-kadang salah (misalnya, jika nama host tidak cocok dengan nama DNS dari server SSH). Opsi ini memungkinkan SSHD untuk menggunakan prinsipal apa pun dalam/etc/krb5.keytab
file, termasuk yang benarhost/<FQDN>@REALM
ssh -K <ip>
agar berfungsi tanpa meminta kata sandi (anggap Anda sudah melakukan 'kinit', tentu saja).sumber