OpenSSH (Buka Shell Selamat) adalah sekumpulan aplikasi yang memungkinkan komunikasi terenkripsi melalui rangkaian, menggunakan protokol SSH. Ia dibuat sebagai alternatif percuma dan terbuka untuk program ini Shell selamat, yang merupakan perisian proprietari. « Wikipedia.
Sebilangan pengguna mungkin berpendapat bahawa amalan baik hanya boleh diterapkan pada pelayan dan tidak. Banyak pengedaran GNU / Linux termasuk OpenSSH secara lalai dan ada beberapa perkara yang perlu diingat.
Keselamatan
Ini adalah 6 perkara terpenting yang perlu diingat semasa mengkonfigurasi SSH:
- Gunakan kata laluan yang kuat.
- Tukar port SSH lalai.
- Sentiasa gunakan versi 2 protokol SSH.
- Lumpuhkan akses root.
- Hadkan akses pengguna.
- Gunakan pengesahan kunci.
- Pilihan lain
Kata laluan yang kuat
Kata laluan yang baik ialah kata laluan yang mengandungi aksara alfanumerik atau khas, ruang, huruf besar dan kecil... dsb. Di sini DesdeLinux Kami telah menunjukkan beberapa kaedah untuk menjana kata laluan yang baik. Boleh melawat artikel ini y ini lain.
Tukar port lalai
Port lalai untuk SSH adalah 22. Untuk mengubahnya, yang perlu kita lakukan adalah mengedit fail / etc / ssh / sshd_config. Kami mencari garis yang mengatakan:
#Port 22
kami melepaskannya dan menukar 22 untuk nombor lain .. contohnya:
Port 7022
Untuk mengetahui port yang tidak kita gunakan di komputer / pelayan kita dapat dijalankan di terminal:
$ netstat -ntap
Sekarang untuk mengakses komputer atau pelayan kita, kita mesti melakukannya dengan pilihan -p seperti berikut:
$ ssh -p 7022 usuario@servidor
Gunakan Protokol 2
Untuk memastikan bahawa kami menggunakan versi 2 protokol SSH, kami mesti mengedit failnya / etc / ssh / sshd_config dan cari garis yang mengatakan:
# Protokol 2
Kami melepaskannya dan memulakan semula perkhidmatan SSH.
Jangan biarkan akses sebagai root
Untuk mengelakkan pengguna root dapat mengakses jarak jauh melalui SSH, kami melihat failnya/ etc / ssh / sshd_config garisan itu:
#PermitRootLogin no
dan kami melepaskannya. Saya rasa perlu dijelaskan bahawa sebelum melakukan ini, kita mesti memastikan bahawa pengguna kita mempunyai kebenaran yang diperlukan untuk melakukan tugas pentadbiran.
Hadkan akses oleh pengguna
Tidak ada salahnya untuk membenarkan akses melalui SSH hanya kepada pengguna tertentu yang dipercayai, jadi kami kembali ke file / etc / ssh / sshd_config dan kami menambah baris:
AllowUsers elav usemoslinux kzkggaara
Di mana jelas, pengguna elav, usemoslinux dan kzkggaara adalah pengguna yang dapat mengaksesnya.
Gunakan pengesahan kunci
Walaupun kaedah ini adalah yang paling disyorkan, kita mesti berhati-hati kerana kita akan mengakses pelayan tanpa memasukkan kata laluan. Ini bermaksud bahawa jika pengguna berjaya memasuki sesi kita atau komputer kita dicuri, kita mungkin berada dalam masalah. Walau bagaimanapun, mari kita lihat bagaimana melakukannya.
Perkara pertama adalah membuat sepasang kunci (awam dan peribadi):
ssh-keygen -t rsa -b 4096
Kemudian kami memberikan kunci kami ke komputer / pelayan:
ssh-copy-id -i ~/.ssh/id_rsa.pub elav@200.8.200.7
Akhirnya kita mesti dibahas dalam fail / etc / ssh / sshd_config garisan itu:
AuthorizedKeysFile .ssh/authorized_keys
Pilihan lain
Kami dapat mengurangkan masa menunggu di mana pengguna berjaya masuk ke sistem menjadi 30 saat
LoginGraceTime 30
Untuk mengelakkan serangan ssh melalui TCP Spoofing, membiarkan bahagian ssh dienkripsi hidup selama maksimum 3 minit, kita dapat mengaktifkan 3 pilihan ini.
TCPKeepAlive no ClientAliveInterval 60 ClientAliveCountMax 3
Lumpuhkan penggunaan fail rhosts atau shosts, yang atas sebab keselamatan diminta agar tidak digunakan.
AbaikanRosting ya AbaikanPenggunaKetahuiKhostanya ya Rhosts Autentikasi no RhostsRSAAtentikasi no
Periksa kebenaran pengguna yang berkesan semasa log masuk.
StrictModes yes
Dayakan pemisahan hak istimewa.
UsePrivilegeSeparation yes
Kesimpulan:
Dengan melakukan langkah-langkah ini kita dapat menambahkan keselamatan tambahan pada komputer dan pelayan kita, tetapi kita tidak boleh lupa bahawa ada faktor penting: apa antara kerusi dan papan kekunci. Itulah sebabnya saya mengesyorkan membaca artikel ini.
Fuente: HowToForge
Pos yang sangat baik @elav dan saya menambah beberapa perkara menarik:
Log MasukGraceTime 30
Ini membolehkan kita mengurangkan masa menunggu di mana pengguna berjaya masuk ke sistem hingga 30 saat
TCPKeepAlive No.
ClientAliveInterval 60
ClientAliveCountMax 3
Ketiga-tiga pilihan ini cukup berguna untuk mengelakkan serangan ssh melalui TCP Spoofing, membiarkan enkripsi hidup di sisi ssh aktif selama maksimum 3 minit.
IgnoreRhosts ya
AbaikanUserKnownHosts ya
Pengesahan Rhosts No.
RhostsRSAPengesahan No.
Ini melumpuhkan penggunaan fail rhosts atau shosts, yang atas sebab keselamatan diminta agar tidak digunakan.
Kaedah ketat ya
Pilihan ini digunakan untuk memeriksa kebenaran pengguna yang berkesan semasa log masuk.
GunakanPrivilegeSeparation ya
Dayakan pemisahan hak istimewa.
Baiklah, sebentar lagi saya akan mengedit siaran dan menambahkannya pada siaran 😀
Tidak berkompromi agar tidak mengubah garis adalah berlebihan. Garis yang dikomen menunjukkan nilai lalai bagi setiap pilihan (baca penjelasan pada awal fail itu sendiri). Akses root dilumpuhkan secara lalai, dll. Oleh itu, membebaskan diri sama sekali tidak memberi kesan.
Ya, tetapi sebagai contoh, bagaimana kita tahu bahawa kita hanya menggunakan protokol versi 2? Kerana kita boleh menggunakan 1 dan 2 pada masa yang sama. Seperti kata baris terakhir, melepaskan pilihan ini misalnya, menimpa pilihan lalai. Sekiranya kita menggunakan versi 2 secara lalai, baiklah, jika tidak, kita menggunakannya YA atau YA 😀
Terima kasih atas komen
Artikel yang sangat bagus, saya tahu beberapa perkara tetapi satu perkara yang tidak pernah jelas bagi saya ialah penggunaan kunci, betul-betul apa itu dan apa kelebihannya, jika saya menggunakan kunci bolehkah saya menggunakan kata laluan ??? Sekiranya demikian, mengapa ia meningkatkan keselamatan dan jika tidak, bagaimana saya mengaksesnya dari komputer lain?
Salam, saya telah memasang debian 8.1 dan saya tidak dapat menyambung dari komputer windows saya ke debian dengan WINSCP, adakah saya perlu menggunakan protokol 1? sebarang pertolongan .. terima kasih
selamat tinggal
Anda mungkin berminat dengan video ini mengenai openssh https://m.youtube.com/watch?v=uyMb8uq6L54
Saya ingin mencuba beberapa perkara di sini, beberapa yang telah saya cuba terima kasih kepada Arch Wiki, yang lain kerana kemalasan atau kurang pengetahuan. Saya akan menyimpannya semasa memulakan RPi saya