GNU/Linux >> Belajar Linux >  >> Linux

8 Praktik terbaik dengan sudo di Linux – Tindakan dan Larangan dari sudo

Semua pengguna Linux hari ini pasti akrab dengan sudo perintah (singkatan dari "superuser do"). Kita perlu mempopulerkan sudo dengan menegakkan daripada mendorong pengguna menggunakan su untuk mendapatkan hak akses root untuk melakukan tugas administratif. Tetapi masih banyak lagi yang perlu Anda ketahui tentang sudo. Dengan bantuan sudo Anda dapat dengan mudah menjalankan perintah seperti pengguna lain, bukan hanya pengguna root! Jika sudo tidak dikelola dengan benar, itu hampir lebih buruk daripada hanya membagikan kredensial root, karena memberikan rasa aman yang salah. Mari kita lihat beberapa praktik terbaik untuk mengontrol akses sistem dengan sudo sambil tetap memungkinkan pengguna untuk tetap produktif. Ketahui cara menggunakan sudo dan ikuti praktik terbaik ini, lalu Anda dapat bersantai dan menikmati setiap gigitan sandwich Anda.

Catatan:Anda harus menggunakan visudo perintah untuk mengedit file /etc/sudoers. Hati-hati saat mengedit!

1. Jangan izinkan akses tak terbatas ke pengguna dengan sudo

Jangan konfigurasikan sudo untuk mengizinkan pengguna beralih ke root atau akun lain. Sebagai gantinya, coba konfigurasikan sudo untuk mengizinkan pengguna menjalankan perintah tertentu sebagai pengguna yang mereka butuhkan untuk beroperasi.

Misalnya:Ada kebutuhan pengguna untuk menginstal perangkat lunak. Biarkan mereka hanya menjalankan RPM atau APT atau YUM sebagai root tanpa beralih ke pengguna root seperti yang ditunjukkan di bawah ini:

peter ALL =(ALL) PASSWD : /usr/bin/apt-get, /usr/bin/yum, /bin/rpm

Ini akan memungkinkan peter untuk menjalankan sudo apt-get, sudo yum dan sudo rpm tanpa kata sandi apa pun tetapi tidak mengizinkan perintah lain!

2. Jangan berikan SEMUA hak akses root kepada pengguna sudo

Jangan gunakan SEMUA saat memberikan izin akses kepada pengguna sudo. Ini adalah salah satu kesalahan paling umum yang dilakukan admin. Hal ini memungkinkan pengguna untuk menggunakan perintah su untuk memberikan hak akses root permanen kepada diri mereka sendiri sehingga melewati fitur logging perintah sudo.

peter    ALL=(ALL:ALL) ALL

Cara yang lebih baik adalah dengan memberikan akses ke file program tertentu misalnya:Pengguna peter akan mendapatkan akses ke semua file program di direktori /sbin/ dan /usr/sbin, ditambah perintah /opt/Oracle/check.pl.

Catatan:Garis miring (/) diperlukan untuk menentukan lokasi direktori

peter ALL=(ALL) PASSWD: /sbin/, /usr/sbin, /opt/oracle/check.pl

3. Jangan berikan akses tanpa sandi tanpa batas ke hak akses root

Misalnya, anggap seorang penyusup mendapatkan akses ke akun pengguna, yang memiliki akses sudo tanpa kata sandi ke hak akses root. Dia bisa melakukan yang bahkan tidak bisa Anda pikirkan! Alih-alih memberikan akses ke pengguna untuk melakukan root hak istimewa dengan kata sandi (kata sandinya sendiri).

peter    ALL=(ALL) PASSWD:ALL

Ini akan memungkinkan pengguna peter untuk memasukkan kata sandi setiap kali dia menggunakan sudo untuk mendapatkan hak akses root.

4. Gunakan direktif include untuk konfigurasi sudo tertentu

Dalam lingkungan perusahaan besar, selalu lebih baik untuk menyimpan konfigurasi sudo tertentu berdasarkan aplikasi selain konfigurasi lokal. Misalnya:Jika Anda ingin menyertakan kumpulan arahan yang sama untuk mengelola Apache dan MySQL, Anda dapat memecahnya menjadi sudo.mysql yang terpisah file dan gunakan direktif include untuk memanggilnya dari file sudoers utama.

#include /etc/sudo.mysql

5. Berikan Sudo akses ke Grup daripada pengguna individu

Misalnya:Memiliki grup admin yang memiliki hak administratif yang mengelola instalasi dan pembaruan ke paket. Dengan cara ini, tidak perlu mengedit file sudoers setiap kali Anda menambahkan/menghapus pengguna baru. Cukup pastikan bahwa pengguna dikelola dengan tepat dan ditambahkan/dihapus dari grup admin.

%admin ALL=(ALL) ALL

Ini akan memungkinkan orang-orang dalam grup admin untuk menjalankan semua perintah.

6. Setel batas waktu yang sesuai untuk sudo

Sudo menggunakan fitur timestamp untuk mengetahui kapan perintah sudo terakhir dijalankan oleh pengguna. Selama periode waktu ini, pengguna dapat menjalankan kembali perintah tanpa diminta kata sandi (kata sandi pengguna sendiri). Secara default sudo mengingat kata sandi Anda selama 15 menit. Setelah kedaluwarsa, pengguna diminta kata sandi lagi untuk menjalankan kembali perintah. Jika Anda ingin mengubah nilai default, cukup masukkan entri di sudoers. Misalnya, untuk menyetel nilai batas waktu untuk semua pengguna pada perintah apa pun yang dijalankannya hingga 5 menit, Anda dapat menggunakan:

Defaults timestamp_timeout=x

di mana x adalah batas waktu kedaluwarsa dalam menit. Jika Anda menentukan 0(nol), Anda akan selalu ditanyai kata sandinya. Jika Anda menentukan nilai negatif, batas waktu tidak akan pernah kedaluwarsa. Misalnya. Default timestamp_timeout=5

Jika Anda perlu mengatur untuk pengguna tertentu (peter) maka cukup masukkan entri di bawah ini dalam file sudoers:

Defaults:peter timestamp_timeout=5

Fitur ini tidak akan berfungsi jika Anda memiliki NOPASSWD di entri pengguna di sudoers.

7. Kunci jalur untuk binari menggunakan arahan secure_path di sudo

Praktik yang baik adalah mengunci pengguna ke area tertentu, sehingga memastikan bahwa pengguna tidak dapat menjalankan perintah di luar secure_path. Gunakan arahan berikut di sudoers, tentukan secure_path :

Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

8. Catat setiap aktivitas sudo ke file terpisah

Secara default, perintah sudo masuk ke file log bersama dengan pesan sistem lainnya. Ini tidak dapat diterima untuk server karena akan ada sejumlah pengguna. Konfigurasikan sudo sehingga memiliki file log sendiri untuk memudahkan visibilitas penggunaan sudo dan aktivitas sudoers. Tentu saja, ini juga membantu mengawasi peristiwa sudo yang gagal.

Defaults logfile=/var/log/sudo.log

Jika Anda memiliki lebih banyak, silakan tambahkan di komentar di bawah.

Baca Juga : Mengamankan Server Web Anda – 50 Praktik Terbaik Untuk Diikuti


Linux
  1. Status pengguna dan pemantauan aktivitas di Linux dengan GNU acct

  2. Daftar Pengguna di Linux - Metode terbaik

  3. Menginstal dan mengatur Grafana di linux

  1. Cara Bekerja Dengan Pengguna Dan Grup Di Linux

  2. Cara Membuat Pengguna Sudo di Rocky Linux dan CentOS

  3. 11 Perangkat Lunak CAD Terbaik untuk Linux

  1. Cara Membuat Pengguna Sudo di Rocky Linux 8

  2. Tambahkan pengguna Linux dengan izin root dokumen

  3. Praktik terbaik keamanan server Linux