+62 815-4110-8598
Keamanan server Linux merupakan aspek penting yang harus diperhatikan oleh setiap administrator sistem. Dengan mengikuti langkah-langkah dasar yang dijelaskan dalam artikel ini, Anda dapat meningkatkan keamanan server Linux Anda secara signifikan. Meskipun artikel ini berfokus pada distribusi Debian/Ubuntu, langkah-langkah ini juga dapat diterapkan pada distribusi Linux lainnya.
1. Perbarui server Anda
Menjaga server Anda tetap up-to-date adalah langkah krusial dalam menjaga keamanan sistem. Langkah pertama yang harus dilakukan adalah memperbarui repositori lokal, yang berisi daftar paket perangkat lunak terbaru yang tersedia untuk sistem Anda. Setelah repositori diperbarui, langkah selanjutnya adalah meningkatkan sistem operasi serta aplikasi yang terinstal ke versi terbaru mereka dengan menerapkan patch dan pembaruan keamanan terbaru.
Pada sistem berbasis Debian seperti Ubuntu, Anda dapat melakukan pembaruan dengan menjalankan perintah sudo apt update
untuk memperbarui repositori, diikuti dengan sudo apt upgrade -y
untuk meningkatkan paket yang terinstal. Sementara itu, pada sistem berbasis Red Hat seperti Fedora, CentOS, atau RHEL, Anda cukup menjalankan perintah sudo dnf upgrade
untuk melakukan kedua tugas tersebut sekaligus.
2. Buat akun pengguna baru dengan hak istimewa
Untuk meningkatkan keamanan server, sangat penting untuk tidak masuk sebagai pengguna root secara langsung. Sebagai gantinya, buatlah akun pengguna baru yang akan Anda gunakan untuk masuk ke server. Akun pengguna baru ini harus diberi hak istimewa sudo, yang memungkinkan Anda menjalankan perintah dengan hak akses root saat diperlukan.
Untuk membuat pengguna baru, gunakan perintah:
adduser <username>
Ganti <username>
dengan nama pengguna yang Anda inginkan.
Setelah akun pengguna baru dibuat, berikan hak sudo ke akun tersebut dengan menjalankan perintah:
usermod -a -G sudo <username>
Perintah ini akan menambahkan pengguna baru ke grup sudo, yang memberikan mereka hak untuk menjalankan perintah dengan hak akses root menggunakan perintah sudo.
3. Unggah kunci SSH Anda
Untuk meningkatkan keamanan saat masuk ke server, sangat disarankan untuk menggunakan kunci SSH alih-alih kata sandi. Dengan menggunakan kunci SSH, Anda dapat mengotentikasi diri Anda ke server tanpa harus mengirimkan kata sandi melalui jaringan. Jika Anda sudah memiliki sepasang kunci SSH (kunci publik dan kunci pribadi), Anda dapat mengunggah kunci publik Anda ke server menggunakan perintah:
ssh-copy-id <username>@ip_address
Ganti <username>
dengan nama pengguna yang Anda buat sebelumnya dan ip_address
dengan alamat IP server Anda.
Setelah kunci publik Anda diunggah, Anda akan dapat masuk ke server tanpa harus memasukkan kata sandi. Sebagai gantinya, kunci pribadi SSH Anda akan digunakan untuk mengotentikasi Anda secara otomatis. Pastikan untuk menyimpan kunci pribadi Anda dengan aman dan jangan bagikan dengan siapa pun, karena siapa pun yang memiliki akses ke kunci pribadi Anda akan dapat masuk ke server.
4. Amankan SSH
Setelah mengatur akses SSH menggunakan kunci, penting untuk mengamankan konfigurasi SSH lebih lanjut. Langkah pertama adalah mengedit file konfigurasi SSH yang terletak di /etc/ssh/sshd_config
. Dalam file ini, Anda harus menonaktifkan autentikasi kata sandi SSH dengan mengubah baris PasswordAuthentication yes
menjadi PasswordAuthentication no
, yang akan memaksa semua pengguna untuk masuk menggunakan kunci SSH. Selain itu, Anda juga harus membatasi akses masuk jarak jauh sebagai pengguna root dengan mengubah baris PermitRootLogin yes
menjadi PermitRootLogin no
.
Langkah keamanan tambahan yang dapat Anda lakukan adalah membatasi akses SSH ke protokol IPv4 atau IPv6, tergantung pada kebutuhan Anda. Untuk melakukan ini, temukan baris AddressFamily
dalam file konfigurasi SSH dan ubah nilainya menjadi inet
untuk IPv4 atau inet6
untuk IPv6. Setelah melakukan perubahan ini, simpan file konfigurasi dan restart layanan SSH untuk menerapkan perubahan.
Pada sistem Ubuntu, gunakan perintah berikut untuk merestart layanan SSH:
sudo service sshd restart
Sementara itu, pada sistem berbasis Red Hat seperti Fedora, CentOS, atau sistem yang menggunakan Systemd, gunakan perintah berikut:
sudo systemctl restart sshd
5. Aktifkan firewall
Firewall adalah komponen penting dalam menjaga keamanan server Anda. Uncomplicated Firewall (UFW) adalah firewall yang mudah digunakan dan tersedia secara default di banyak distribusi Linux. Untuk menginstal UFW pada sistem berbasis Debian seperti Ubuntu, jalankan perintah berikut:
sudo apt install ufw
Setelah UFW terinstal, Anda perlu mengizinkan akses ke layanan yang diperlukan seperti SSH, HTTP, dan HTTPS. Gunakan perintah berikut untuk mengizinkan akses ke layanan-layanan tersebut:
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
Setelah mengizinkan akses ke layanan yang diperlukan, aktifkan UFW dengan perintah:
sudo ufw enable
Untuk memeriksa status UFW dan melihat daftar layanan yang diizinkan dan ditolak, gunakan perintah:
sudo ufw status
Jika suatu saat Anda perlu menonaktifkan UFW, gunakan perintah berikut:
sudo ufw disable
Namun, sangat disarankan untuk selalu menjaga firewall aktif kecuali jika benar-benar diperlukan untuk menonaktifkannya sementara waktu.
6. Instal Fail2ban
Fail2ban adalah alat keamanan yang berharga untuk melindungi server Anda dari serangan brute-force dan usaha pembobolan lainnya. Aplikasi ini bekerja dengan memonitor log sistem untuk aktivitas mencurigakan, seperti percobaan masuk yang berulang-ulang. Ketika Fail2ban mendeteksi aktivitas mencurigakan dari alamat IP tertentu, ia akan secara otomatis memblokir alamat IP tersebut menggunakan aturan firewall.
Untuk menginstal Fail2ban pada sistem berbasis Debian seperti Ubuntu, jalankan perintah berikut:sudo apt install fail2ban -y
Setelah instalasi selesai, Anda perlu menyalin file konfigurasi default Fail2ban ke file konfigurasi lokal agar perubahan yang Anda buat tidak tertimpa saat ada pembaruan paket. Gunakan perintah berikut untuk menyalin file konfigurasi:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Setelah menyalin file konfigurasi, restart layanan Fail2ban agar perubahan konfigurasi diterapkan:sudo service fail2ban restart
Untuk memeriksa status Fail2ban dan melihat daftar alamat IP yang saat ini diblokir oleh Fail2ban, gunakan perintah:sudo fail2ban-client status ssh
Perintah ini akan menampilkan informasi tentang penjara SSH, termasuk jumlah alamat IP yang saat ini diblokir.
7. Hapus layanan yang tidak digunakan
Layanan yang tidak diperlukan dan berjalan di server dapat meningkatkan risiko keamanan. Setiap layanan yang berjalan berpotensi menjadi vektor serangan jika terdapat kerentanan yang belum diperbaiki. Oleh karena itu, penting untuk mengidentifikasi dan menghapus layanan yang tidak digunakan di server Anda.
Untuk melihat daftar semua layanan jaringan yang sedang berjalan, gunakan perintah ss dengan opsi berikut:
sudo ss -atpu
Perintah ini akan menampilkan daftar semua koneksi TCP dan UDP yang sedang aktif beserta nama proses yang terkait. Periksa daftar ini dan identifikasi layanan yang tidak diperlukan atau tidak dikenal.
Setelah mengidentifikasi layanan yang tidak digunakan (<service_name>), Anda dapat menghapusnya menggunakan perintah berikut, tergantung pada sistem operasi yang Anda gunakan.
Pada sistem berbasis Debian seperti Ubuntu, gunakan perintah:
sudo apt purge <service_name>
Sementara itu, pada sistem Red Hat, CentOS, atau Fedora, gunakan perintah:
sudo yum remove <service_name>
Ganti <service_name> dengan nama paket layanan yang ingin Anda hapus. Setelah menghapus layanan yang tidak digunakan, restart server Anda untuk memastikan perubahan diterapkan.
Ingatlah untuk melakukan penelitian dan berhati-hati sebelum menghapus layanan apa pun, untuk memastikan Anda tidak menghapus komponen penting yang diperlukan oleh aplikasi atau sistem Anda.
Ingatlah bahwa langkah-langkah ini hanya merupakan dasar untuk mengamankan server Linux Anda. Tergantung pada penggunaan server, lapisan keamanan tambahan seperti konfigurasi aplikasi individual, perangkat lunak deteksi intrusi, dan kontrol akses seperti autentikasi dua faktor dapat diterapkan untuk meningkatkan keamanan server Anda lebih lanjut.