GNU/Linux >> Belajar Linux >  >> Linux

Apa cara paling aman untuk mengizinkan pengguna membaca akses ke file log?

Solusi 1:

Hanya untuk memperluas sedikit jawaban di atas di sini adalah kasus penggunaan dunia nyata. Saya menjalankan aplikasi analisis log perusahaan Splunk pada kotak Redhat. Ini berjalan di bawah pengguna splunk dan grup splunk. Ini mencegah splunk mengakses log di /var/log karena hanya dapat diakses oleh root (atau sudo admin)

Untuk mengizinkan akses hanya baca untuk splunk saja, saya telah menggunakan beberapa ACL dan logrotate yang dimodifikasi untuk mempertahankannya.

Anda dapat menyetel ACL secara manual dengan

sudo setfacl -m g:splunk:rx /var/log/messages

Ini tidak akan bertahan karena logrotate tidak akan menerapkan kembali pengaturan ACL jadi untuk solusi yang lebih permanen saya menambahkan aturan ke logrotate untuk mengatur ulang ACL. Saya menambahkan file..

/etc/logrotate.d/Splunk_ACLs

dengan

{
    postrotate
        /usr/bin/setfacl -m g:splunk:rx /var/log/cron
        /usr/bin/setfacl -m g:splunk:rx /var/log/maillog
        /usr/bin/setfacl -m g:splunk:rx /var/log/messages
        /usr/bin/setfacl -m g:splunk:rx /var/log/secure
        /usr/bin/setfacl -m g:splunk:rx /var/log/spooler
    endscript
}

Periksa status ACL file dengan

$ getfacl /var/log/messages

Untuk info lebih lanjut tentang ACL lihathttps://help.ubuntu.com/community/FilePermissionsACLshttp://bencane.com/2012/05/27/acl-using-access-control-lists-on-linux/

Solusi 2:

Tidak perlu menambahkan root ke grup karena akan memiliki akses melalui pengguna privs, cukup berikan grup baca ke grup apa pun yang Anda putuskan. Ingatlah untuk melakukan perubahan dengan logrotate juga atau perubahan grup akan dihapus setiap malam.

Solusi 3:

Paket Anda dapat diterima dan dalam skema izin Unix "tradisional" adalah cara terbaik untuk melakukannya.
Opsi lain adalah meminta syslog mengalihkan pesan yang menarik ke file lain (yang menghindari pemberian akses pengguna aplikasi ke hal sensitif apa pun yang mungkin ada di /var/log/messages ).

Jika Anda tidak ingin terikat oleh skema izin tradisional Pengguna/Grup/Lainnya, Anda juga dapat menggunakan POSIX ACL (lainnya, mungkin howtos/info yang lebih baik tersedia melalui Google) untuk memberikan akses baca-saja kepada pengguna aplikasi Anda ke /var/log/messages -- ini sedikit lebih detail dan tidak berisiko memasukkan orang lain secara tidak sengaja ke dalam grup aplikasi dan memberi mereka akses ke hal-hal yang seharusnya tidak dapat mereka lihat.

Solusi 4:

Ya saya sudah menggunakan setfacl untuk melakukan ini untuk memberikan akses ke mail.log file untuk pelanggan, bukan Anda juga perlu menempelkan perintah di logrotate.conf file untuk mengatur ulang ACL setelah log diputar misalnya:

postrotate
         /usr/bin/setfacl -m o::r /var/log/mail.log  
endscript

Catatan Saya baru saja menyiapkan ini, dan belum mengujinya, tetapi meskipun akan dikirim kembali ke sini, tidak dapat melihat mengapa ini tidak berhasil, seseorang mengoreksi saya jika saya salah.


Linux
  1. Bagaimana cara membuat ssh masuk sebagai pengguna yang tepat?

  2. Apa perbedaan antara menambahkan pengguna ke grup sudoers vs root?

  3. Cara paling aman untuk mempartisi linux?

  1. Apa cara tercepat untuk menambahkan teks ke file dari baris perintah?

  2. Apa cara teraman dan paling portabel untuk menjalankan biner gema?

  3. Linux + cara memberikan hanya pengguna tertentu untuk membaca file

  1. Apakah Tail Membaca Seluruh File?

  2. Apa itu pengguna debian-+?

  3. Apa perintah untuk menyalin, membaca, dan menghapus file di linux