Ingin meningkatkan sistem keamanan Linux Anda dari berbagai ancaman yang disebabkan oleh akun pengguna yang tidak terlindungi? Berikut adalah beberapa tips bermanfaat untuk memulai.
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 Linux 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 meningkatkan dan 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.
Topik Bahasan
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
Untuk memberikan sudo atau izin root ke akun pengguna Linux biasa, tambahkan pengguna ke grup sudo sebagai berikut:
usermod -aG sudo username
Sekarang beralih ke akun pengguna menggunakan perintah su dan verifikasi hak akses root dengan mengeluarkan perintah yang hanya dapat diakses oleh pengguna root:
su - username
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 file /var/log/secure.
- Selain itu, Anda dapat mengedit file /etc/sudoers untuk membatasi izin superuser 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 no :
PermitRootLogin no
Simpan file dan mulai ulang layanan sshd dengan mengetik:
sudo systemctl restart sshd
Sekarang, setiap kali Anda mencoba SSH ke dalam sistem sebagai pengguna root, Anda akan menerima pesan kesalahan berikut:
Permission denied, please try again.
2. Tetapkan Tanggal Kedaluwarsa pada 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.
Gunakan perintah chage dengan utilitas grep untuk mengambil detail kedaluwarsa akun untuk pengguna:
chage -l username| grep account
Keluaran:
Account expires : never
Seperti yang ditunjukkan di atas, itu tidak menghasilkan tanggal kedaluwarsa. Sekarang gunakan perintah usermod dengan tanda -e untuk mengatur tanggal kedaluwarsa dalam format YYYY-MM-DD dan verifikasi perubahan menggunakan perintah chage di atas.
usermod -e 2021-01-25 username
chage -l username| grep account
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 untuk dengan mudah membobol sistem Anda melalui serangan brute-force, dictionary, atau rainbow table.
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 dalam file /etc/ logins.defs yang memungkinkan Anda untuk mengatur penuaan kata sandi akun. Gunakan perintah chage dan ambil detail kedaluwarsa kata sandi sebagai berikut:
chage -l username | grep days
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 perintah chage untuk mengatur PASS_MAX_DAYS, PASS_MIN_DAYS, dan PASS_WARN_AGE menjadi 40, 5, dan 7.
chage -M 40 -m 5 -W 7 username
Hash Kata Sandi
Cara lain untuk memperkuat keamanan kata sandi akun adalah dengan menyimpan hash kata sandi di dalam 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 untuk masuk, sistem menghasilkan hashnya dan memeriksa silangnya dengan yang disimpan di file /etc/passwd.
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 file /etc/shadow dengan serangkaian 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 perintah pwconv, sehingga secara otomatis akan menyimpan hash kata sandi ke file /etc/shadow. Demikian pula, Anda dapat mengaktifkan metode lain (/etc/passwd file) menggunakan perintah pwunconv.
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:
find / -user username
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 username
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 -a username ssh_gp
groups username
Sekarang, buka file konfigurasi utama OpenSSL untuk menyertakan 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
![Meningkatkan Keamanan Linux](https://www.centerklik.com/wp-content/uploads/2019/09/Alasan-menggunakan-OS-Linux.jpg)
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 signifikan terhadap keseluruhan infrastruktur.
Mengingat pentingnya pengaturan, mengelola dan mengamankan akun pengguna merupakan tantangan mendasar yang dihadapi oleh administrator Linux. Artikel ini telah mencantumkan beberapa langkah dalam meningkatkan keamanan pada sistem Linux yang harus dilakukan administrator akun untuk melindungi sistem dari potensi ancaman karena akun pengguna yang tidak terlindungi.