Cara Mengamankan Layanan Linux VPS SSH

Faktanya, daemon Secure Shell (SSH) yang berjalan di VPS adalah layanan yang paling sensitif terhadap serangan sistem. Seorang peretas bernilai pertama-tama akan mencoba mengakses VPS melalui SSH, dan 99,9% dari semua VPS yang terhubung ke internet menjalankan layanan ini pada IP publik secara default.

Ketika seseorang mengakses VPS melalui layanan SSH, mereka dapat mengucapkan selamat tinggal pada data mereka dan VPS lainnya. Ini adalah tujuan akhir dari setiap calon peretas, jadi sebagai administrator VPS, menjaga keamanannya adalah hal pertama yang harus Anda lakukan.

Pada artikel ini, saya akan menunjukkan kepada Anda cara mengambil tiga tindakan pencegahan sederhana untuk berhenti melacak sebagian besar peretas dan skrip kiddies menggunakan layanan SSH Anda. Jadi apa yang akan Anda pelajari?

Bagaimana dan mengapa mengubah port mendengarkan SSH
Cara Menonaktifkan Akses Berbasis Kata Sandi ke SSH dan Hanya Mengizinkan Akses Berbasis Kunci
Ini menggunakan sistem deteksi intrusi untuk memantau upaya login SSH yang gagal dan secara otomatis memblokir IP asli.

Mari kita mulai karena tiga langkah yang diuraikan di atas dapat secara signifikan meningkatkan keamanan layanan SSH yang tersedia untuk umum yang berjalan di VPS tanpa biaya keuangan tambahan.

Ubah port mendengarkan SSH

Ini adalah yang paling mudah dari tiga tindakan pencegahan untuk diterapkan, tetapi ini benar-benar mengurangi jumlah upaya login yang tidak sah ke VPS Anda melalui layanan SSH. Port SSH default adalah 22, dan pemindaian keamanan yang dilakukan pada VPS akan memastikan bahwa port ini terbuka. Mari pindahkan port dengan baik dan selesaikan.

Masuk ke VPS dengan hak akses root
Edit file berikut /etc/ssh/sshd_config (mis. vi /etc/ssh/sshd_config)
Ubah entri port dari 22 menjadi antara 1025 dan 65535 untuk memastikan port tidak digunakan untuk hal lain (dengan menjalankan netstat -nap).
Simpan perubahan
Mulai ulang layanan SSH (biasanya /etc/init.d/sshd restart ).

Selain itu, mengubah port default memudahkan untuk menangkap orang yang tidak berwenang yang mencoba mengakses layanan SSH saat digunakan bersama dengan sistem deteksi intrusi yang dirinci nanti dalam artikel ini, jadi mengubah port SSH adalah situasi yang benar-benar menguntungkan.

Konfigurasikan akses berbasis kunci

Ini adalah salah satu cara terbaik untuk mengamankan layanan SSH Anda. Saat dikonfigurasi, ini mencegah pengguna mengakses VPS Inggris melalui otentikasi berbasis kata sandi dan sebaliknya mengharuskan setiap pengguna untuk mengautentikasi dengan terlebih dahulu menghadirkan kunci dan kemudian memasukkan kata sandi yang sesuai untuk kunci tersebut. Masuk sekarang memerlukan kunci dan kata sandi, membuat proses otentikasi jauh lebih aman. Jadi kami sekarang memiliki proses verifikasi dua langkah.

Pertama, Anda perlu membuat pasangan kunci lokal pada mesin klien yang menjalankan OpenSSH. Contoh ini menggunakan komputer Linux. Saat dimintai kata sandi, masukkan kata sandi login Anda. Saat menghubungkan ke VPS, Anda harus memasukkan:

~# ssh-keygen

Buat pasangan kunci rsa publik/pribadi.

Masukkan file untuk menyimpan kunci di (/root/.ssh/id_rsa):

Masukkan kata sandi (kosong tanpa kata sandi):

Masukkan kata sandi yang sama lagi.

ID Anda disimpan di /root/.ssh/id_rsa.

Kunci publik disimpan di /root/.ssh/id_rsa.pub.

Sidik jari utama adalah:

44:4c:ef:20:94:15:54:c2:6f:ca:ab:21:34:43:3d:42

File kunci publik/pribadi telah dibuat di direktori ~/.ssh/ dari pengguna yang saat ini masuk. Sekarang Anda perlu menyalin kunci publik ke file VPS Authorized_keys. Copy isi file ~/.ssh/id_rsa.pub dan paste ke file /root/.ssh/authorized_keys di VPS (buat file jika belum ada).

Selanjutnya, kita perlu mengkonfigurasi layanan SSH pada VPS untuk hanya mengizinkan akses berbasis kunci. Edit file /etc/ssh/sshd_config dan atur parameter PasswordAuthentication ke no. Layanan SSH sekarang harus dimulai ulang (biasanya /etc/init.d/sshd restart ) agar perubahan diterapkan. Anda harus membiarkan jendela konsol SSH yang ada terbuka di server sampai Anda memverifikasi bahwa Anda dapat terhubung ke layanan SSH menggunakan kunci dan kata sandi Anda.

Untuk mengakses server, Anda sekarang dapat masuk melalui SSH dari klien yang menghasilkan pasangan kunci publik/pribadi SSH dan memasukkan kata sandi Anda saat diminta. Jika Anda menggunakan komputer yang berbeda dari komputer yang membuat pasangan kunci, Anda harus menyalin kunci pribadi ke komputer. Jika Anda menggunakan Linux, Anda harus menyalin kunci ke direktori ~/.ssh/. Jika Anda menggunakan klien SSH yang berbeda, Anda harus mengikuti instruksi yang diberikan oleh vendor.

Pantau dan blokir kegagalan login dengan IDS

Cara termudah untuk memantau dan memblokir login pengguna yang gagal adalah dengan menginstal CSF. Ini adalah sistem deteksi intrusi gratis yang sangat baik dan aplikasi firewall berbasis iptables yang berjalan di sebagian besar sistem VPS. Unduh skrip dari http://configserver.com/cp/csf.html dan ikuti petunjuk penginstalan untuk distribusi Linux Anda.

Setelah Anda menginstal CSF, hapus port 22 dari opsi TCP_PORT yang masuk, edit file /etc/csf/csf.config dan mulai ulang layanan CSF ( /etc /init.d /csf ).

Setelah Anda puas dengan konfigurasi CSF, atur TESTING = 0 di /etc/csf/csf.config dan mulai ulang layanan CSF ( /etc/init.d/csf ). Jika Anda tidak mematikan tes, setelah 5 menit firewall akan dihapus dan semuanya akan berlalu!

Secara default, CSF sekarang memantau log otentikasi server dan melarang IP dengan terlalu banyak upaya login yang gagal. IP yang terlalu sering menyerang port 22 juga dilarang.