GNU/Linux >> Belajar Linux >  >> Linux

[Linux] :12 fitur keamanan teratas untuk Diaktifkan di server SSH!

Beberapa cara yang dapat Anda temukan untuk mengakses shell (baris perintah) dari jarak jauh di sebagian besar sistem Linux/Unix. Salah satu cara lama adalah dengan menggunakan program telnet. Mengakses shell melalui telnet menimbulkan ancaman keamanan karena pesan yang lewat antara klien dan server dalam teks biasa! Jadi siapa pun yang dapat "mengendus" koneksi di antaranya dapat melihat nama pengguna, kata sandi Anda, dan banyak lagi. Untuk alasan ini, Anda memerlukan program yang lebih canggih daripada telnet untuk terhubung ke host jarak jauh.

SSH, yang merupakan akronim dari Secure SHell, dirancang dan dibuat untuk memberikan keamanan terbaik saat mengakses komputer lain dari jarak jauh. Tidak hanya mengenkripsi sesi, ia juga menyediakan fasilitas otentikasi yang lebih baik, serta fitur seperti transfer file aman, penerusan sesi X, penerusan porta, dan lainnya sehingga Anda dapat meningkatkan keamanan protokol lain. Mengizinkan login jarak jauh melalui SSH baik untuk tujuan administratif, tetapi dapat menimbulkan ancaman bagi keamanan server Anda. Seringkali target serangan brute force, akses SSH perlu dibatasi dengan benar untuk mencegah pihak ketiga mendapatkan akses ke server Anda. Dalam artikel ini kita akan melihat cara mengamankan SSH.

Ada dua file konfigurasi “ssh_config” dan “sshd_config” di bawah direktori /etc/ssh/. File ssh_config berisi konfigurasi yang berkaitan dengan koneksi SSH keluar. dimana file sshd_config berisi parameter konfigurasi yang mengontrol koneksi SSH masuk ke server itu sendiri. ~/.ssh/ adalah direktori konfigurasi SSH pengguna.

1. Cara mengatur Nama Pengguna/Kata Sandi yang Kuat

Server SSH yang berjalan dan terekspos ke dunia luar akan menjadi target utama serangan brute force! Biasanya seorang hacker akan memindai port 22 untuk menemukan mesin dengan ssh berjalan, dan kemudian mencoba serangan brute force terhadapnya. Dengan kata sandi yang kuat, Anda dapat menolak peretas sebelum mereka berhasil. Semoga Anda sudah menggunakan kata sandi yang kuat, tetapi jika belum maka coba pilih kata sandi yang mengandung:

  1. Minimal 8 karakter
  2. Campuran huruf besar dan kecil
  3. Campuran huruf dan angka
  4. Karakter non alfanumerik (misalnya karakter khusus seperti ! ” £ $ % ^ dll)

Jika pengguna Anda masih memilih kata sandi yang lemah, buatlah nama pengguna yang akan sulit ditebak oleh peretas! Ini membuat peretas sulit menebak nama pengguna yang tanpanya mereka tidak dapat memaksa kata sandi (Pastikan pengguna tidak membocorkan nama pengguna). Hindari nama pengguna umum seperti admin, henry, bob, dll.,

2. Cara melarang Login Jarak Jauh dengan kata sandi kosong

Fitur ini Anda perlu memberi tahu server SSH secara eksplisit untuk melarang login jarak jauh untuk akun dengan kata sandi kosong. Menggunakan editor favorit Anda, buka /etc/ssh/sshd_config file dan cari baris di bawah ini :

#PermitEmptyPasswords no

Hapus simbol # dan ubah no untuk ya .

PermitEmptyPasswords yes

Setelah modifikasi jangan lupa restart sshd seperti gambar dibawah ini :

Caution: Follow tip #12 to ensure sshd_config file is error free
/etc/init.d/sshd restart

3. Cara menonaktifkan login jarak jauh untuk pengguna root di mesin Linux

Anda dapat melihat artikel kami sebelumnya – Cara menonaktifkan login jarak jauh untuk pengguna root di mesin Linux

4. Cara mengizinkan hanya pengguna tertentu yang masuk melalui SSH

Anda dapat melihat artikel kami sebelumnya – cara mengizinkan atau menolak akun pengguna tertentu untuk melakukan login jarak jauh ke server Linux.

5. Bagaimana mengubah Port Pendengaran SSH default

Secara default, server SSH mendengarkan koneksi pada port 22. Penyerang menggunakan perangkat lunak pemindai port seperti nmap untuk memindai port yang terbuka. Disarankan untuk mengubah port SSH ke angka yang lebih tinggi dari 1024 karena sebagian besar pemindai port tidak memindai port yang lebih tinggi.

Menggunakan editor favorit Anda, buka file /etc/ssh/sshd_config dan cari baris yang mengatakan:

Port 22

Ubah nomor port seperti :

Port 2222

setelah modifikasi jangan lupa restart sshd seperti gambar dibawah ini :

Caution: Follow tip #12 to ensure sshd_config file is error free
/etc/init.d/sshd restart

Setelah nomor port server SSH diubah, Anda dapat login dari jarak jauh dengan menentukan nomor port seperti yang ditunjukkan di bawah ini :

ssh -p 2222 useranme@servername

6. Hanya izinkan protokol SSH 2

Server SSH mendukung dua protokol yaitu, 1 dan 2. Protokol 1 yang lebih lama tunduk pada masalah keamanan termasuk kerentanan man-in-the-middle dan keamanan. Protokol SSH 2 lebih aman jika dibandingkan dengan protokol 1. Server SSH pada OS terbaru dilengkapi dengan Protokol 2 yang diaktifkan. Jika merujuk beberapa protokol seperti yang ditunjukkan di bawah ini, maka ubah untuk mengaktifkan hanya protokol 2 seperti yang ditunjukkan di bawah ini :

Menggunakan editor favorit Anda, buka file /etc/ssh/sshd_config dan cari baris yang mengatakan:

Protocol 2,1

Ubah barisnya sehingga hanya tertulis protokol 2 !

Protocol 2

Setelah modifikasi jangan lupa restart sshd seperti gambar dibawah ini :

Caution: Follow tip #12 to ensure sshd_config file is error free
/etc/init.d/sshd restart

7. Bagaimana cara membatasi Login Jarak Jauh hanya untuk pengguna tertentu dari Alamat IP tertentu?

Jika Anda yakin, server SSH Anda akan digunakan oleh pengguna dari host yang sangat spesifik Misalnya:Server SSH hanya diakses oleh pengguna dari LAN organisasi, maka lebih baik mengizinkan pengguna untuk login dari host tertentu. Untuk melakukannya ikuti prosedur di bawah ini :

Menggunakan editor favorit Anda, buka file /etc/ssh/sshd_config dan tambahkan baris di bawah ini :

AllowUsers [email protected]

Anda juga dapat memblokir rentang IP seperti di bawah ini :

AllowUsers [email protected].*
AllowUsers [email protected].*.*

Setelah modifikasi jangan lupa restart sshd seperti gambar dibawah ini :

Caution: Follow tip #12 to ensure sshd_config file is error free
/etc/init.d/sshd restart

8. Bagaimana cara menghentikan serangan SSH berbasis bot otomatis ?

Anda dapat melihat artikel kami sebelumnya – Bagaimana cara menghentikan serangan SSH berbasis bot otomatis?

9. Cara Mem-Hash File Host yang Dikenal

Lihat artikel kami sebelumnya : Cara Men-Hash File Host yang Diketahui dari ~/.ssh/ directory

10. Cara mengonfigurasi Interval Batas Waktu Keluar Idle untuk SSH

Pengguna sering melakukan remote login dan lupa logout! Sesi Idle dapat menyebabkan risiko keamanan. Administrator perlu menyetel interval waktu tunggu Idle untuk keluar dari sesi menganggur tersebut. Untuk mengatur interval Timeout untuk idle logout ikuti panduan di bawah ini :

Menggunakan editor favorit Anda, buka /etc/ssh/sshd_config file dan cari baris di bawah ini :

#ClientAliveInterval 0

Hapus simbol # dan ubah ClientAliveInterval menjadi 300 (Interval batas waktu dalam detik yaitu, 300 detik =15 menit). Setelah interval ini berlalu, pengguna yang tidak aktif akan keluar secara otomatis.

ClientAliveInterval 300

Setelah modifikasi jangan lupa restart sshd seperti gambar dibawah ini :

Caution: Follow tip #12 to ensure sshd_config file is error free
/etc/init.d/sshd restart

11. Cara mengonfigurasi Penganalisis Log untuk SSH

Mencatat aktivitas pengguna akan selalu memberikan administrator informasi tambahan tentang aktivitas pengguna di server. Selain alat seperti LogWatch, Anda dapat dengan mudah membaca semua log untuk jangka waktu tertentu dan membuat laporan dalam format yang mudah dibaca pengguna.

Menggunakan editor favorit Anda, buka /etc/ssh/sshd_config file dan cari baris di bawah ini :

#LogLevel INFO

Hapus simbol # dan mulai ulang layanan sshd seperti yang ditunjukkan di bawah ini :

Caution: Follow tip #12 to ensure sshd_config file is error free
/etc/init.d/sshd restart

12. Verifikasi konfigurasi SSH sebelum memulai ulang daemon 'sshd'

Saat Anda membuat perubahan pada sshd_config , pastikan Anda tidak meninggalkan kesalahan. Jalankan perintah di bawah ini untuk memeriksa apakah sshd_config berisi kesalahan apa pun sebelum memulai ulang SSH server.

# /usr/sbin/sshd -t

sekarang, restart layanan seperti di bawah ini:

# /etc/init.d/sshd restart

(atau)

# service sshd restart

Linux
  1. Aktifkan login root SSH di Server Linux Debian

  2. Praktik Terbaik Keamanan OpenSSH

  3. Aktifkan SSH di CentOS 8 - Metode Terbaik?

  1. 7 Tips Pengerasan Keamanan Teratas untuk Server CentOS 8 / RHEL 8

  2. Ubah nomor port server SSH default

  3. Cara Mengamankan Layanan SSH dengan Port Knocking

  1. Cara Mengaktifkan Layanan SSH di Ubuntu 22.04 LTS

  2. Memecahkan masalah SSH

  3. Bagaimana cara mengaktifkan penerusan SSH X11 melalui server tambahan?