GNU/Linux >> Belajar Linux >  >> Linux

Apakah tugas saya sebagai admin Linux untuk menjatuhkan hak akses root aplikasi, atau pekerjaan pengembang aplikasi?

Sebagai admin Linux, apakah salah satu tugas saya adalah melakukan semacam tugas untuk menghapus hak akses root dari aplikasi yang berjalan di sistem saya?

Ya. Ini adalah tugas Anda memastikan hal itu dilakukan. Jika aplikasi tidak melakukannya, Anda harus memperhatikan bahwa aplikasi tersebut tidak melakukannya dan melakukannya sendiri.

Atau apakah saya hanya mengandalkan pengembang aplikasi untuk memastikan mereka telah menulis kode mereka untuk melakukan ini?

Jangan mengandalkan pada pengembang aplikasi untuk melakukan apa pun. Ada banyak alat yang tersedia bagi administrator sistem Linux untuk mendapatkan fakta tentang apa yang dilakukan aplikasi saat runtime.


Merupakan kewajiban pemrogram aplikasi untuk memastikan bahwa aplikasi melepaskan hak istimewa root dan beroperasi dengan hak yang tidak dilindungi. Jika aplikasi tidak melakukan ini, tidak ada yang dapat Anda lakukan -- selain tidak menggunakan aplikasi, kirimkan laporan bug ke pengembang, atau implementasikan sendiri perubahan yang diperlukan dalam kode.

Di sisi lain, itu adalah Anda , sebagai admin, yang memilih sebagai pengguna mana aplikasi dimulai; aturan emasnya adalah jangan pernah memberikan proses lebih banyak hak istimewa daripada yang dibutuhkan untuk dijalankan. Jadi Anda dapat membuat pengguna yang tidak memiliki hak - lihat di /etc/passwd untuk mendapatkan gambaran tentang akun sistem - dan menjalankan aplikasi sebagai pengguna ini. (Anda jarang harus melakukan ini dengan tangan; biasanya ini semua sudah diurus saat Anda menginstal perangkat lunak melalui pengelola paket.) Namun, jika aplikasi memerlukan hak akses root untuk memulai, dan kemudian gagal melepaskan hak istimewa tersebut di tengah-tengah lari, maka itu di luar kendali Anda.

Misalnya, versi sendmail yang lebih lama diperlukan untuk menjalankan root SUID, yang merupakan lubang keamanan jika penyerang jarak jauh berhasil mengeksploitasi kerentanan program. Jika Anda memiliki sendmail berjalan secara unik sebagai relai email, Anda dapat menjalankannya sebagai pengguna yang tidak memiliki hak istimewa.


Saya akan mengatakan bahwa sebagai sysadmin, adalah tugas kami untuk memberikan hak istimewa seminimal mungkin kepada aplikasi dan pengguna (yang memungkinkan mereka melakukan pekerjaan mereka).

Pengguna yang menerapkan aplikasi Tomcat/Java, atau halaman web, atau menerapkan aplikasi dengan akses database jarang memiliki sedikit atau sedikit kebutuhan yang sah untuk akses root.

Sebagian besar kerangka kerja juga menghapus root secara default saat ini.

Misalnya untuk pengembang di sini yang menggunakan kerangka kerja Java, kami hanya memberikan akses pengembang kepada pengguna yang tidak memiliki hak istimewa yang mampu menerapkan, dan beberapa perintah sudo dibatasi untuk memulai (kembali) dan menghentikan beberapa layanan utama.

Saya akan melangkah lebih jauh bahwa bukan urusan tim pengembang untuk berurusan dengan server produksi.

Dari pengalaman hidup saya, sering kali tim dev hanya khawatir menyelesaikan pekerjaannya, dan tidak mampu mendapatkan keamanan dan manajemen kapasitas dengan benar tanpa perencanaan, panduan, dan intervensi proaktif dari tim sysadmin.


Linux
  1. Bagaimana Cara Menjatuhkan Hak Istimewa Root Dalam Skrip Shell?

  2. Linux – Mengapa Direktori Root Dilambangkan Dengan A / Sign?

  3. Bagaimana Cara Menemukan Aplikasi Untuk Tipe Mime Di Linux?

  1. Cara Mengatur Hak Istimewa Sudo untuk Pengguna di Linux

  2. Memahami direktori /etc/skel di Linux

  3. Mendapatkan daftar aplikasi startup di linux

  1. Linux – Bagaimana Cara Mengubah Kata Sandi Root yang Terlupakan?

  2. Linux – Apakah Slash (/) Bagian Dari Nama Direktori Root Linux?

  3. 10 Aplikasi Pengeditan Media Terbaik untuk Linux