Langkah pertama dan paling penting untuk mengamankan server dan sistem Linux adalah mencegah pihak jahat dari akses yang tidak diperlukan. Kontrol akun pengguna yang tepat adalah salah satu dari banyak cara untuk meningkatkan keamanan sistem Anda.
Akun pengguna yang dikeraskan mencegah sistem dari metode serangan paling umum dari eskalasi hak istimewa horizontal atau vertikal. Oleh karena itu, sebagai administrator sistem Linux, Anda juga bertanggung jawab untuk melindungi server Anda melalui teknik keamanan yang efektif.
Artikel ini mencakup beberapa kontrol keamanan akun pengguna dasar untuk mencegah akses yang tidak perlu dan memperbaiki kemungkinan celah untuk kompromi sistem.
1. Batasi Akses Akun Root
Secara default, setiap instalasi sistem Linux membuat akun root yang dapat diakses oleh siapa saja dari luar melalui SSH. Namun, akses ke akun root melalui SSH atau akses banyak pengguna di dalam sistem dapat menyebabkan masalah penolakan.
Misalnya, penyerang dapat memaksa untuk masuk sebagai pengguna root dan mendapatkan akses ke sistem.
Untuk membatasi akses root yang tidak perlu dari dalam/luar sistem Linux, Anda dapat:
- Tambahkan pengguna lain dan berikan hak akses root untuk itu
- Nonaktifkan login root SSH
Buat Pengguna Super Baru
Ke berikan sudo atau izin root ke akun pengguna Linux biasa, tambahkan pengguna ke sudo kelompok sebagai berikut:
usermod -aG sudo nama pengguna
Sekarang beralih ke akun pengguna menggunakan perintah su dan verifikasi hak akses root dengan mengeluarkan perintah yang hanya dapat diakses oleh pengguna root:
su - nama pengguna
sudo systemctl restart sshd
Mengaktifkan izin sudo memberikan beberapa manfaat keamanan yang baik, seperti:
- Anda tidak perlu membagikan kata sandi root dengan pengguna biasa.
- Ini membantu Anda memeriksa semua perintah yang dijalankan oleh pengguna biasa, yang berarti menyimpan siapa, kapan, dan di mana rincian eksekusi perintah di /var/log/secure mengajukan.
- Selain itu, Anda dapat mengedit /etc/sudoers file untuk membatasi izin pengguna super dari pengguna biasa. Anda dapat menggunakan perintah su -l untuk memeriksa izin root pengguna saat ini.
Nonaktifkan Login SSH Root
Untuk menonaktifkan akses root SSH pada sistem Anda, pertama, buka file konfigurasi utama.
sudo vim /etc/ssh/sshd_config
Sekarang batalkan komentar pada baris berikut untuk mengatur izin login root ke tidak:
IzinRootLogin no
Simpan file dan mulai ulang sshd layanan dengan mengetik:
sudo systemctl restart sshd
Sekarang, setiap kali Anda mencoba SSH ke dalam sistem sebagai pengguna root, Anda akan menerima pesan kesalahan berikut:
Izin ditolak, silakan coba lagi.
2. Tetapkan Tanggal Kedaluwarsa di Akun
Cara efektif lain untuk mengontrol akses yang tidak perlu adalah dengan menetapkan tanggal kedaluwarsa pada akun yang dibuat untuk penggunaan sementara.
Misalnya, jika magang atau karyawan memerlukan akses ke sistem, Anda dapat mengatur tanggal kedaluwarsa selama pembuatan akun. Ini adalah tindakan pencegahan jika Anda lupa menghapus atau menghapus akun secara manual setelah mereka meninggalkan organisasi.
Menggunakan chage perintah dengan utilitas grep untuk mengambil detail kedaluwarsa akun untuk pengguna:
chage -l nama pengguna| akun grep
Keluaran:
Akun kedaluwarsa: tidak pernah
Seperti yang ditunjukkan di atas, itu tidak menghasilkan tanggal kedaluwarsa. Sekarang gunakan mod pengguna perintah dengan -e bendera untuk mengatur tanggal kedaluwarsa di YYYY-MM-DD format dan verifikasi perubahan menggunakan perintah chage di atas.
usermod -e 2021-01-25 nama pengguna
chage -l nama pengguna| akun grep
3. Tingkatkan Keamanan Kata Sandi Akun
Menegakkan kebijakan kata sandi yang kuat adalah aspek penting untuk mengamankan akun pengguna, karena kata sandi yang lemah memungkinkan penyerang dengan mudah membobol sistem Anda melalui paksaan, kamus, atau serangan tabel pelangi.
Memilih kata sandi yang mudah diingat mungkin menawarkan beberapa kemudahan, tetapi juga membuka peluang bagi penyerang untuk menebak kata sandi dengan bantuan alat dan daftar kata yang tersedia secara online.
Tetapkan Tanggal Kedaluwarsa Kata Sandi
Selain itu, Linux menawarkan beberapa opsi default di dalamnya /etc/logins.defs file yang memungkinkan Anda untuk mengatur penuaan kata sandi akun. Menggunakan chage perintah dan grep detail kedaluwarsa kata sandi sebagai berikut:
chage -l nama pengguna | hari-hari yang menyenangkan
Variabel | Nilai Default | Penggunaan | Nilai Ideal |
---|---|---|---|
LULUS_MAX_DAYS | 9999 | Jumlah hari default untuk menggunakan kata sandi yang bergantung pada jenis pengaturan akun Anda | 40 |
LULUS_MIN_DAYS | 0 | Mencegah pengguna mengubah kata sandi mereka segera | 5 |
LULUS_MIN_LEN | 5 | Memaksa pengguna untuk mengatur kata sandi dengan panjang tertentu | 15 |
PASS_WARN_AGE | 0 | Memperingatkan pengguna untuk mengubah kata sandi sebelum dipaksa melakukannya | 7 |
Untuk akun yang sedang digunakan, Anda dapat mengontrol penuaan kata sandi dengan bantuan chage perintah untuk menyetel PASS_MAX_DAYS, PASS_MIN_DAYS, dan PASS_WARN_AGE ke 40, 5, dan 7.
chage -M 40 -m 5 -W 7 nama pengguna
Hash Kata Sandi
Cara lain untuk memperkuat keamanan kata sandi akun adalah dengan menyimpan hash kata sandi di dalamnya file /etc/shadow. Hash adalah fungsi matematika satu arah yang menggunakan kata sandi sebagai input dan output string yang tidak dapat dibalik.
Sebelumnya, pada sistem Linux, setiap kali pengguna memasukkan kata sandi mereka untuk masuk, sistem menghasilkan hashnya dan memeriksa silangnya dengan yang disimpan di /etc/passwd mengajukan.
Namun, ada masalah dengan akses izin file passwd, yaitu, siapa pun yang memiliki akses sistem dapat membaca file dan memecahkan hash dengan tabel pelangi.
Oleh karena itu, Linux sekarang menyimpan hash di dalam /etc/shadow file dengan set izin akses berikut:
ls -l /etc/shadow
1 root root 1626 Jan 7 13:56 /etc/shadow
Anda masih dapat menginstal Linux dengan cara lama menyimpan hash. Anda dapat memodifikasinya dengan menjalankan pwconv perintah, sehingga secara otomatis akan menyimpan hash kata sandi ke /etc/shadow mengajukan. Demikian pula, Anda dapat mengaktifkan metode lain (/etc/passwd file) menggunakan pwunconv memerintah.
4. Hapus Akun Pengguna yang Tidak Digunakan
Aktor jahat dapat mengeksploitasi akun yang tidak digunakan dan kedaluwarsa dalam sistem, dengan memperbarui akun itu dan membuatnya tampak seperti pengguna yang sah. Untuk menghapus akun yang tidak aktif dan data terkait setiap kali pengguna meninggalkan organisasi, pertama, temukan semua file yang terkait dengan pengguna:
temukan / -nama pengguna pengguna
Kemudian, nonaktifkan akun atau tetapkan tanggal kedaluwarsa seperti yang dibahas di atas. Jangan lupa untuk mem-backup file-file milik pengguna. Anda dapat memilih untuk menetapkan file ke pemilik baru atau menghapusnya dari sistem.
Terakhir, hapus akun pengguna menggunakan perintah userdel.
userdel -f nama pengguna
5. Batasi Akses Jarak Jauh ke Grup Pengguna Tertentu
Jika Anda menghosting server web di mesin Linux Anda, Anda mungkin hanya perlu mengizinkan pengguna tertentu untuk melakukan remote SSH ke dalam sistem. OpenSSL memungkinkan Anda membatasi pengguna dengan memeriksa silang apakah mereka termasuk dalam grup tertentu.
Untuk itu, buat grup pengguna bernama ssh_gp, tambahkan pengguna yang ingin Anda berikan akses jarak jauh ke grup, dan daftarkan informasi grup pengguna sebagai berikut:
sudo groupadd ssh_gp
sudo gpasswd -nama pengguna ssh_gp
nama pengguna grup
Sekarang, buka file konfigurasi utama OpenSSL untuk memasukkan grup pengguna yang diizinkan ssh_gp.
sudo vim /etc/ssh/sshd_config
AllowGroups ssh_gp
Ingatlah untuk menghapus komentar pada baris untuk memastikan penyertaan grup yang berhasil. Setelah selesai, simpan dan keluar dari file dan mulai ulang layanan:
sudo systemctl restart sshd
Menjaga Keamanan Akun Pengguna di Linux
Saat ini, sebagian besar organisasi meng-host infrastruktur penting seperti server web, firewall, dan database di Linux, dan kompromi dari setiap komponen internal menimbulkan ancaman yang signifikan bagi keseluruhan infrastruktur.
Mengingat pentingnya pengaturan, mengelola dan mengamankan akun pengguna merupakan tantangan mendasar yang dihadapi oleh administrator Linux. Artikel ini telah mencantumkan beberapa langkah keamanan yang harus dilakukan administrator akun untuk melindungi sistem dari potensi ancaman karena akun pengguna yang tidak dilindungi.
Mengelola pengguna adalah tugas penting yang harus dikuasai oleh setiap administrator sistem Linux. Inilah panduan manajemen pengguna utama untuk Linux.
Baca Selanjutnya
- Linux
- Keamanan
- Kontrol Akun Pengguna
- Keamanan
- Tips Keamanan
Rumaisa adalah penulis lepas di MUO. Dia telah memakai banyak topi, dari Matematikawan hingga penggemar Keamanan Informasi, dan sekarang bekerja sebagai Analis SOC. Minatnya termasuk membaca dan menulis tentang teknologi baru, distribusi Linux, dan apa pun seputar Keamanan Informasi.
Berlangganan newsletter kami
Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!
Klik di sini untuk berlangganan