Filesystem jaringan dengan keamanan tingkat pengguna untuk linux

8

Saya ingin mengaktifkan file sharing antara server dan klien, baik linux. Saya tidak ingin bergantung pada kepercayaan mesin seperti di NFSv4 karena pengguna klien akan memiliki hak akses root. Apa pilihan saya selain SMB (SAMBA)? Apakah OpenAFS mendukung otentikasi & akses tingkat pengguna? Menggunakan WebDAV / ftp / sshfs yang terpasang tampaknya konyol untuk LAN.

Konrads
sumber
Apakah maksud Anda mereka memiliki akses root ke server atau hanya mesin klien mereka sendiri?
wag2639

Jawaban:

14

Saya tidak yakin saya mengerti sepenuhnya:

"Saya tidak ingin bergantung pada kepercayaan mesin seperti di NFSv4 karena pengguna klien akan memiliki hak akses root."

Jika Anda bermaksud bahwa pengguna klien akan memiliki hak akses root pada klien dan Anda tidak ingin mereka memiliki root pada host maka Anda tidak menggunakan opsi "no_root_squash". Anda juga dapat melakukan hal-hal seperti menonaktifkan setuid untuk membantu mengurangi risiko klien dari server.

Anda juga memiliki opsi untuk menggunakan kerberos dengan NFSv4, lihat tautan ini .

Jadi dengan kata lain, NFSv4 mungkin memberi Anda keamanan yang Anda butuhkan sambil sedikit lebih ... (scalable?) .. menggunakan sshfs di mana-mana. Mungkin ini masih bukan yang Anda inginkan, tetapi saya tidak akan menyerah begitu saja.

Kyle Brandt
sumber
Sebagai contoh, saya punya dua proyek / joeisworking dan / mattisworking. Bahkan jika saya melakukan root squash, matt dari workstation-nya dapat mengakses joe's.
Konrads
2
@Konrads: Tidak jika Anda menggunakan kerberos, seperti yang disebutkan oleh Mr. Brandt. Bahkan jika matt memiliki root pada workstationnya sendiri, dia tidak bisa mendapatkan TGT Joe.
janneb
Saya pikir Konrads tidak yakin bagaimana cara mengkonfigurasi NFS, atau telah mengalami jaringan yang sebelumnya tidak terkonfigurasi. NFS bisa sangat aman, dan dapat mencapai apa yang dijelaskan dalam pertanyaan. Saya berpendapat bahwa NFSv4 adalah salah satu (jika bukan yang paling) sistem file jaringan aman (bila dikonfigurasi dengan benar).
Chris S
3

Dengan Kerberos, hanya server kdc yang memberikan token otentikasi. Mesin klien dengan sendirinya hanya dapat mengotentikasi sebagai host (dan itu adalah jika Anda memberikan keytab ke kepala nfs / client-hostname @ REALM yang cocok), dan yang hanya memberikannya hak untuk berbicara dengan server nfs. Itu adalah pengguna yang memiliki kemampuan untuk mengotentikasi, dan server nfs hanya mengizinkan mereka untuk mengakses file mereka sendiri. Dengan sec = krb5p server mencegah pengintaian dan perubahan juga.

Menjadi root tidak akan memberikan hak istimewa yang tidak pantas kepada pengguna Anda. Satu-satunya cara mereka mendapatkan akses ke lebih banyak file adalah dengan meretas mesin masing-masing, meretas server nfs atau kdc. NFSv4 dengan Kerberos sangat sesuai dengan kebutuhan keamanan Anda.

Berikut ini lebih lanjut tentang model keamanan:

Jika Anda melihat penyebaran, berikut adalah beberapa tutorial sentris debian / ubuntu. Saya memilih pengaturan sederhana tanpa LDAP. Distribusi ini memiliki konfigurasi berbasis debconf yang membuat Anda bisa sampai di sana.

Tambahan saya: Anda tidak perlu menentukan enctype des-cbc-crc, tetapi Anda harus mengizinkan_weak_crypto di krb5.conf sehingga protokol komunikasi dapat menggunakan des-cbc-crc untuk enkripsi aliran. Ini akan menjadi tidak perlu di kernel 2.6.35.

Jika Anda melihat sesuatu yang mirip alat, ada FreeIPA .

Tobu
sumber
Ini menarik, sejauh ini saya mengerti bahwa hanya ada otentikasi server ke server di NFSv4 dan kemudian sistem yang me-mount volume yang diekspor bertanggung jawab untuk memilah izin (squash_root_fs menjadi pengecualian). Bisakah Anda memberikan beberapa tautan ke dokumen?
Konrads
2

sshfs adalah cara untuk pergi. Pada klien:

sshfs -o idmap=user,workaround=rename user@server:/home/user/share /home/user/share

Izin sama dengan ssh ... karena Anda menggunakan ssh! Yang menyenangkan adalah Anda tidak perlu menyentuh apa pun di server, dengan asumsi sshd diinstal dan berjalan dengan benar. Mungkin tidak memiliki kinerja seperti saran lainnya, tetapi sangat sederhana.

SuperJames
sumber
0

samba memang terdengar seperti taruhan terbaik Anda. samba memang memiliki ekstensi unix jadi ketika dipasang menggunakan sebagai cifs di linux itu harus menunjukkan izin unix yang tepat dan yang lainnya. Saya pikir itu akan menjadi pilihan terbaik untuk kendala Anda. jika itu tidak berhasil sshfs dapat digunakan dalam keadaan darurat tetapi itu tidak akan memiliki kinerja yang baik atau integrasi ke dalam OS seperti samba.

mtinberg
sumber
0

Apakah OpenAFS mendukung otentikasi & akses tingkat pengguna?

Ya, sepertinya OpenAFS akan memenuhi kebutuhan Anda di sini, tetapi demikian juga Kerberized NFSv4. Di kedua lingkungan itu, Anda tidak perlu "mempercayai" klien; kontrol akses diberlakukan oleh server. Versi NFS sebelumnya memang mengharuskan Anda untuk "mempercayai" klien secara efektif, tetapi NFSv4 Kerberized tidak. OpenAFS tidak pernah membutuhkan klien "tepercaya", dan juga bergantung pada Kerberos untuk otentikasi dan keamanan.

adeason
sumber