Keamanan adalah pertimbangan penting untuk setiap server yang Anda luncurkan ke lingkungan produksi. Versi terbaru dari Rocky Linux 8 hadir dengan fitur keamanan yang tangguh. Namun, tidak semuanya aktif atau dikonfigurasi dengan benar secara default, sehingga penginstalan baru selalu rentan terhadap peretasan dan serangan penyusupan.
Dalam panduan ini, kita akan melihat beberapa tugas penting yang harus dilakukan di server untuk penyiapan awal dan hardening server dasar.
Prasyarat
- Server Rocky Linux 8 baru di Atlantic.Net Cloud Platform
- Kata sandi root yang dikonfigurasi di server Anda
Langkah 1 – Perbarui Server Anda
Sebelum memulai, masuk ke server Rocky Linux 8 Anda melalui SSH atau Konsol VNC yang terletak di sini:https://cloud.atlantic.net/
Setelah login, Anda perlu menginstal patch keamanan terbaru dan pembaruan ke server Anda. Jalankan perintah berikut untuk memperbaruinya.
dnf update -y
Server Atlantic.Net diatur sebagai instalasi minimal untuk menghindari paket yang tidak perlu diinstal dan dibiarkan tidak digunakan. Anda dapat menginstal beberapa paket perangkat lunak dasar dengan menjalankan perintah berikut:
dnf install wget git curl bind-utils tree net-tools -y
Langkah 2 – Ubah Kata Sandi Root Default
Saat Anda meluncurkan server baru, server Anda secara otomatis disetel dengan kata sandi yang aman. Namun, disarankan untuk mengubah kata sandi root Anda setiap 60-90 hari setelahnya untuk memastikannya tetap aman. Anda harus membuat kata sandi root dengan minimal 8 karakter, termasuk karakter huruf kecil, karakter huruf besar, dan angka.
Anda dapat mengubah kata sandi root menggunakan perintah berikut:
passwd root
Langkah 3 – Buat Pengguna Baru dengan Hak Istimewa Sudo
Pertama, buat pengguna baru dengan perintah berikut:
adduser user1
Selanjutnya, atur kata sandi user1 menggunakan perintah berikut:
passwd user1
Setelah membuat pengguna baru, Anda perlu menambahkan pengguna ini ke grup roda sudo. Di Rocky Linux 8, setelah Anda menambahkannya ke grup roda sudo, mereka secara otomatis diberi izin sudo/root.
Jalankan perintah berikut untuk menambahkan pengguna ke grup roda sudo.
usermod -aG wheel user1
Setelah Anda membuat pengguna dengan izin sudo/root, masuk ke user1 dengan perintah berikut:
su - user1
Setelah Anda masuk, jalankan perintah berikut menggunakan sudo:
sudo dnf update -y
Anda akan diminta untuk memberikan kata sandi pengguna1 untuk memperbarui sistem Anda.
Ini akan mengonfirmasi bahwa pengguna sudo Anda berfungsi seperti yang diharapkan.
Langkah 4 – Nonaktifkan Login Root Melalui SSH
Kami telah membuat pengguna admin dengan izin sudo/root untuk melakukan semua tugas. Anda tidak perlu membuat pengguna root tetap tersedia dan rentan terhadap SSH di server Anda, jadi Anda harus menonaktifkan login root melalui SSH.
Edit file konfigurasi utama SSH dengan perintah berikut:
sudo nano /etc/ssh/sshd_config
Temukan baris berikut:
PermitRootLogin yes
Ubah ke baris berikut:
PermitRootLogin no
Simpan dan tutup file, lalu mulai ulang layanan SSH untuk menerapkan perubahan:
systemctl restart sshd
Langkah 5 – Ubah Port Default SSH
Untuk mengubah port SSH, edit file konfigurasi utama SSH:
sudo nano /etc/ssh/sshd_config
Temukan baris berikut:
#Port 22
Ubah ke baris berikut:
Port 2020
Simpan dan tutup file, lalu mulai ulang layanan SSH untuk menerapkan perubahan:
systemctl restart sshd
Anda sekarang dapat masuk ke server Atlantik Anda dari jarak jauh melalui SSH menggunakan perintah berikut:
ssh [email protected] -p 2020
Langkah 6 – Konfigurasi Firewall
firewall-cmd --state
Anda akan melihat bahwa firewall tidak berjalan:
not running
Disarankan untuk mengaktifkan firewall dan mengizinkan port yang diperlukan untuk akses eksternal.
Pertama, aktifkan layanan firewalld dengan perintah berikut:
systemctl start firewalld systemctl enable firewalld
Selanjutnya, izinkan port SSH 2020 melalui firewall dengan perintah berikut:
sudo firewall-cmd --permanent --add-port=2020/tcp
Selanjutnya, muat ulang layanan firewalld untuk menerapkan perubahan:
sudo firewall-cmd --reload
Anda sekarang dapat memverifikasi port yang ditambahkan dengan perintah berikut:
sudo firewall-cmd --list-ports
Anda akan melihat output berikut:
2020/tcp
Jika Anda memiliki server web yang terinstal dan berjalan di server Anda, Anda mungkin perlu mengizinkan layanan HTTP dan HTTPS melalui firewall untuk mengaksesnya melalui Internet.
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https
Untuk mengizinkan layanan POP3, IMAP, dan SMTP untuk akses eksternal, jalankan perintah berikut:
sudo firewall-cmd --permanent --add-service=pop3s sudo firewall-cmd --permanent --add-service=imaps sudo firewall-cmd --permanent --add-service=smtp
Langkah 7 – Instal NTP untuk Sinkronisasi Waktu
Disarankan juga untuk memasang server NTP untuk menyinkronkan waktu dan tanggal komputer melalui jaringan agar tetap akurat dan mutakhir.
Pertama, instal server NTP menggunakan perintah berikut:
sudo dnf install chrony -y
Setelah layanan NTP terinstal, mulai dan aktifkan untuk memulai saat reboot sistem:
sudo systemctl start chronyd sudo systemctl enable chronyd
Sekarang, server NTP Anda telah terinstal dan akan terus memperbarui waktu server dari server NTP.
Langkah 8 – Nonaktifkan IPv6
Jika Anda tidak menggunakan IPv6, disarankan untuk menonaktifkannya demi alasan keamanan.
Pertama, periksa apakah IPv6 diaktifkan pada instalasi Rocky Linux 8 Anda menggunakan perintah berikut:
ip a | grep inet6
Anda akan melihat baris berikut jika IPv6 diaktifkan:
inet6 ::1/128 scope host inet6 fe80::200:d8ff:fe62:817/64 scope link inet6 fe80::200:aff:fe62:817/64 scope link
Anda perlu membuat file konfigurasi baru untuk menonaktifkan IPv6:
sudo nano /etc/sysctl.d/70-ipv6.conf
Tambahkan baris berikut:
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1
Simpan dan tutup file, lalu muat ulang file konfigurasi dengan perintah berikut:
sudo sysctl --load /etc/sysctl.d/70-ipv6.conf
Anda akan melihat output berikut:
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1
Untuk memverifikasi IPv6 dinonaktifkan, jalankan perintah berikut:
ip a | grep inet6
Jika perintah tidak mengembalikan apa pun, Anda telah mengonfirmasi bahwa IPv6 telah dinonaktifkan di semua antarmuka jaringan Anda.
Langkah 9 – Buat Ruang Tukar
Swap adalah ruang pada disk yang digunakan ketika jumlah memori RAM fisik penuh. Saat server Anda kehabisan RAM, semua halaman yang tidak aktif dipindahkan dari RAM ke ruang swap.
Saat Anda meluncurkan instance baru di Atlantic.Net, itu tidak membuat partisi swap. Anda perlu membuat ruang swap secara manual setelah meluncurkan instance baru.
Umumnya, ruang swap harus setengah dari RAM Anda yang ada. Jika Anda memiliki Ram sebesar 1GB, maka Anda perlu membuat file 512MB.
Pertama, buat ruang swap (sebesar 512MB) dengan perintah berikut:
sudo dd if=/dev/zero of=/swapfile bs=1024 count=524288
Keluaran:
524288+0 records in 524288+0 records out 536870912 bytes (537 MB, 512 MiB) copied, 10.3523 s, 51.9 MB/s
Anda dapat menghitung ukuran blok menggunakan rumus 1024 x 512MB =524288.
Setelah membuat ruang Swap, format dengan perintah berikut:
sudo mkswap /swapfile
Keluaran:
mkswap: /swapfile: insecure permissions 0644, 0600 suggested. Setting up swapspace version 1, size = 512 MiB (536866816 bytes) no label, UUID=8981408a-549d-47aa-a99a-72870b65212d
Selanjutnya, atur izin yang tepat pada /swapfile dengan perintah berikut:
sudo chown root:root /swapfile sudo chmod 0600 /swapfile
Selanjutnya, aktifkan ruang Swap menggunakan perintah berikut:
sudo swapon /swapfile
Selanjutnya, verifikasi ruang Swap menggunakan perintah berikut:
swapon -s
Keluaran:
Filename Type Size Used Priority /swapfile file 524284 0 -2
Selanjutnya, Anda perlu menambahkan entri file Swap ke /etc/fstab untuk membuatnya aktif bahkan setelah reboot.
nano /etc/fstab
Tambahkan baris berikut:
/swapfile swap swap defaults 0 0
Simpan dan tutup file, lalu verifikasi ruang Swap menggunakan perintah berikut:
free -m
Anda akan melihat output berikut:
total used free shared buff/cache available Mem: 1817 263 100 68 1452 1329 Swap: 511 0 511
Kesimpulan
Dalam panduan di atas, kami menjelaskan beberapa langkah dasar untuk mengamankan server Rocky Linux 8 Anda. Sekarang Anda dapat melanjutkan untuk meng-host aplikasi apa pun di lingkungan yang aman – coba di akun hosting VPS Anda dari Atlantic.Net!