Folder rumah terenkripsi masih dapat diakses setelah logout

13

Jika Anda memiliki akun dengan folder rumah terenkripsi, Anda tidak dapat mengakses data teks biasa pengguna di folder rumah mereka jika pengguna tersebut belum masuk, karena sistem terakhir kali boot. Ini yang saya harapkan karena seharusnya tidak layak untuk mengakses folder home pengguna tanpa kata sandi mereka dimasukkan.

Namun, saya menemukan bahwa ketika pengguna dengan folder rumah terenkripsi masuk dan kemudian keluar, data teks biasa di folder rumah mereka masih dapat diakses oleh pengguna lain. Hak akses yang memadai diperlukan, tentu saja.

wtidak mencantumkan pengguna dan output sudo pgrep -u <username>kosong, menunjukkan bahwa pengguna tidak memiliki proses yang berjalan.

Apa alasan perilaku ini? Mengapa tidak mengunci folder rumah saja setelah logout?

UTF-8
sumber
Bisakah Anda sertakan output grep -Fe ecryptfs /var/log/auth.logdari sekitar waktu pengguna keluar?
David Foerster
Perintah menghasilkan output ini: pastebin.com/jZXdahbJ Menurut Emacs, satu-satunya baris yang berisi string "ecryptfs" adalah baris yang dihasilkan ketika saya menjalankan perintah itu.
UTF-8
Hasilnya seperti yang diharapkan, hanya garis-garis yang sudah ditunjukkan Emacs kepada saya: pastebin.com/VtV7iCDg
UTF-8
Baik. Itu layak untuk dilihat.
David Foerster
Saya perhatikan bug ini dalam sistem live yang persisten (dalam upaya untuk membuat pengguna kedua dengan rumah terenkripsi).
sudodus

Jawaban:

6

Bug yang dikenal

Jika saya mengerti dengan benar, ini adalah bug yang dikenal.

Lihat tautan ini: wiki.archlinux.org/index.php/ECryptfs

Gulir ke bawah ke paragraf merah muda

Peringatan: Sayangnya pelepasan muatan otomatis rentan rusak dengan systemd dan bug diajukan terhadapnya ...

Bekerja di sekitar

Seperti sekarang, Anda lebih baik turun menutup atau restart untuk menghapus jejak (Hal ini tidak cukup untuk log out).

sudodus
sumber
Apa yang Anda maksud dengan "logout akan membocorkan informasi antara pengguna"? Apakah maksud Anda sesuatu terjadi, selain itu pengguna yang berbeda dengan hak istimewa yang memadai dapat mengakses data teks biasa di direktori home pengguna pertama? (Ini sudah memungkinkan sebelum logout, tentu saja.)
UTF-8
1
Mencoba menjelaskan dengan lebih baik: 'Tidak cukup untuk keluar'. (Logout tidak menghapus contoh teks yang jelas dari file, yang telah digunakan oleh pengguna dengan rumah terenkripsi. Jadi informasi dapat bocor dari pengguna ini ke pengguna lain, yang masuk, setidaknya jika pengguna lain ini memiliki hak sudo. Tetapi jika Anda mematikan atau me-reboot, contoh teks yang jelas dari file-file tersebut hilang
sudodus
3

Saya tidak dapat menguji atau mengkonfirmasi ini, tetapi dengan asumsi bahwa Anda menggunakan ecryptfs(yang menawarkan Ubuntu selama instalasi, IIRC), data terenkripsi disimpan dalam folder tersembunyi /home/.encryptfs/$USERdan dipasang ke lokasi folder rumah Anda yang sebenarnya menggunakan ecryptfsdriver ketika Anda log di.

Kemungkinan besar, kemudian, apa yang terjadi adalah ketika Anda logout, ia gagal untuk secara otomatis meng-unmount direktori tersebut, sehingga file-file tersebut masih dapat diakses. Ini bisa disebabkan oleh ...

  • konfigurasi buruk (mungkin seharusnya dikonfigurasi untuk meng-unmount saat logout tetapi tidak)
  • tipe logout yang tidak terduga (kadang-kadang solusi ini bekerja untuk masuk / keluar DM tetapi tidak berfungsi dengan baik jika tidak)
  • jika unmount ditangani oleh skrip logout (tidak harus demikian), sesuatu yang mendahului perintah unmount bisa gagal dan menyebabkan skrip keluar lebih awal.

Satu hal yang dapat membantu Anda memeriksa ini adalah untuk menjalankan sudo mount | grep homesebelum masuk, setelah masuk, dan setelah keluar untuk melihat apakah ada sesuatu yang melibatkan homesedang dipasang. Anda juga bisa mencari /etc/fstabentri yang relevan. Akhirnya, ada beberapa konfigurasi /home/.ecryptfs/$USER/.ecryptfs/dengan pengaturan terkait untuk automounting / unmount.

Informasi yang berguna tentang ecryptfsdapat ditemukan dalam jawaban ini dan di ArchWiki yang selalu membantu .

krs013
sumber
Saya mencoba apa yang Anda katakan: pastebin.com/DrmEXQPV Saya tidak keluar dengan cara yang aneh tetapi dengan cara GUI standar. FS masih terpasang, seperti yang Anda lihat. File konfigurasi yang Anda sebutkan kosong. Tidak ada dalam /etc/fstabentri saya kecuali 1 yang mengatakan bahwa satu-satunya partisi data saya harus di-mount ke /dan 1 entri yang tentang beberapa sumber daya jaringan terkait universitas. Haruskah saya mencoba keluar dengan cara yang berbeda? Jika demikian: Bagaimana?
UTF-8
Keluar dengan cara komentar yang berbeda sedikit dugaan - manajer desktop menambahkan banyak hal selain login dan keluar yang memperumit gagasan dan menyulitkan untuk mengetahui peristiwa mana yang dipicu. Saya bertanya-tanya karena mungkin ada beberapa skrip atau acara yang tidak berjalan. Berdasarkan jawaban lain, itu bukan masalah semacam itu, tetapi ada hubungannya dengan ecryptfsitu sendiri. Namun, pada catatan itu, apakah Anda menggunakan sshatau masuk melalui terminal teks? Dimungkinkan untuk menulis skrip yang akan mengurungkan unmount pada logout jika kita menemukan tempat untuk meletakkannya.
krs013
3

Edit /etc/systemd/logind.confdan aturKillUserProcesses=yes

Perhatikan bahwa ini program istirahat latar belakang, screen, tmux, dan mirip ...

Pertanyaan ini di sini membahasnya secara lebih rinci. Saya menemukan mendefinisikan layanan systemd baru tidak perlu (atau lebih tepatnya, bukan perilaku yang diinginkan, karena dipanggil sebagai hook shutdown, bukan ketika sesi pengguna berakhir).

/unix/251902/ecryptfs-auto-umount-does-not-work

quadruplebucky
sumber
Saya akan memeriksa apakah metode Anda berfungsi untuk sistem live yang persisten dengan pengguna kedua, yang telah dienkripsi di rumah.
sudodus
Maaf, tapi saya tidak bisa membuat metode ini berfungsi dalam sistem live yang persisten dengan pengguna kedua, yang telah dienkripsi di rumah. (Saya belum menguji solusi Anda dalam sistem yang terinstal, saya akan menyerahkannya kepada @ UTF-8 yang mengajukan pertanyaan asli.)
sudodus
Saya tidak tertarik memperbaiki ini di komputer saya sendiri. Saya satu-satunya yang menggunakannya, tetapi ingin menggunakan 2 akun dengan folder rumah terenkripsi dan tidak ada orang lain yang tahu kata sandi untuk salah satu akun. Saya tertarik mengapa tidak unmount volume terenkripsi secara otomatis secara default . Tidak bisakah itu hanya memeriksa proses latar belakang aktif yang berjalan dalam konteks pengguna dan melepasnya jika tidak ada?
UTF-8
@ UTF-8, saya setuju dengan Anda, bahwa itu harus berfungsi seperti yang Anda inginkan. Jika saya mengerti dengan benar, ini adalah bug yang dikenal. Lihat tautan ini, wiki.archlinux.org/index.php/ECryptfs . Gulir ke bawah ke paragraf merah muda 'Peringatan: Sayangnya pelepasan otomatis ini rentan untuk diputus dengan systemd dan bug diajukan'. - Seperti sekarang, Anda sebaiknya mematikan atau mem-boot ulang untuk menghapus jejak (logout akan membocorkan informasi antara pengguna.)
sudodus
@ UTF-8 ini adalah bug dalam interaksi systemd / sesi sejak setidaknya wheezy (Saya sangat nyaman hanya menggantungnya di systemd) - perubahan /etc/systemd/logind.conf bekerja untuk saya pada 16.04 (diuji dengan tiga pengguna berbeda , sesi yang berbeda, dll ...)
quadruplebucky
3

Saya telah meneliti masalah ini selama beberapa waktu, yaitu, sistem file yang tidak terenkripsi tetap dipasang setelah pengguna keluar.

Saya menggunakan "ecryptfs-migrate-home -u user" untuk membuat mount. mengikuti arahan dan semua berfungsi kecuali tidak ada auto-unmount saat logout.

Saya membandingkan file config di /etc/pam.d/ dengan dokumentasi pam_ecryptfs dan menemukan beberapa perbedaan. ecryptfs ada di 4 file pam.d config sedangkan pam_ecryptfs docs mengindikasikan hanya 2 file yang perlu / harus / mendukung ecryptfs, misalnya,

   /etc/pam.d/common-auth:
              auth    required        pam_ecryptfs.so unwrap
   /etc/pam.d/common-session:
              session optional        pam_ecryptfs.so unwrap

Jadi, saya berkomentar 2 contoh lainnya, reboot, dan semuanya bekerja, mount otomatis saat login dan auto-unmount logout untuk kedua login grafis dan konsol. (Saya menggunakan tty alternatif untuk memverifikasi dari akun root)

Ini ada di 18.04 Lubuntu di laptop, desktop, dan virtualbox guest (windows host).

Saya tertarik pada pengalaman orang lain.

edit_1: kata-kata yang lebih baik. edit_2: menambahkan hasil tes desktop dan VB.

batu merah
sumber
Apakah menonaktifkan / mengomentari salah satu dari baris itu menyebabkan masalah? Apakah mengubah kata sandi Anda masih membungkus kembali keyfile eCryptfs?
Xen2050
Ini bekerja untuk saya di Linux Mint 19. Untuk menambahkan beberapa detail untuk yang lain: empat file konfigurasi di /etc/pam.d yang merujuk ke ecryptfs adalah: common-auth, common-password, sesi-umum, sesi-umum- noninteraktif. Mengomentari baris-baris dengan kata sandi umum dan sesi-umum-non-interaktif mengarah pada perilaku unmount yang keluar saat logout. Juga, entri dalam common-auth diatur ke "opsional" bukan "diperlukan" seperti yang seharusnya sesuai dengan dokumentasi. Namun, saya meninggalkan ini apa adanya.
evencoil
@ Xen2050, maaf atas keterlambatan respons. Saya tidak mendeteksi masalah apa pun setelah perubahan mengomentari baris dan saya belum mencoba mengubah kata sandi.
redrock
Kata sandi yang berubah mungkin penting untuk diuji, itu harus membungkus kembali kunci enkripsi dengan kata sandi baru Anda secara otomatis, jadi login di waktu berikutnya berfungsi. Jika itu tidak berhasil, maka hanya mengubah kata sandi kembali ke yang sebelumnya akan bekerja ... [Namun, selalu baik untuk memiliki cadangan]
Xen2050
1
@ Xen2050, saya melakukan tes untuk mengubah kata sandi. itu berhasil.
redrock
2

Saya melakukannya dengan skrip di rclocal

#!/bin/sh
#

while true; do
    if [ ! -d /run/user/1000 ]; then
        if [ -f /home/momo/.mounted ]; then
            umount /home/harry
        fi      
    fi

    if [ ! -d /run/user/1001 ]; then
        if [ -f /home/vm/.mounted ]; then
            umount /home/maud
        fi
    fi

    sleep 10
done
exit 0
walter wunsch
sumber
Bagaimana Anda mendapatkan userid?
Avinash Raj
0

Jika Anda tidak memerlukan akses dari cron atau di pekerjaan (tugas non-interaktif) ke direktori home APAPUN Anda hanya perlu mengomentari baris

session  optional        pam_ecryptfs.so unwrap

di /etc/pam.d/common-session-noninteractive.

Ini akan menyebabkan semua direktori home terenkripsi untuk di-unmount ketika pengguna logout.

Geoff Mulligan
sumber