Semakin banyak webmaster mulai menggunakan host khusus dan VPS. Untuk menghemat biaya atau meningkatkan kinerja, banyak komputer dan VPS yang berdiri sendiri didasarkan pada bare metal yang tidak dikelola, dan semuanya harus dibuat sendiri. Pada saat ini, penerapan kebijakan keamanan masih penting. Pada artikel berikut, saya akan mengambil CentOS sebagai contoh untuk meringkas secara singkat cara mengkonfigurasi akses aman SSH.
Strategi keamanan SSH Linux yang pertama: tutup port yang tidak relevan
Sebagian besar host yang telah disusupi di jaringan menjadi sasaran peretas yang menggunakan alat pemindaian untuk melakukan pemindaian skala besar. Oleh karena itu, untuk menghindari pemindaian, kecuali port yang diperlukan, seperti Web, FTP, SSH, dll., semua port lainnya harus ditutup. Perlu disebutkan bahwa saya sangat menyarankan untuk menutup port icmp dan menetapkan aturan untuk membuang paket icmp. Dengan cara ini, orang lain tidak dapat melakukan ping ke server Anda, dan ancamannya secara alami akan berkurang setengahnya. Untuk membuang paket icmp, tambahkan baris berikut ke iptables:
-A MASUKAN -p icmp -j JATUH
Strategi keamanan SSH Linux kedua: ubah port SSH
Port SSH defaultnya adalah 22. Sangat disarankan untuk mengubahnya menjadi lebih dari 10.000. Dengan cara ini, kemungkinan orang lain memindai port tersebut sangat berkurang. Metode modifikasi:
# Sunting /etc/ssh/ssh_config
vi /etc/ssh/ssh_config
# Di bawah Host *, tambahkan nilai Port baru. Ambil 18439 sebagai contoh (sama di bawah):
Pelabuhan 22
Pelabuhan 18439
# Sunting /etc/ssh/sshd_config
vi /etc/ssh/sshd_config
#Tambahkan nilai Port baru
Pelabuhan 22
Pelabuhan 18439
# Setelah menyimpan, restart layanan SSH:
layanan sshd dimulai ulang
Saya telah menyiapkan dua port di sini, terutama untuk mencegah SSH tidak dapat login karena kesalahan modifikasi. Ubah port koneksi klien SSH Anda (misalnya: Putty) dan uji koneksi. Jika port baru berhasil terhubung, edit dua file di atas dan hapus konfigurasi Port 22. Jika koneksi gagal, sambungkan menggunakan Port 22 lalu konfigurasi ulang.
Setelah port berhasil diatur, harap dicatat bahwa Anda juga harus menghapus port 22 dari iptables, menambahkan 18439 yang baru dikonfigurasi, dan memulai ulang iptables.
Jika kata sandi masuk SSH lemah, kata sandi yang rumit harus ditetapkan. Ada artikel di Blog Google yang menekankan keamanan kata sandi: Apakah kata sandi Anda lulus ujian?
Strategi keamanan SSH Linux tiga: batasi login IP
Jika Anda dapat terhubung ke server Anda dengan IP tetap, maka Anda dapat mengatur untuk hanya mengizinkan IP tertentu untuk masuk ke server. Misalnya, saya masuk ke server melalui VPN saya sendiri. Pengaturannya adalah sebagai berikut:
# Sunting /etc/hosts.allow
vi /etc/hosts.allow
#Misalnya hanya 123.45.67.89 yang diperbolehkan login
sshd:123.45.67.89
Strategi keamanan SSH Linux empat: Gunakan sertifikat untuk masuk ke SSH
Menggunakan sertifikat lebih aman dibandingkan login dengan kata sandi. Saya telah menulis tutorial detail membuat kopi dengan air keran, dan atas izinnya saya cetak ulang sebagai berikut:
Konfigurasikan verifikasi login sertifikat SSH untuk CentOS
Bantu administrator jaringan perusahaan mendeteksi server email dari jarak jauh, CentOS 5.1, dan menggunakan OpenSSH untuk mengelolanya dari jarak jauh. Saat memeriksa log keamanan, saya menemukan banyak IP datang untuk menebak kata sandi hampir setiap hari dalam beberapa hari terakhir. Tampaknya kita perlu mengubah metode verifikasi login dan mengubahnya menjadi verifikasi sertifikat.
Untuk berjaga-jaga, saya memulai VNC sementara untuk mencegah konfigurasi selesai dan memulai ulang sshd ketika saya senang akan menimbulkan masalah. (Belakangan saya tahu itu mubazir, cukup buka dempul terlebih dahulu dan jangan ditutup)
Berikut langkah-langkah sederhananya:
1) Pertama tambahkan akun pemeliharaan: msa
2) Lalu su - msa
3) ssh-keygen -t rsa
Setelah menentukan jalur kunci dan memasukkan kata sandi, kunci publik dan pribadi dibuat di /home/msa/.ssh/: id_rsa id_rsa.pub
4) cat id_rsa.pub >> kunci_otorisasi
Adapun mengapa file ini dibuat, karena inilah yang tertulis di sshd_config.
Kemudian chmod 400 otor_keys untuk sedikit melindunginya.
5) Gunakan psftp untuk menarik id_rsa kembali ke komputer lokal, lalu matikan id_rsa dan id_rsa.pub di server.
6) Konfigurasikan /etc/ssh/sshd_config
Protokol 2
ServerKeyBits 1024
PermitRootLogin no #Hanya melarang login root, tidak ada hubungannya dengan artikel ini, ditambah lagi lebih aman
#Tidak ada yang perlu diubah pada tiga baris berikut, hapus saja #komentar default.
Otentikasi RSA ya
Otentikasi Pubkey ya
AuthorizedKeysFile .ssh/authorized_keys
Otentikasi Kata Sandi no
IzinKosongPasswords no
7) Mulai ulang sshd
/sbin/layanan sshd restart
8) Ubah format sertifikat dan akomodasikan dempul
Jalankan puttygen untuk mengonversi id_rsa menjadi file sertifikat ppk putty
9) Konfigurasikan login Putty di koneksi--SSH--Auth, klik Telusuri, dan pilih sertifikat yang baru saja Anda konversi.
Lalu isi auto login username di connection-Data, misal punya saya msa
Isikan alamat IP server pada sesi tersebut. Jika Anda senang, Anda dapat menyimpannya.
10) Ketika Anda menyelesaikan sedikit masalah dan mencapai langkah ini, Anda mungkin merasa senang dengan sia-sia. Saat ini, Anda dapat masuk dengan penuh semangat, tetapi Anda mungkin tidak dapat masuk:
Tidak ada metode autentikasi yang didukung
Saat ini, Anda dapat memodifikasi sshd_config dan mengubahnya
PasswordAuthentification no untuk sementara diubah menjadi:
Otentikasi Kata Sandi ya dan mulai ulang sshd
Dengan cara ini, Anda dapat login dengan sukses. Setelah logout, ubah nilai PasswordAuthentication menjadi no lagi dan restart sshd.
Saat Anda login di kemudian hari, Anda akan dimintai kata sandi file kunci seperti biasa. Jika Anda menjawab dengan benar, Anda dapat login dengan senang hati.
Sedangkan untuk perintah psftp, cukup tambahkan parameter -i dan tentukan jalur file sertifikat.
Jika Anda mengoperasikan server dari jarak jauh untuk mengubah konfigurasi di atas, ingatlah untuk berhati-hati dalam setiap langkah dan hindari membuat kesalahan. Jika konfigurasi salah dan koneksi SSH tidak dapat tersambung maka akan gagal.
Pada dasarnya, setelah dikonfigurasi sesuai empat poin di atas, akses SSH di Linux relatif aman. Tentu saja, keamanan dan ketidakamanan adalah relatif. Anda harus memeriksa log server secara teratur untuk menemukan dan menghilangkan bahaya tersembunyi pada waktu yang tepat.
Sumber artikel: http://www.xiaohui.com/dev/server/linux-centos-ssh-security.htm