Cara mengamankan dan mengeraskan server openssh

Cara mengamankan dan mengeraskan server openssh

Ketika datang untuk mengakses perangkat jarak jauh seperti server, router, dan switch, protokol ssh sangat disarankan mengingat kemampuannya untuk mengenkripsi lalu lintas dan menangkal siapa saja yang mungkin mencoba menguping koneksi Anda.

Bagaimanapun, pengaturan default dari Ssh tidak sempurna dan penyesuaian tambahan diperlukan untuk membuat protokol lebih aman. Dalam panduan ini, kami mengeksplorasi berbagai cara yang dapat Anda gunakan untuk mengamankan dan mengeraskan instalasi Openssh di server.

1. Mengatur otentikasi tanpa kata sandi SSH

Secara default, Ssh mengharuskan pengguna untuk memberikan kata sandi mereka saat masuk. Tapi ini masalahnya: peretas dapat menebak kata sandi atau bahkan melakukan serangan brute force menggunakan alat peretasan khusus dan mendapatkan akses ke sistem Anda. Untuk berada di sisi yang aman, penggunaan otentikasi tanpa kata sandi SSH sangat dianjurkan.

Langkah pertama adalah menghasilkan pasangan kunci SSH yang terdiri dari a kunci publik dan a kunci pribadi. Itu kunci pribadi berada di sistem host Anda saat kunci publik kemudian disalin ke server jarak jauh.

Sekali kunci publik berhasil disalin, Anda sekarang dapat masuk ke server jarak jauh dengan mulus tanpa harus memberikan kata sandi.

Langkah selanjutnya adalah menonaktifkan otentikasi kata sandi, untuk mencapai ini, Anda perlu memodifikasi file konfigurasi SSH.

$ sudo vim/etc/ssh/sshd_config 

Di dalam file konfigurasi, gulir dan cari arahan berikut. Tidak berkomentari dan ubah opsi 'Ya' ke 'TIDAK'

Kata sandi no 
Nonaktifkan otentikasi kata sandi ssh

Kemudian restart daemon ssh.

# Sudo SystemctL Restart SSHD 

Pada titik ini, Anda hanya akan memiliki akses ke server jarak jauh menggunakan otentikasi kunci ssh.

2. Nonaktifkan Permintaan Koneksi Kata Sandi SSH Pengguna

Cara lain yang disarankan untuk memperkuat keamanan server Anda adalah dengan menonaktifkan login SSH dari pengguna tanpa kata sandi. Ini kedengarannya agak aneh tetapi kadang -kadang administrator sistem dapat membuat akun pengguna dan lupa untuk menetapkan kata sandi - yang merupakan ide yang sangat buruk.

Untuk menolak permintaan dari pengguna tanpa kata sandi, sekali lagi, pergilah ke file konfigurasi di /etc/ssh/sshd_config dan memastikan bahwa Anda memiliki arahan di bawah ini:

Leveremptypasswords no 
Nonaktifkan Pengguna SSH Login Tanpa Kata Sandi

Kemudian restart layanan SSH agar perubahan akan dilakukan.

$ sudo systemctl restart sshd 

3. Nonaktifkan login root ssh

Itu tidak ada otak apa yang bisa terjadi jika seorang peretas berhasil memaksa kata sandi root Anda. Mengizinkan login root jarak jauh selalu merupakan ide buruk yang dapat membahayakan keamanan sistem Anda.

Untuk alasan ini, selalu disarankan agar Anda menonaktifkan login root jarak jauh SSH dan sebaliknya tetap berpegang pada pengguna non-root biasa. Sekali lagi, pergilah ke file konfigurasi dan ubah baris ini seperti yang ditunjukkan.

Imbinrootlogin no 
Nonaktifkan login root ssh

Setelah selesai, restart layanan SSH untuk perubahan yang akan dilakukan.

$ sudo systemctl restart sshd 

Selanjutnya, login root jarak jauh akan dinonaktifkan.

4. Gunakan SSH Protocol 2

Ssh datang dalam dua versi: ssh Protokol 1 Dan Protokol 2. Ssh Protokol 2 diperkenalkan pada tahun 2006 dan lebih aman dari Protokol 1 Berkat pemeriksaan kriptografi yang kuat, enkripsi massal dan algoritma yang kuat.

Secara default, SSH menggunakan Protokol 1. Untuk mengubah ini menjadi lebih aman Protokol 2, Tambahkan baris di bawah ini ke file konfigurasi:

Protokol 2 
Gunakan SSH Protocol 2

Seperti biasa, restart SSH agar perubahan mulai berlaku.

$ sudo systemctl restart sshd 

Ke depan, SSH akan menggunakan Protokol 2 secara default.

Untuk menguji apakah SSH Protokol 1 didukung lagi, jalankan perintah:

$ ssh -1 [email dilindungi] 

Anda akan mendapatkan kesalahan yang berbunyi "Protokol SSH v.1 tidak lagi didukung".

Dalam hal ini, perintahnya adalah:

$ ssh -1 [email dilindungi] 
Periksa Protokol SSH

Selain itu, Anda dapat menentukan -2 Tag hanya untuk memastikan itu Protokol 2 adalah protokol default yang digunakan.

$ ssh -2 [email dilindungi] 
Gunakan SSH Protocol 2

5. Atur Nilai IDLE Koneksi SSH

Meninggalkan PC Anda tanpa pengawasan untuk waktu yang lama dengan koneksi SSH yang menganggur dapat menimbulkan risiko keamanan. Seseorang dapat lewat dan mengambil alih sesi SSH Anda dan melakukan apa pun. Untuk mengatasi masalah ini, karena itu bijaksana, untuk menetapkan batas batas waktu idle yang ketika terlampaui, sesi SSH akan ditutup.

Sekali lagi, buka file konfigurasi SSH Anda dan temukan arahan “ClientAliveInterval”. Tetapkan nilai yang masuk akal, misalnya, saya telah menetapkan batas 180 detik.

ClientAliveInterval 180 

Ini menyiratkan bahwa sesi SSH akan dijatuhkan jika tidak ada aktivitas yang terdaftar setelah 3 menit yang setara dengan 180 detik.

Atur nilai batas waktu koneksi ssh

Kemudian restart daemon ssh untuk mempengaruhi perubahan yang dibuat.

$ sudo systemctl restart sshd 

6. Batasi akses SSH ke pengguna tertentu

Untuk lapisan keamanan tambahan, Anda dapat mendefinisikan pengguna yang memerlukan protokol SSH untuk masuk dan melakukan tugas jarak jauh pada sistem. Ini mencegah pengguna lain yang mungkin mencoba masuk ke sistem Anda tanpa persetujuan Anda.

Seperti biasa, buka file konfigurasi dan tambahkan arahan "Allowusers“Diikuti dengan nama pengguna yang ingin Anda berikan. Dalam contoh di bawah ini, saya telah mengizinkan pengguna 'tecmint' Dan 'James'Untuk memiliki akses jarak jauh ke sistem melalui SSH. Pengguna lain yang mencoba mendapatkan akses jarak jauh akan diblokir.

Allowusers Tecmint James 
Batasi login pengguna SSH

Setelah itu restart SSH untuk perubahan bertahan.

$ sudo systemctl restart sshd 

7. Konfigurasikan batas untuk upaya kata sandi

Cara lain Anda dapat menambahkan lapisan keamanan adalah dengan membatasi jumlah upaya login SSH sehingga setelah sejumlah upaya yang gagal, koneksi turun. Jadi sekali lagi pergilah ke file konfigurasi dan temukan "MaxAuthtries"Menunjuk dan menentukan nilai untuk jumlah upaya maksimum.

Dalam contoh ini, batas telah diatur ke 3 upaya seperti yang ditunjukkan.

MaxAuthtries 3 
Batasi upaya kata sandi ssh

Dan akhirnya, restart layanan SSH seperti dalam skenario sebelumnya.

Anda mungkin juga menemukan artikel terkait SSH berikut ini berguna:

  • Cara menginstal openssh 8.0 server dari sumber di linux
  • Cara menginstal fail2ban untuk melindungi ssh di centos/rhel 8
  • Cara mengubah port ssh di linux
  • Cara membuat tunneling ssh atau penerusan port di linux
  • 4 cara untuk mempercepat koneksi SSH di Linux
  • Bagaimana menemukan semua upaya login SSH yang gagal di Linux
  • Cara melepaskan koneksi ssh tidak aktif atau menganggur di linux
Kesimpulan

Itu adalah pengumpulan beberapa langkah yang dapat Anda ambil untuk mengamankan koneksi jarak jauh SSH Anda. Penting untuk menambahkan bahwa Anda harus selalu memberikan kata sandi yang kuat kepada pengguna yang memiliki akses jarak jauh untuk menggagalkan serangan brute-force. Harapan kami bahwa Anda menemukan panduan ini berwawasan luas. Umpan balik Anda sangat disambut.