LFCA Cara Meningkatkan Keamanan Sistem Linux - Bagian 20

LFCA Cara Meningkatkan Keamanan Sistem Linux - Bagian 20

Seperti yang kita semua tahu, pengguna root adalah King dan menggunakan hak istimewa tanpa batas atas sistem Linux. Namun pengguna non-root terbatas pada tugas dasar. Selain itu, pengguna sudo hanya diberikan tingkat hak istimewa root tertentu yang dianggap sesuai dengan pengguna root untuk melakukan tugas yang ditinggikan spesifik.

Masalah muncul ketika pengguna reguler memiliki akses yang tidak terkendali ke sumber daya atau ditingkatkan menjadi root secara tidak sengaja. Ini adalah risiko keamanan yang serius yang dapat menyebabkan pelanggaran, modifikasi yang tidak diinginkan, dan dalam skenario terburuk, menabrak sistem. Risiko potensial lainnya adalah ketika file memiliki izin file yang kurang aman. Misalnya, file boot dengan izin tulis untuk pengguna global dapat dengan mudah dimodifikasi atau rusak yang mengakibatkan sistem yang rusak.

[Anda mungkin juga suka: tips berguna untuk mengamankan data dan linux]

Meskipun kami dapat mengimplementasikan keamanan fisik, jaringan, dan data, pengguna jahat dapat menghindari langkah -langkah keamanan dan memanfaatkan celah keamanan tersebut. Karena alasan inilah keamanan sistem file harus ditanggapi dengan serius. Ini memberikan lapisan pertahanan tambahan dalam menghadapi serangan atau ancaman orang dalam dari karyawan jahat yang tidak harus melakukan pengangkatan berat dalam menghindari langkah -langkah keamanan untuk mengakses file.

Dalam keamanan sistem, kami akan berkonsentrasi pada poin -poin penting berikut:

  • Hak Akses - Izin Pengguna dan Grup.
  • Menegakkan kebijakan kata sandi dengan modul PAM.

Hak Akses - Pemisahan Pengguna dan Grup

Anda mungkin pernah mendengar bahwa segala sesuatu di Linux dianggap sebagai file. Dan jika tidak, itu adalah proses. Setiap file pada sistem Linux dimiliki oleh pengguna dan pengguna grup. Ini juga memiliki izin file untuk 3 kategori pengguna: pengguna (u), Grup (G), dan lain-lain (Hai). Izin diwakili dalam baca, tulis dan jalankan ( rwx ) untuk setiap kategori pengguna.

rwx rwx rwx grup pengguna 

Seperti yang terlihat sebelumnya, di bagian dasar Linux, Anda dapat melihat izin file menggunakan format panjang dari perintah LS seperti yang ditunjukkan.

$ ls -l 
Mendaftarkan file di linux

Hanya untuk rekap, izin biasanya diwakili oleh sembilan karakter. Tiga karakter pertama mewakili hak akses dari pengguna aktual yang memiliki file tersebut. Set karakter kedua mewakili izin pemilik grup file. Akhirnya, set terakhir untuk pengguna lain atau global. Karakter -karakter ini terus -menerus di membaca, menulis, menjalankan (rwx) memesan.

Setelah izin, kami memiliki kepemilikan pengguna dan grup, diikuti oleh file atau ukuran direktori, tanggal modifikasi, dan terakhir nama file tersebut.

Mengubah izin file/direktori dan kepemilikan

Izin pengguna file dan direktori dapat dimodifikasi sebagai yang dianggap sesuai. Aturan praktisnya adalah menggunakan prinsip keamanan paling hak istimewa. Sederhananya, pastikan pengguna mendapatkan hak akses minimum atau izin yang diperlukan untuk menyelesaikan pekerjaan.

Prinsip hak istimewa paling tidak membatasi pengguna hanya pada peran tertentu dan dengan melakukan itu, meminimalkan risiko penyerang mengakses dan memodifikasi data penting dengan memanfaatkan akun pengguna level rendah. Ini juga mengurangi permukaan serangan & membatasi perambatan malware jika penyerang mengambil kendali sistem Anda.

Oleh karena itu, jika pengguna hanya perlu melihat konten file atau direktori, mereka tidak boleh diberikan menjalankan atau menulis izin. Di tingkat yang sangat dasar, hanya memberikan izin dan kepemilikan paling sedikit yang diperlukan oleh pengguna untuk menyelesaikan tugas. Kami telah menangani cara memodifikasi izin pengguna dan kepemilikan pada file/direktori menggunakan perintah chmod dan chown dalam topik perintah linux dasar.

Mode izin bit lengket

Agar administrator sistem memiliki izin mengelola waktu yang lebih mudah, izin khusus atau hak akses dapat diberikan ke seluruh direktori. Salah satu izin khusus yang dapat diterapkan untuk membatasi penghapusan dan modifikasi file atau direktori adalah bit lengket.

Bit lengket

Dalam skenario di mana direktori bersama dapat diakses oleh semua pengguna dalam sistem atau jaringan, ada risiko potensial yang dapat dihapus beberapa pengguna atau memodifikasi file di dalam direktori. Ini tidak diinginkan jika Anda ingin mempertahankan integritas konten direktori. Dan di sinilah bit lengket masuk.

Bit lengket adalah izin file khusus yang ditetapkan pada file atau seluruh direktori. Ini hanya memberi pemilik file/direktori tersebut izin untuk menghapus atau membuat perubahan pada file atau konten direktori. Tidak ada pengguna lain yang dapat menghapus atau memodifikasi file/direktori. Itu memiliki nilai simbolis T dan nilai numerik 1000.

Untuk menyalakan bit lengket pada direktori, gunakan perintah chmod sebagai berikut:

$ chmod +t directory_name 

Dalam contoh di bawah ini, kami telah menerapkan bit lengket ke direktori yang disebut tes. Dalam kasus direktori, semua isinya akan mewarisi izin bit lengket. Anda dapat memverifikasi izin bit lengket menggunakan ls -ld memerintah. Pastikan untuk memperhatikan T Simbol di akhir izin file.

tes $ ls -ld 
Atur bit lengket di linux

Jika pengguna lain mencoba menghapus direktori atau memodifikasi file di dalam direktori, mereka disambut dengan a Izin ditolak kesalahan.

Izin bit lengket ditolak

Dan itulah inti izin file bit stick.

Memantau Izin Suid & SGID

Itu Suid (Atur ID Pengguna) adalah izin file khusus lain yang memungkinkan pengguna reguler lain untuk menjalankan file dengan izin file dari pemilik file. Biasanya dilambangkan dengan nilai simbolis S di bagian Pengguna izin file alih -alih X yang mewakili izin mengeksekusi. Suid memiliki nilai numerik 4000.

Itu SGID, (Setel ID grup) memungkinkan pengguna reguler untuk mewarisi izin grup dari pemilik grup file. Bukan X Untuk mengeksekusi izin, Anda akan melihat S di bagian grup dari izin file. Itu SGID memiliki nilai numerik 2000.

Betapapun nyamannya mereka, Suid Dan SGID Izin dikaitkan dengan risiko keamanan dan harus dihindari di semua biaya. Ini karena mereka memberikan hak istimewa khusus kepada pengguna biasa. Jika penyusup yang menyamar sebagai pengguna biasa menemukan file yang dapat dieksekusi yang dimiliki oleh pengguna root dengan a Suid Bit diatur di atasnya, mereka dapat menggunakan celah itu dan mengeksploitasi sistem.

Untuk menemukan semua file dengan Suid bit set di linux jalankan perintah temukan sebagai pengguna root.

$ find / -perm -4000 type -f 

Untuk direktori lari:

$ find / -perm -4000 type -d 

Untuk menemukan semua file dengan SGID Bit Set Run:

$ find / -perm -2000 type -f 

Untuk direktori eksekusi:

$ find / -perm -2000 type -d 

Untuk menghapus Suid Bit pada file, jalankan perintah chmod seperti yang ditunjukkan:

$ chmod u-s/path/to/file 

Untuk menghapus bit SGID pada file, jalankan perintah:

$ chmod G-S FileName/path/to/file 

Menegakkan kebijakan kata sandi dengan modul PAM

Tidak jarang pengguna mengatur kata sandi yang lemah. Angka yang baik mengatur kata sandi pendek, sederhana, dan mudah ditebak untuk menghindari melupakannya selama login. Meskipun nyaman, kata sandi yang lemah dapat dengan mudah dilanggar menggunakan skrip serangan brute-force.

Itu Pam modul ( Modul Otentikasi Pluggable ) adalah modul yang memungkinkan administrator sistem untuk menegakkan kebijakan kata sandi pada sistem Linux. Untuk mencapai ini, Anda membutuhkan Pam_pwquality modul yang disediakan oleh libpam_pwquality perpustakaan. Itu Pam_pwquality Modul Memeriksa Kekuatan Kata Sandi Terhadap Sekumpulan Aturan & Kamus Sistem dan Tepat Pilihan Kata Sandi yang Lemah.

Untuk menginstal Pam_pwquality modul di Ubuntu 18.04 Dan versi yang lebih baru, jalankan:

$ sudo apt instal libpam_pwquality 

Untuk RHEL / CENTOS 8, Jalankan perintah:

$ sudo dnf menginstal libpwquality 

File konfigurasi ditemukan di lokasi berikut:

  • Di Debian-Systems - /etc/pam.D/Common-Password
  • Pada sistem redhat - /etc/pam.D/System-Auth

Mengkonfigurasi Kebijakan Kata Sandi

Sebelum kita mulai memodifikasi Pam file konfigurasi, mari kita pertimbangkan untuk mengumpulkan wawasan tentang kontrol penuaan kata sandi.

Detail Penuaan Kata Sandi

Ini dapat ditemukan di /etc/login.def mengajukan.

File ini berisi kontrol kata sandi kunci berikut:

  • Pass_max_days: Jumlah hari maksimum Kata sandi dapat digunakan.
  • Pass_min_days: Angka minimum. hari yang diizinkan antara perubahan kata sandi.
  • Pass_warn_age: Jumlah hari peringatan yang diberikan sebelum kata sandi berakhir.

Nilai default ditunjukkan di bawah ini.

Penuaan Kata Sandi Linux

Itu Pass_max_days Atribut membatasi jumlah hari yang dapat digunakan pengguna. Ketika nilai ini tercapai atau kata sandi berakhir, pengguna dipaksa untuk mengubah kata sandi mereka untuk masuk ke sistem. Secara default, nilai ini diatur ke 99999, yang diterjemahkan ke 273 bertahun-tahun. Ini tidak masuk akal sejauh menyangkut keamanan karena pengguna dapat terus menggunakan kata sandi mereka selama seumur hidup mereka.

Anda dapat mengatur ini ke nilai yang bermakna, katakanlah 30 hari seperti yang ditunjukkan.

Pass_max_days 30 

Setelah 30 hari berlalu, pengguna akan dipaksa untuk mengubah kata sandi mereka menjadi yang berbeda.

Itu Pass_min_days Atribut mengeja durasi minimum bahwa pengguna dapat menggunakan kata sandi mereka sebelum mengubahnya. Apa artinya ini? Jika, misalnya, nilai ini diatur ke 15 hari, pengguna tidak akan dapat mengubah kata sandi mereka lagi sebelum 15 hari berlalu.

Pass_max_days 15 

Itu Pass_warn_age Atribut Menentukan jumlah hari pengguna akan mendapatkan peringatan tentang berakhirnya kata sandi mereka sebelum berakhir. Misalnya, Anda dapat mengatur ini menjadi 7 hari seperti yang ditunjukkan.

Pass_max_days 7 

CATATAN: Kontrol kata sandi ini tidak berfungsi dengan akun yang sudah ada sebelumnya. Mereka hanya diterapkan pada akun baru yang dibuat setelah mendefinisikan aturan.

Mengatur Kompleksitas Kata Sandi dengan Modul Pam

Sebelum Anda mengedit /etc/pam.D/Common-Password file, buat salinan cadangan. Dalam contoh ini, kami telah membuat kata-kata-common.Bak file salinan cadangan.

$ sudo cp /etc /pam.D/Common-Password/etc/Pam.D/Common-Password.Bak 

Kemudian buka file.

$ sudo vim /etc /pam.D/Common-Password 

Temukan garis yang ditunjukkan di bawah ini.

Kata sandi yang diperlukan PAM_PWQUALTY.jadi coba lagi = 3 
Mengatur Kompleksitas Kata Sandi Dengan Pam

Itu mencoba kembali Opsi mengatur jumlah maksimum kali Anda diharuskan memasukkan kata sandi yang tepat sebelum mendapatkan kesalahan. Secara default, ini diatur ke 3. Ini hanya satu opsi dan kami akan menyertakan beberapa opsi.

Tambahkan atribut berikut ke baris:

Minlen = 10 DIFOK = 3 lcredit = -1 UCREDIT = -1 DCREDIT = -1 OCREDIT = -1 REDIR_USERNAME 

Mari kita menyempurnakan atribut ini.

  • Minlen = 10: Mengatur ukuran minimum yang dapat diterima untuk kata sandi. Dalam hal ini, 10 karakter.
  • DIFOK = 3: Ini adalah jumlah maksimum karakter yang ada di kata sandi sebelumnya.
  • lcredit = -1: Ini adalah jumlah minimum karakter huruf kecil yang harus ada dalam kata sandi.
  • ucredit = -1: Adalah jumlah maksimum karakter huruf kecil yang harus ada dalam kata sandi.
  • DCREDIT = -1: Jumlah minimum karakter numerik yang harus didefinisikan dalam kata sandi.
  • ocredit = -1: Jumlah minimum karakter khusus e.g @, #, & itu harus ditentukan dalam kata sandi.
  • tolak_username: Opsi ini memicu penolakan kata sandi jika kata sandi adalah nama pengguna baik dalam format lurus atau terbalik.

Jika Anda mencoba membuat pengguna baru yang kurang dari kebijakan kata sandi, Anda akan menabrak kesalahan seperti yang ditunjukkan.

Buat pengguna baru di Linux
Ringkasan

Ini menyimpulkan topik tentang keamanan sistem dan dasar keamanan secara umum. Di seluruh bab, kami telah menjelaskan langkah -langkah keamanan dasar yang dapat Anda terapkan untuk melindungi sistem Linux Anda dari pengguna jahat seperti peretas atau karyawan yang tidak puas.

Menjadi Linux Foundation Certified IT Associate (LFCA)