Sebelum saya memulai pekerjaan saya saat ini (di bisnis kecil), kantor saya tidak memiliki firewall di jaringan dan benar-benar tidak ada yang pernah didukung. Sekarang saya telah masuk sebagai sysadmin / departemen one-man-IT-berdedikasi, saya telah melakukan apa yang saya bisa untuk mengubah ini. Setelah menjelaskan kepada bos saya betapa rapuhnya kami, ia mengizinkan saya untuk membuat beberapa server cadangan, salah satunya di rumahnya.
Saat ini, saya mencoba mengatur semuanya agar saya dapat mengotomatiskan cadangan harian. Saya berencana untuk menggunakan rsync melalui ssh untuk melakukan ini. Demi keamanan dan kemudahan otomatisasi, saya berencana untuk menonaktifkan login kata sandi ssh dan hanya menggunakan validasi kunci rsa. Nah, jika saya memiliki set kata sandi rsa, maka saya masih harus memasukkan kata sandi, dan itu masalah.
Tidak memiliki frasa sandi rsa membuat semuanya secara signifikan kurang aman? Saya satu-satunya orang di perusahaan yang memiliki petunjuk tentang hal semacam ini, jadi saya tidak terlalu khawatir tentang seseorang memanggil terminal di mesin saya (yang selalu terkunci ketika saya AFK, toh ) dan ssh-ing ke salah satu server cadangan dan melakukan kerusakan apa pun. Saya masih sangat, sangat baru di dunia administrasi sistem, dan ini adalah pertama kalinya saya melakukan hal seperti ini, dan saya tidak ingin meninggalkan lubang dalam pengaturan keamanan.
Komputer yang dimaksud di sini menjalankan Ubuntu 10.10, SME Server, dan OSX 10.6, jika itu entah bagaimana membuat perbedaan.
Jawaban:
Seperti yang Anda ketahui, keuntungan yang diberikan frasa sandi kepada Anda adalah bahwa jika seseorang dapat membaca kunci pribadi Anda, mereka 'tidak dapat' menggunakannya.
Jika seseorang dapat mengakses kunci pribadi itu, Anda harus menerima begitu saja bahwa mereka memiliki akses (ed) / kompromi mesin apa pun yang diatur dengan kunci publik. Hal-hal seperti .bash_history atau .ssh / config hanya membuat ini lebih mudah, bahkan jika .ssh / known_hosts Anda dikaburkan.
Tidak memiliki kata sandi pada kunci Anda bukanlah akhir dari dunia, berikut adalah 3 ide untuk mencoba dan membantu Anda mengamankan diri Anda sedikit lebih baik meskipun demikian. ( Masalah besar adalah yang kedua, baca bahwa jika tidak ada yang lain )
Jangan hanya menggunakan kunci yang sama di semua mesin dan pengguna. Hasilkan setiap pengguna pada setiap mesin (yang perlu melakukan hal semacam ini) pasangan kuncinya sendiri. Ini akan membuat Anda tetap mengontrol dengan baik apa yang dapat dilakukan di mana.
Saat menambahkan kunci ke file otor_keys Anda, Anda dapat menguncinya hanya untuk dapat menjalankan perintah tertentu, atau menggunakannya hanya dari host tertentu.
Lihat
man ssh
dan cari perintah = dan dari =Sintaksnya adalah seperti:
from="1.2.3.4",command="/path/to/executable argument" ssh-rsa key name
yaitu pop 'rsync' di sana dan hanya 'rsync' yang dapat dipanggil oleh kunci Anda, dan hanya dari alamat IP 1.2.3.4. Beberapa IP dapat dipisahkan dengan
,
. Nama host juga didukung.Hal lain yang muncul dalam pikiran adalah arahan 'AllowUser' di sshd_config Anda
Itu pada dasarnya memastikan bahwa pengguna hanya dapat masuk dari lokasi tertentu. (Meskipun ia menerima wildcard juga) Tidak akan menyelesaikan semua masalah Anda, tetapi setidaknya akan membuat lebih sulit bagi orang lain.
sumber
Anda dapat menggunakan sesuatu seperti gantungan kunci untuk membuat frasa sandi tidak begitu menyakitkan. Ini sedikit lebih aman daripada menggunakan login tanpa kata sandi, dan dapat digunakan bersama dengan jawaban lain di sini. Jawaban PriceChild cukup bagus.
sumber
Secara pribadi saya menggunakan DSA bukan RSA, terutama karena itulah yang selalu saya gunakan dan saya tahu 'hanya berfungsi', tetapi teorinya saya kira sama. Anda bisa mengganti
dsa
denganrsa
di bawah ini.Pada sumber:
Kemudian salin isi
.ssh/id_dsa.pub
file ke.ssh/authorized_keys
dalam akun pengguna di tujuan.Maka Anda hanya bisa ssh antara sumber dan tujuan tanpa kata sandi.
sumber