Saya memiliki jaringan kecil server dan saya ingin meningkatkan keamanan umum. Saya tidak punya cukup waktu / uang / paranoia untuk mengatur VPN - apa cara dasar saya dapat meningkatkan keamanan sistem saya?
Satu hal yang mungkin mengharuskan pengguna mengirim kunci mereka dan memasukkan kata sandi. Ini agak sulit bagi Google karena segala sesuatu tentang "kata sandi kunci ssh" adalah tentang sshing tanpa kata sandi. :-)
Satu skema yang selalu ingin saya mainkan adalah mensyaratkan bahwa koneksi yang masuk hanya berasal dari daftar putih alamat ip dyndns. Saya tahu beberapa kepala keamanan akan muntah ketika memikirkan ide itu, tetapi faktanya adalah hal itu akan menambah kompleksitas yang sangat signifikan untuk mengeksploitasi sebuah kotak.
Bagaimana menurut anda? Apa lagi yang ada di luar sana?
Jawaban:
Login dengan kata sandi dan kunci sama dengan "hanya dengan kunci". Selama pembuatan kunci, Anda diminta untuk memasukkan frasa sandi. Jika Anda membiarkannya kosong, Anda tidak akan diminta kata sandi. Jika Anda mengisi beberapa frasa sandi, Anda akan dimintai setiap saat ketika Anda ingin masuk.
Jika Anda khawatir dengan keamanan, pertimbangkan beberapa saran yang disebutkan trilyun kali di forum ini:
Dll.
Pembaruan: Silakan merujuk ke jawaban di sini untuk cara meminta kunci publik dan kata sandi sistem lokal dengan server OpenSSH.
sumber
Satu ide yang menurut saya menarik adalah port knocking - pada dasarnya, untuk membuat koneksi ssh, Anda harus terlebih dahulu menyelidiki urutan port lain, sebelum server ssh akan menerima permintaan koneksi. Jika urutan port yang benar tidak digunakan, tidak ada respons, sehingga secara efektif sepertinya tidak ada server ssh yang berjalan. Urutan port dapat disesuaikan dan dapat dibagikan dengan pengguna yang Anda inginkan; semua orang secara efektif tidak dapat terhubung.
Saya belum mencoba ini sendiri, tetapi dari apa yang saya dengar (yang sebenarnya tidak banyak, sebenarnya) overhead dapat diabaikan dan sangat menurunkan profil visibilitas Anda.
sumber
Tambalan terkait dengan mengaktifkan langsung di SSH dan banyak diskusi yang relevan:
Ini juga dapat dilakukan tanpa modifikasi dengan menggabungkan skrip verifikasi kata sandi dengan penggunaan
ForceCommand
opsi konfigurasi.Akhirnya, meskipun tidak ada modul untuk itu, jika Anda memindahkan otentikasi kunci publik ke PAM maka Anda akan dapat meminta kedua langkah untuk lulus sebelum PAM dianggap otentikasi berhasil.
sumber
Gunakan saja
di
sshd_config
jika Anda menggunakan sshd dari ssh.com. Fitur ini tidak tersedia di OpenSSH.sumber
RequiredAuthentications
jelas bukan ekstensi standar untuk OpenSSHAnda juga dapat menggunakan kata sandi satu kali untuk meningkatkan keamanan. Ini akan memungkinkan pengguna untuk masuk dari terminal tidak aman, yang mungkin memiliki keylogger, jika mereka sebelumnya membuat kata sandi berikutnya. Juga ada generator kata sandi yang dapat diinstal bahkan pada ponsel Java MIDP lama, yang selalu Anda bawa.
sumber
Saya akan merekomendasikan bahwa Anda tidak pernah menjalankan sshd, rdp atau layanan manajemen seperti itu tanpa batasan IP. Bahkan, saya sarankan membatasi akses ke layanan tersebut ke administrator yang terhubung melalui VPN.
sumber
Mengenai pertanyaan awal Anda tentang memerlukan kunci dan kata sandi, jika Anda menjalankan RHEL atau CentOS 6.3, ini sekarang dapat dilakukan. The catatan RHEL 6.3 rilis menggambarkannya, itu soal menambahkan ini ke sshd_config Anda
sumber
Saya sangat setuju dengan 3molo. OpenSSH adalah server SSH standar untuk Linux dan Unix. Tidak ada alasan bagi kami untuk mengubahnya, terutama untuk keamanan. VPN harus menjadi solusi terbaik, yang dapat mengenkripsi lalu lintas kami dan memberikan otorisasi kata sandi 2 langkah.
sumber
Tidak yakin mengapa tidak ada yang menyebutkannya tetapi - Anda harus memastikan untuk menghasilkan kunci lebih lama dari 1024 bit default yang tidak lagi dianggap aman.
sumber