5 Tips Sederhana untuk Mengamankan Server Linux Anda

Server Linux adalah tulang punggung Internet modern. Saat ini, hampir setiap situs web dan layanan yang dapat Anda akses melalui browser web menggunakan distribusi Linux. Di sini kami menunjukkan kepada Anda bagaimana Anda dapat mengamankan server Linux Anda.

Catatan : tutorial ini dibuat menggunakan server Ubuntu, tetapi juga berlaku untuk distribusi Linux lainnya, termasuk server web lokal Anda.

1. Hapus Akses SSH Root

Salah satu cara tercepat untuk mengamankan server Ubuntu Anda adalah dengan mengamankan daemon SSH Anda dengan menonaktifkan akses Root SSH Anda. Secara default, server OpenSSH memungkinkan setiap koneksi masuk untuk masuk sebagai pengguna root.

Misalnya, menjalankan perintah berikut di server yang tidak aman akan memberikan prompt login:

ssh root @ insecure.server.ip.address

Ini bisa menjadi masalah, karena ini membuat server Anda terbuka dan rentan terhadap serangan brute force kata sandi. Untuk memperbaikinya, masuk ke server Linux Anda dan perbarui file konfigurasi daemon SSH Anda.

Setelah Anda berada di dalam server Linux Anda, edit file konfigurasi SSH:

sudo nano / etc / ssh / sshd_config

Cari variabel PermitRootLogin di GNU Nano dengan menekan Ctrl + W dan mengetik PermitRootLogin .

Ubah nilai PermitRootLogin dari “yes” menjadi “no”, lalu simpan file dengan menekan Ctrl + o , lalu Ctrl + x .

Untuk menerapkan pengaturan baru, muat ulang daemon SSH server melalui systemctl :

sudo systemctl restart ssh

2. Gunakan Pasangan Kunci Publik untuk Akses SSH

Cara cepat lain untuk mengamankan server Linux Anda adalah membuat pasangan kunci publik antara akun pengguna lokal dan SSH Anda. Pendekatan ini melewatkan proses login kata sandi dan secara otomatis mengautentikasi Anda ke server jarak jauh.

Untuk membuat pasangan kunci publik, Anda harus terlebih dahulu menjalankan perintah berikut di mesin lokal Anda:

ssh-keygen

Program keygen akan menanyakan sejumlah detail tentang key yang ingin dibuat. Anda dapat dengan aman meninggalkan opsi ini secara default dengan menekan Enter tiga kali.

Ekspor keypair publik baru Anda ke server jauh Anda dengan menggunakan program ssh-copy-id . Ini adalah utilitas sederhana yang menyiapkan mesin lokal dan jarak jauh untuk autentikasi kunci publik melalui SSH.

ssh-copy-id ramces @ my.server.ip.address

Masuk ke mesin jarak jauh Anda dengan menjalankan perintah berikut:

ssh ramces @ my.server.ip.address

Dimungkinkan juga untuk lebih mengamankan server Linux Anda dengan menghapus prompt login di SSH. Buka file konfigurasi daemon Anda dengan perintah berikut:

sudo nano / etc / ssh / sshd_config

Temukan variabel PasswordAuthentication dan ubah nilainya dari “ya” menjadi “tidak”.

Muat ulang daemon SSH Anda dengan menjalankan perintah berikut:

sudo systemctl restart sshd

3. Keraskan Firewall Server Linux Anda

Selain membatasi akses SSH, Anda juga dapat meningkatkan keamanan server Linux Anda dengan mengonfigurasi firewall Anda. Secara default, mesin Linux baru akan menerima semua koneksi masuk dari port manapun.

Ini bisa menjadi masalah, karena membuat server Anda rentan terhadap serangan pemindaian port. Misalnya, aktor jahat dapat memindai mesin Anda untuk menemukan port yang tidak aman dan menggunakannya untuk menemukan eksploit yang sesuai.

Salah satu cara untuk memperbaikinya adalah dengan menginstal ufw, klien firewall sederhana yang dapat mengontrol port dan alamat yang tersedia untuk dunia luar.

Jalankan perintah berikut untuk menginstal ufw di Ubuntu:

sudo tepat instal ufw

Tetapkan aturan default untuk ufw. Ini adalah kebijakan yang akan diikuti firewall Anda untuk setiap port yang tidak Anda sesuaikan. Merupakan praktik yang baik untuk memastikan bahwa Anda memblokir semua koneksi yang masuk:

sudo ufw default tolak masuk sudo ufw default izinkan keluar

Konfigurasikan firewall Anda untuk layanan yang ingin Anda jalankan di mesin Anda. Misalnya, menjalankan perintah berikut akan memungkinkan Anda masuk melalui SSH dan menghosting server web:

sudo ufw izinkan 22 sudo ufw izinkan 80 sudo ufw izinkan 443

Terakhir, Anda harus mengaktifkan konfigurasi firewall baru dengan menjalankan sudo ufw enable . Selanjutnya, Anda dapat memeriksa apakah firewall Anda online dengan menjalankan perintah ini:

sudo ufw

4. Buat Pengguna Baru untuk Setiap Layanan

Secara default, setiap file dan program di sistem Linux dimiliki oleh pengguna dan grup tertentu. Untuk memodifikasi sistem, Anda harus memiliki izin yang tepat untuk folder yang tepat.

Salah satu cara untuk meningkatkan keamanan server Linux Anda adalah membuat akun pengguna baru untuk setiap layanan baru. Pendekatan ini memungkinkan Anda untuk memuat hak istimewa untuk setiap layanan ke akun pengguna mereka sendiri.

Untuk melakukannya, jalankan perintah berikut:

sudo useradd -s / bin / bash -D / rumah / layanan baru -m -G sudo layanan baru sudo passwd layanan baru

  • Bendera -s menyetel shell sistem untuk akun pengguna baru. Dalam kasus saya, akun baru saya menggunakan Bash untuk cangkangnya.
  • Kedua flag -d dan -m menetapkan direktori pengguna default untuk akun baru.
  • Bendera -G , di sisi lain, menambahkan akun baru ke grup sekunder mana pun yang Anda tentukan. Misalnya, menambahkan akun baru ke grup sudo akan memungkinkannya menjalankan perintah pengguna super.
  • Perintah passwd memungkinkan Anda mengatur kata sandi baru untuk akun pengguna baru.

Setelah selesai, Anda dapat menggunakan akun pengguna baru Anda dengan keluar dari akun Anda saat ini atau menjalankan su new-service .

5. Keraskan Kernel Server Anda

Kernel adalah salah satu bagian terpenting dari sistem Linux dan merupakan perekat yang menghubungkan perangkat keras mesin Anda dengan perangkat lunak Anda. Misalnya, mengkompilasi kernel Linux Anda sendiri memungkinkan Anda mengaktifkan dukungan untuk perangkat keras dan fitur eksotis.

Selain itu, kernel juga berfungsi sebagai proses root dari sistem operasi. Mengamankan kernel adalah salah satu bagian terpenting dalam mengamankan server Linux Anda.

Salah satu cara tercepat untuk mengamankan kernel Anda adalah melalui sysctl . Ini adalah utilitas bawaan yang memungkinkan Anda mengubah opsi runtime kernel Linux.

Namun, penting untuk dicatat bahwa sysctl tidak akan mencakup seluruh proses pengerasan kernel, karena mengamankan kernel akan sangat bergantung pada apa yang Anda butuhkan darinya.

Mengetahui hal itu, Anda dapat menjalankan perintah berikut untuk mencegah kernel Anda melaporkan informasi diagnostik apa pun:

sudo sysctl kernel.kptr_restrict= 2 sudo sysctl kernel.dmesg_restrict= 1 sudo sysctl kernel.kexec_load_disabled= 1

Anda juga dapat menjalankan perintah berikut untuk memberi tahu kernel Anda agar membatalkan permintaan koneksi palsu yang dibuat ke server Anda:

sudo sysctl net.ipv4.tcp_syncookies= 1 sudo sysctl net.ipv4.tcp_rfc1337= 1

Perintah-perintah ini, sebaliknya, akan memaksa kernel untuk memvalidasi setiap koneksi yang masuk ke mesin:

sudo sysctl net.ipv4.conf.all.rp_filter= 1 sudo sysctl net.ipv4.conf.default.rp_filter= 1

Terakhir, rangkaian perintah berikut akan mencegah koneksi masuk apa pun untuk mengalihkan lalu lintas jaringan ke gateway lain. Melakukan hal ini akan mencegah mesin Anda jatuh ke serangan man-in-the-middle.

sudo sysctl net.ipv4.conf.all.accept_redirects= 0 sudo sysctl net.ipv4.conf.default.accept_redirects= 0 sudo sysctl net.ipv4.conf.all.secure_redirects= 0 sudo sysctl net.ipv4.conf.default.secure_redirects= 0 sudo sysctl net.ipv6.conf.all.accept_redirects= 0 sudo sysctl net.ipv6.conf.default.accept_redirects= 0 sudo sysctl net.ipv4.conf.all.send_redirects= 0 sudo sysctl net.ipv4.conf.default.send_redirects= 0

Tips : selain tips di atas, anda juga bisa menggunakan tools open-source ini untuk mengamankan server Linux anda.

Pertanyaan yang Sering Diajukan

Saya kehilangan mesin lokal saya. Apakah masih mungkin untuk masuk ke server Ubuntu saya melalui SSH?

Sebagian besar, tidak mungkin untuk masuk melalui SSH jika hanya menggunakan otentikasi kunci publik. Namun, permintaan SSH masih dapat diakses jika Anda tidak menonaktifkan variabel PasswordAuthentication .

Selain itu, Anda dapat mengakses mesin secara fisik dan memperbarui “/etc/ssh/sshd_config” atau mengakses konsol root dari penyedia VPS Anda.

Server saya memiliki iptables dan ufw. Apakah saya perlu mengonfigurasi keduanya untuk firewall saya?

TIDAK! Baik iptables dan ufw adalah perangkat lunak firewall yang mengendalikan rentang alamat dan port yang sama. Anda hanya perlu mengonfigurasi salah satunya untuk memiliki firewall yang berfungsi di server Linux Anda.

Apakah mungkin untuk menghapus hak pengguna super dari pengguna yang saya buat?

Ya! Dimungkinkan untuk menghapus pengguna yang ada dari grup. Gunakan utilitas usermod . Misalnya, menjalankan usermod -G video new-service akan menghapus pengguna “layanan baru” dari grup “sudo” dan menambahkannya ke grup “video”.

Kredit gambar: Hapus percikan. Semua perubahan dan tangkapan layar oleh Ramces Red.

Related Posts

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *