ssh

Cara Mengamankan Server SSH di Ubuntu 20.04 dari Dasar ke Lanjutan

Cara Mengamankan Server SSH di Ubuntu 20.04 dari Dasar ke Lanjutan
Sama seperti semua server lainnya, server SSH juga rentan terhadap upaya akses yang tidak sah. Oleh karena itu, setiap kali Anda ingin menggunakan server SSH, Anda harus mempertimbangkan untuk mengamankannya terlebih dahulu untuk menyelamatkan diri Anda dari situasi yang tidak diinginkan dalam jangka panjang. Secara umum, istilah "mengamankan server" juga dikenal sebagai "mengeraskan server".”Hal ini dapat dilakukan dengan mengambil beberapa tindakan. Langkah-langkah ini tergantung pada tingkat keamanan yang Anda butuhkan.

Langkah-langkah mengamankan server SSH berkisar dari dasar hingga lanjutan, dan seperti yang kami katakan sebelumnya, Anda dapat mengambilnya sesuai dengan tingkat keamanan yang Anda butuhkan. Anda dapat melewati salah satu tindakan yang ditentukan jika Anda memiliki pengetahuan yang cukup tentang konsekuensinya dan jika Anda berada dalam posisi yang baik untuk menghadapinya. Juga, kita tidak pernah bisa mengatakan bahwa satu langkah akan memastikan keamanan 100%, atau langkah tertentu lebih baik dari yang lain.

Itu semua tergantung pada jenis keamanan yang sebenarnya kita butuhkan. Oleh karena itu, hari ini kami bermaksud memberi Anda wawasan yang sangat mendalam tentang langkah-langkah dasar dan lanjutan untuk mengamankan server SSH di Ubuntu 20.04. Terlepas dari metode ini, kami juga akan berbagi dengan Anda beberapa tips tambahan untuk mengamankan server SSH Anda sebagai bonus. Jadi mari kita mulai dengan diskusi menarik hari ini.

Metode Mengamankan Server SSH di Ubuntu 20.04:

Semua konfigurasi SSH disimpan dalam file /etc/ssh/sshd_config-nya. File ini dianggap sangat penting untuk fungsi normal server SSH Anda. Oleh karena itu, sebelum membuat perubahan apa pun pada file ini, sangat disarankan agar Anda membuat cadangan file ini dengan menjalankan perintah berikut di terminal Anda:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak


Jika perintah ini berhasil dijalankan, Anda tidak akan disajikan dengan output apa pun, seperti yang ditunjukkan pada gambar di bawah ini:

Setelah membuat cadangan file ini, langkah ini opsional dan dilakukan jika Anda ingin memeriksa semua opsi yang saat ini diaktifkan dalam file konfigurasi ini. Anda dapat memeriksanya dengan menjalankan perintah berikut di terminal Anda:

sudo sshd -T


Opsi yang saat ini diaktifkan dari file konfigurasi SSH ditunjukkan pada gambar di bawah ini. Anda dapat menggulir ke bawah daftar ini untuk melihat semua opsi.

Sekarang Anda dapat mulai mengamankan server SSH Anda saat berpindah dari langkah dasar ke langkah lanjutan di Ubuntu 20.04.

Langkah Dasar untuk mengamankan Server SSH di Ubuntu 20.04:

Langkah-langkah dasar untuk mengamankan server SSH di Ubuntu 20.04 adalah sebagai berikut:

Langkah #1: Membuka File Konfigurasi SSH:

Anda dapat membuka file konfigurasi SSH dengan menjalankan perintah yang dinyatakan di bawah ini di terminal Anda:

sudo nano /etc/ssh/sshd_config


File konfigurasi SSH ditunjukkan pada gambar berikut:

Langkah # 2: Menonaktifkan Otentikasi Berbasis Kata Sandi:

Alih-alih menggunakan kata sandi untuk otentikasi, kunci SSH dianggap lebih aman. Oleh karena itu, jika Anda telah membuat kunci SSH untuk otentikasi, maka Anda harus menonaktifkan otentikasi berbasis kata sandi. Untuk itu, Anda perlu menemukan variabel “PasswordAuthentication”, batalkan komentarnya, dan atur nilainya menjadi “tidak”, seperti yang disorot pada gambar di bawah ini:

Langkah # 3: Menolak/Menolak Kata Sandi Kosong:

Terkadang, pengguna merasa sangat nyaman untuk membuat kata sandi kosong demi menyelamatkan diri dari menghafal kata sandi yang rumit. Praktik ini terbukti dapat merusak keamanan server SSH Anda. Oleh karena itu, Anda harus menolak semua upaya otentikasi dengan kata sandi kosong. Untuk itu, Anda perlu menemukan variabel “PermitEmptyPasswords” dan hapus saja komentarnya karena nilainya sudah disetel ke “tidak” secara default, seperti yang disorot pada gambar berikut:

Langkah # 4: Melarang Login Root:

Anda harus secara tegas melarang login root untuk melindungi penyusup agar tidak mendapatkan akses tingkat root ke server Anda. Anda dapat melakukan ini dengan mencari variabel “PermitRootLogin”, batalkan komentarnya, dan atur nilainya menjadi “tidak”, seperti yang disorot pada gambar di bawah ini:

Langkah # 5: Menggunakan Protokol SSH 2:

Server SSH dapat beroperasi pada dua protokol yang berbeda, yaitu:.e., Protokol 1 dan Protokol 2. Protokol 2 mengimplementasikan fitur keamanan yang lebih canggih, itulah sebabnya protokol ini lebih disukai daripada Protokol 1. Namun, Protokol 1 adalah protokol default SSH, dan tidak disebutkan secara eksplisit dalam file konfigurasi SSH. Oleh karena itu, jika Anda ingin bekerja dengan Protokol 2 alih-alih Protokol 1, maka Anda perlu menambahkan baris "Protokol 2" secara eksplisit ke file konfigurasi SSH Anda seperti yang disorot pada gambar berikut:

Langkah # 6: Mengatur Batas Waktu Sesi:

Kadang-kadang, pengguna meninggalkan komputer mereka tanpa pengawasan untuk waktu yang sangat lama. Sementara itu, setiap penyusup dapat datang dan mendapatkan akses ke sistem Anda saat melanggar keamanannya. Di sinilah konsep batas waktu sesi berperan. Fitur ini digunakan untuk logout pengguna jika dia tetap tidak aktif untuk waktu yang lama sehingga tidak ada pengguna lain yang dapat mengakses sistemnya.

Batas waktu ini dapat diatur dengan menempatkan variabel “ClientAliveInterval”, batalkan komentarnya, dan berikan nilai apa pun (dalam detik) pilihan Anda. Dalam kasus kami, kami telah menetapkan nilai "300 detik" atau "5 menit". Artinya jika pengguna menjauh dari server SSH selama “300 detik”, maka dia akan secara otomatis logout seperti yang disorot pada gambar di bawah ini:

Langkah # 7: Mengizinkan Pengguna Tertentu untuk Mengakses Server SSH:

Server SSH bukanlah server yang aksesnya diperlukan oleh setiap pengguna lain. Oleh karena itu, aksesnya harus dibatasi hanya untuk pengguna yang benar-benar membutuhkannya. Untuk mengizinkan pengguna tertentu mengakses server SSH, Anda perlu menambahkan variabel bernama "AllowUsers" ke file konfigurasi SSH dan kemudian tulis nama semua pengguna yang ingin Anda izinkan aksesnya ke server SSH yang dipisahkan oleh spasi. Dalam kasus kami, kami hanya ingin mengizinkan satu pengguna untuk mengakses server SSH. Itu sebabnya kami hanya menambahkan namanya seperti yang disorot pada gambar berikut:

Langkah #8: Membatasi Jumlah Upaya Otentikasi:

Setiap kali pengguna mencoba mengakses server, dan dia tidak dapat mengotentikasi dirinya untuk pertama kalinya, dia mencoba melakukannya lagi. Pengguna terus melakukan upaya ini sampai dan kecuali dia berhasil mengotentikasi dirinya sendiri sehingga mendapatkan akses ke server SSH. Ini dianggap sebagai praktik yang sangat tidak aman karena peretas dapat meluncurkan Brute Force Attack (serangan yang berulang kali mencoba menebak kata sandi hingga ditemukan kata sandi yang cocok). Hasilnya, dia akan bisa mendapatkan akses ke server SSH Anda.

Itulah mengapa sangat disarankan untuk membatasi jumlah upaya otentikasi untuk mencegah serangan menebak kata sandiing. Nilai default dari upaya otentikasi ke server SSH diatur ke "6". Namun, Anda dapat mengubahnya tergantung pada tingkat keamanan yang Anda butuhkan. Untuk itu, Anda perlu menemukan variabel "MaxAuthTries", batalkan komentar, dan atur nilainya ke nomor yang diinginkan. Kami ingin membatasi upaya otentikasi ke "3," seperti yang disorot pada gambar di bawah ini:

Langkah #9: Menjalankan Server SSH dalam Mode Uji:

Sekarang, kami telah mengambil semua langkah dasar untuk mengamankan server SSH kami di Ubuntu 20.04. Namun, kami masih perlu memastikan bahwa opsi yang baru saja kami konfigurasikan berfungsi dengan baik. Untuk itu, pertama-tama kita akan menyimpan dan menutup file konfigurasi kita. Setelah melakukan itu, kami akan mencoba menjalankan server SSH kami dalam mode uji. Jika berhasil berjalan dalam mode uji, maka itu akan menyiratkan bahwa tidak ada kesalahan dalam file konfigurasi Anda. Anda dapat menjalankan server SSH Anda dalam mode uji dengan menjalankan perintah berikut di terminal Anda:

sudo sshd -t


Ketika perintah ini berhasil dijalankan, itu tidak akan menampilkan output apa pun di terminal, seperti yang ditunjukkan pada gambar di bawah ini. Namun, jika akan ada kesalahan dalam file konfigurasi Anda, maka menjalankan perintah ini akan membuat kesalahan tersebut di terminal. Anda kemudian akan diminta untuk memperbaiki kesalahan itu. Hanya dengan begitu Anda dapat melanjutkan lebih jauh.

Langkah # 10: Memuat Ulang Server SSH dengan Konfigurasi Baru:

Sekarang ketika server SSH berjalan dengan sukses dalam mode uji, kita perlu memuat ulang agar dapat membaca file konfigurasi baru, saya.e., perubahan yang telah kami buat pada file konfigurasi SSH dalam langkah-langkah yang ditunjukkan di atas. Untuk memuat ulang server SSH dengan konfigurasi baru, Anda perlu menjalankan perintah berikut di terminal Anda:

sudo service sshd reload


Jika server SSH Anda berhasil di-restart, terminal tidak akan menampilkan output apa pun, seperti yang ditunjukkan pada gambar di bawah ini:

Langkah Lanjutan untuk mengamankan Server SSH di Ubuntu 20.04:

Setelah melakukan semua langkah dasar untuk mengamankan server SSH di Ubuntu 20.04, Anda akhirnya dapat melanjutkan ke langkah lanjutan. Ini hanyalah langkah maju untuk mengamankan server SSH Anda. Namun, jika Anda hanya ingin mencapai tingkat keamanan sedang, maka langkah-langkah yang dijelaskan di atas sudah cukup. Tetapi jika Anda ingin melangkah lebih jauh, Anda dapat mengikuti langkah-langkah yang dijelaskan di bawah ini:

Langkah #1: Buka ~/.File ssh/authorized_keys:

Langkah-langkah dasar untuk mengamankan server SSH diimplementasikan dalam file konfigurasi SSH. Artinya, kebijakan ini akan berlaku untuk semua pengguna yang akan mencoba mengakses server SSH. Ini juga menyiratkan bahwa langkah-langkah dasar mewakili metode umum untuk mengamankan server SSH. Namun, jika kita mencoba mempertimbangkan prinsip “Pertahanan Mendalam”, maka kita akan menyadari bahwa kita perlu mengamankan setiap kunci SSH secara terpisah. Ini dapat dilakukan dengan mendefinisikan parameter keamanan eksplisit untuk setiap kunci individu. Kunci SSH disimpan di ~/.ssh/authorized_keys file, jadi pertama-tama kami akan mengakses file ini untuk mengubah parameter keamanan. Kami akan menjalankan perintah berikut di terminal untuk mengakses ~/.ssh/authorized_keys file:

sudo nano ~/.ssh/authorized_keys

Menjalankan perintah ini akan membuka file yang ditentukan dengan editor nano. Namun, Anda dapat menggunakan editor teks lain pilihan Anda juga untuk membuka file ini. File ini akan berisi semua kunci SSH yang telah Anda buat sejauh ini.

Langkah # 2: Mendefinisikan Konfigurasi Spesifik untuk Kunci Tertentu:

Untuk mencapai tingkat keamanan tingkat lanjut, tersedia lima opsi berikut:

Opsi ini dapat ditulis sebelum kunci SSH apa pun pilihan Anda untuk membuatnya tersedia untuk kunci tertentu itu. Bahkan lebih dari satu opsi juga dapat dikonfigurasi untuk satu kunci SSH. Misalnya, Anda ingin menonaktifkan penerusan port untuk kunci tertentu atau, dengan kata lain, Anda ingin menerapkan penerusan tanpa port untuk kunci tertentu, maka sintaksnya adalah sebagai berikut:

tanpa port-forwarding DiinginkanSSHKey

Di sini, alih-alih DesiredSSHKey, Anda akan memiliki kunci SSH aktual di dalam ~/.ssh/authorized_keys file. Setelah menerapkan opsi ini untuk kunci SSH yang Anda inginkan, Anda harus menyimpan file ~/.ssh/authorized_keys file dan tutup. Hal yang baik tentang metode lanjutan ini adalah Anda tidak perlu memuat ulang server SSH Anda setelah melakukan modifikasi ini. Melainkan perubahan ini akan dibaca oleh server SSH Anda secara otomatis.

Dengan cara ini, Anda akan dapat mengamankan setiap kunci SSH secara mendalam dengan menerapkan mekanisme keamanan tingkat lanjut.

Beberapa Tips Tambahan untuk mengamankan Server SSH di Ubuntu 20.04:

Terlepas dari semua langkah dasar dan lanjutan yang telah kami ambil di atas, ada juga beberapa tips tambahan yang terbukti sangat baik untuk mengamankan server SSH di Ubuntu 20.04. Kiat tambahan ini telah dibahas di bawah ini:

Jaga Data Anda Terenkripsi:

Data yang berada di server SSH Anda, serta yang tetap dalam perjalanan, harus dienkripsi dan itu juga, dengan algoritme enkripsi yang kuat. Ini tidak hanya akan melindungi integritas dan kerahasiaan data Anda, tetapi juga akan mencegah keamanan seluruh server SSH Anda dari gangguan.

Perbarui Perangkat Lunak Anda:

Perangkat lunak yang berjalan di server SSH Anda harus mutakhir. Ini dilakukan untuk memastikan bahwa tidak ada bug keamanan di perangkat lunak Anda yang tidak dijaga. Sebaliknya mereka harus ditambal dengan baik pada waktunya. Ini akan menyelamatkan Anda dari potensi bahaya dalam jangka panjang dan juga akan mencegah server Anda turun atau tidak tersedia karena masalah keamanan.

Pastikan SELinux Diaktifkan:

SELinux adalah mekanisme yang meletakkan batu fondasi keamanan dalam sistem berbasis Linux. Ia bekerja dengan menerapkan Mandatory Access Control (MAC). Ini mengimplementasikan model kontrol akses ini dengan mendefinisikan aturan akses dalam kebijakan keamanannya. Mekanisme ini diaktifkan secara default. Namun, pengguna diizinkan untuk mengubah pengaturan ini kapan saja. Itu berarti mereka dapat menonaktifkan SELinux kapan pun mereka mau. Namun, sangat disarankan agar Anda selalu mengaktifkan SELinux sehingga dapat mencegah server SSH Anda dari segala potensi bahaya.

Gunakan Kebijakan Kata Sandi Ketat:

Jika Anda telah melindungi server SSH Anda dengan kata sandi, maka Anda harus membuat kebijakan kata sandi yang kuat. Idealnya, kata sandi harus lebih dari 8 karakter. Mereka harus diganti setelah waktu yang ditentukan, katakanlah, setelah setiap 2 bulan. Mereka tidak boleh mengandung kata-kata kamus apa pun; melainkan, mereka harus berupa kombinasi huruf, angka, dan karakter khusus. Demikian pula, Anda dapat menentukan beberapa tindakan ekstra ketat lainnya untuk kebijakan kata sandi Anda untuk memastikan bahwa mereka cukup kuat.

Pantau dan Pertahankan Log Audit Server SSH Anda:

Jika ada yang salah dengan server SSH Anda, penolong pertama Anda adalah log audit. Oleh karena itu, Anda harus terus memelihara log tersebut sehingga Anda dapat melacak kembali akar penyebab masalah. Selain itu, jika Anda terus memantau kesehatan dan kerja server SSH Anda secara terus menerus, maka ini juga akan mencegah terjadinya masalah besar.

Pertahankan Pencadangan Data Anda Secara Reguler:

Last but not least, Anda harus selalu menyimpan cadangan seluruh server SSH Anda. Melakukan hal ini tidak hanya akan menyelamatkan data Anda dari kerusakan atau kehilangan seluruhnya; alih-alih, Anda juga dapat menggunakan server cadangan ini setiap kali server utama Anda mati. Ini juga akan membatasi waktu henti server dan memastikan ketersediaannya.

Kesimpulan:

Dengan memperhatikan semua tindakan yang telah ditentukan dalam artikel ini, Anda dapat dengan mudah mengamankan atau memperkuat server SSH Anda di Ubuntu 20.04. Namun, jika Anda berasal dari latar belakang Keamanan Informasi, maka Anda harus sangat menyadari fakta ini bahwa tidak ada keamanan 100%. Yang bisa kita dapatkan hanyalah janji upaya terbaik, dan upaya terbaik itu hanya akan aman sampai saatnya juga dilanggar. Itulah sebabnya bahkan setelah mengambil semua tindakan ini, Anda tidak dapat mengatakan bahwa server SSH Anda 100% aman; alih-alih, itu mungkin masih memiliki kerentanan yang bahkan tidak pernah Anda pikirkan. Kerentanan seperti itu hanya dapat diatasi jika kami terus mengawasi server SSH kami dan terus memperbaruinya kapan pun diperlukan.

Game Lab Aplikasi Oculus Teratas
Jika Anda adalah pemilik headset Oculus maka Anda harus tahu tentang sideloading. Sideloading adalah proses menginstal konten non-toko di headset Anda...
10 Game Teratas untuk Dimainkan di Ubuntu
Platform Windows telah menjadi salah satu platform yang mendominasi untuk bermain game karena persentase besar dari game yang berkembang saat ini untu...
5 Game Arkade Terbaik untuk Linux
Saat ini, komputer adalah mesin serius yang digunakan untuk bermain game. Jika Anda tidak bisa mendapatkan skor tinggi baru, Anda akan tahu apa yang s...