GNU/Linux >> Belajar Linux >  >> Ubuntu

Praktik Terbaik Keamanan OpenSSH

SSH (Secure Shell) adalah protokol jaringan kriptografi untuk memulai sesi shell berbasis teks pada mesin jarak jauh dengan cara yang aman.

OpenSSH adalah klien dan server SSH standar yang digunakan oleh sebagian besar Distribusi Linux. Ini adalah alat konektivitas yang paling diandalkan oleh sebagian besar administrator untuk bekerja di server Linux dan *BSD mereka. OpenSSH mengenkripsi semua lalu lintas (termasuk kata sandi) untuk secara efektif menghilangkan penyadapan, pembajakan koneksi, dan serangan lainnya. Jadi dengan kata lain "OpenSSH memastikan bahwa koneksi ke server Anda aman". Lihat artikel Wikipedia untuk penjelasan rinci tentang SSH.

Tutorial ini mencakup praktik terbaik untuk mengonfigurasi server SSH Anda dengan aman.

Keamanan OpenSSH

Ini adalah enam tugas terpenting untuk mengamankan penyiapan server SSH Anda:

  1. Gunakan sandi yang kuat.
  2. Ubah port default SSH.
  3. Selalu gunakan protokol versi 2.
  4. Nonaktifkan login root.
  5. Batasi akses pengguna.
  6. Gunakan berbasis kunci untuk autentikasi.

Gunakan sandi yang kuat

Kata sandi adalah kata atau string karakter yang digunakan untuk otentikasi pengguna untuk membuktikan identitas atau persetujuan akses untuk mendapatkan akses ke sumber daya. Rahasiakan dari mereka yang tidak diizinkan mengakses server. Gunakan kata sandi yang rumit dan panjang, harus mudah diingat dan unik menurut Anda tetapi tidak mudah ditebak orang lain . Jangan menggunakan `admin123` atau `admin` dll yang mudah ditebak dan tidak menggunakan tanggal lahir, nama istri, dll. Kata sandi yang baik juga harus mengandung karakter khusus seperti '.!;/' (bukan hanya karakter a-c dan 0-9). Gunakan karakter huruf besar dan kecil dalam kata sandi.

Ubah port default SSH

Postingan default layanan SSH adalah 22, Anda harus mengubahnya agar tidak terlalu terlihat bahwa server Anda menjalankan layanan SSH. File konfigurasi SSH terletak di direktori /etc/sshd/, Anda harus mengedit file konfigurasi /etc/ssh/sshd_config .

nano /etc/ssh/sshd_config

Cari baris "Port":

Port 22

dan ubah ke nomor port favorit Anda, contoh:1337

Port 1337

Silakan pilih port yang belum digunakan di server Anda. Anda bisa mendapatkan daftar port yang sedang digunakan dengan perintah:

netstat -ntap

Perintah ini menghasilkan daftar yang cukup panjang yang menunjukkan semua port dan koneksi yang terbuka. Jika Anda hanya ingin memeriksa apakah port yang Anda inginkan tersedia, gunakan perintah ini sebagai gantinya:

netstat -ntap | grep 4422

Dalam contoh ini, saya akan memeriksa apakah port 4422 gratis. Jika perintah tidak mengembalikan hasil, maka port tersedia dan dapat digunakan untuk SSH.

Selalu gunakan protokol 2

SSH memiliki dua versi protokol, protokol lama 1 yang tidak aman dan protokol baru 2. Jadi Selalu gunakan protokol 2 untuk server ssh Anda, itu lebih aman daripada protokol 1. Info Lebih Lanjut Di Sini.

Nonaktifkan login root

Anda harus menonaktifkan login langsung untuk pengguna root karena ada banyak serangan brute force terhadap nama pengguna super root. PENTING:uji login SSH dengan pengguna non-root alternatif yang akan Anda gunakan untuk login ssh sebelum Anda menonaktifkan akun root.

PermitRootLogin no

Setelah Anda mengatur "PermitRootLogin" menjadi "tidak", Anda tidak dapat login dengan akun root lagi, meskipun Anda menggunakan kata sandi yang benar untuk pengguna root.

Batasi pengguna

Anda harus menambahkan pengguna baru untuk login ke server Anda. Asumsikan bahwa Anda telah membuat pengguna ruiko dan mikoto untuk login ke server Anda, maka Anda dapat menambahkan baris baru:

AllowUsers ruiko mikoto

di /etc/ssh/sshd_config untuk membatasi akses SSH ke pengguna ini.

Gunakan Autentikasi Berbasis Kunci

Saya menyarankan Anda untuk menggunakan opsi ini karena ini sangat mudah diatur dan lebih aman daripada otentikasi berbasis kata sandi. Pertama Anda harus membuat pasangan kunci publik-swasta di komputer lokal (desktop), saya menggunakan Linux untuk membuatnya.

Anda dapat membuat pasangan kunci publik / pribadi dengan perintah ini:

ssh-keygen -t rsa -b 4096

Ini akan membuat 2 file yang terletak di direktori ~/.ssh/, id_rsa sebagai kunci pribadi dan id_rsa.pub sebagai kunci publik. Jika meminta kata sandi, Anda dapat membiarkannya kosong atau mengetik kata sandi Anda. Dianjurkan untuk menggunakan kata sandi untuk melindungi kunci Anda.

Sekarang unggah kunci publik id_rsa.pub ke server Anda dengan perintah ssh-copy-id.

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

Ini akan secara otomatis menulis kunci publik Anda ke file ~/.ssh/authorized_keys/ di server Anda.

Sekarang kembali ke server Anda dan edit konfigurasi file ssh Anda lagi.

nano /etc/ssh/sshd_config

Batalkan komentar pada baris ini:

AuthorizedKeysFile     %h/.ssh/authorized_keys

dan terakhir restart server ssh Anda:

systemctl restart sshd

Sekarang coba sambungkan ke server Anda:

ssh -p '4422' '[email protected]'

Kesimpulan

OpenSSH adalah standar untuk akses jarak jauh yang aman ke *server mirip Unix, menggantikan protokol telnet yang tidak terenkripsi. SSH (dan sub-protokol transfer file SCP) memastikan bahwa koneksi dari komputer lokal Anda ke server dienkripsi dan aman. Instalasi dasar OpenSSH sudah cukup aman, tetapi kami dapat meningkatkannya dengan mengikuti panduan di atas.


Ubuntu
  1. Cara Install SSH Server di Ubuntu / Debian dengan OpenSSH

  2. Praktik terbaik keamanan server Windows

  3. Praktik terbaik keamanan Wordpress di Linux

  1. Praktik terbaik keamanan server Linux

  2. Praktik terbaik server Nagios?

  3. Server relai SSH dengan OpenSSH

  1. Praktik Terbaik DNS untuk Keamanan dan Kinerja

  2. 10 Praktik Terbaik Keamanan Docker

  3. 10 Praktik Terbaik Keamanan Basis Data