GNU/Linux >> Belajar Linux >  >> Linux

Pengerasan Konfigurasi SSH

Postingan ini tentang Pengerasan Konfigurasi SSH

Pengantar

SSH telah menjadi alat standar untuk manajemen jarak jauh sistem berbasis UNIX. Daemon SSH (sshd ) diinstal pada hampir semua sistem utama secara default. Selain itu, sshd juga menyediakan banyak opsi konfigurasi untuk kami.

Catatan :Artikel ini merupakan lanjutan dari topik saya sebelumnya tentang Lynis. Meskipun saya telah mencoba membuat ini dapat dibaca sendiri. Anda mungkin ingin mempertimbangkan untuk membaca yang sebelumnya untuk mendapatkan beberapa konteks.

Pengaturan default openssh (versi SSH yang dikembangkan oleh proyek OpenBSD) mengikuti filosofi "aman secara default" sehingga sebagian besar konfigurasi aman dengan sendirinya. Namun, saat melakukan pemindaian audit lynis, saya telah menerima beberapa saran tentang konfigurasi. Jadi mari kita membahas saran untuk lebih memperkuat daemon SSH kita. Saya juga akan mengomentari apakah menonaktifkan/mengaktifkan beberapa di antaranya meningkatkan keamanan apa pun.

Pengerasan Konfigurasi SSH

Sarannya termasuk memodifikasi sshd . kami konfigurasi. Sebagai jalur default untuk sshd config adalah /etc/ssh/sshd_config , di situlah kita harus melihat.

Penerusan TCP dan Agen

Seperti yang dapat dilihat dari tangkapan layar, lynis merekomendasikan agar kami menyetel AllowTCPForwarding dan AllowAgentForwarding ke no. Ini adalah saran yang baik untuk hanya menggunakan apa yang diperlukan sehingga kami harus menonaktifkan opsi ini jika kami tidak menggunakannya. Namun, menonaktifkan ini tidak akan meningkatkan keamanan jika pengguna memiliki akses shell dalam hal ini mereka dapat mengatur forwarder mereka sendiri (seperti yang ditunjukkan oleh sshd_config(5) halaman manual).

ClientAliveCountMax

ClientAliveCountMax dan ClientAliveInterval adalah dua opsi terkait. Hitungan maks, dikalikan dengan interval hidup klien dalam hitungan detik, menentukan kapan koneksi menjadi tidak responsif. Saya tidak melihat bagaimana ini akan memengaruhi keamanan. Mungkin, saya perlu melakukan penelitian lebih lanjut. Meskipun demikian, menurunkan nilainya tidak ada salahnya.

Kompresi

SSH memungkinkan kita untuk mengompresi data yang dikirim setelah otentikasi melalui opsi ini. Pada modem yang lambat, kompresi dapat meningkatkan kecepatan koneksi. Namun, pada sebagian besar sistem modern yang mengaktifkan ini seharusnya tidak berpengaruh. Selain itu, ini juga dapat memperkenalkan kita pada serangan BREACH seperti yang ditunjukkan dalam komentar GitHub ini. Karena itu, mari kita ambil lynis' saran.

Level Log

sshd mencatat pesan ke journald secara default pada sebagian besar distribusi GNU/Linux. Opsi ini mengontrol tingkat detail yang akan dicatat. lynis merekomendasikan pengaturan ini dari INFO ke VERBOSE yang dapat membantu dalam pemecahan masalah, dll. Halaman manual sshd_config(5) menunjukkan, bagaimanapun, bahwa pengaturan ke tingkat yang lebih tinggi (misalnya DEBUG) dapat melanggar privasi penggunanya. Jadi, saya benar-benar tidak melihat peningkatan keamanan dengan mengubah setelan ini.

MaxAuthTries

Nilai ini menentukan berapa banyak upaya otentikasi untuk mengizinkan per koneksi. Selain itu, ketika kegagalan upaya koneksi mencapai setengah dari nilai ini, maka sshd akan mulai mencatat kegagalan. Ergo, masuk akal untuk menurunkan nilai ini.

MaxSessions

Nilai opsi ini menentukan berapa banyak sesi shell yang diizinkan per koneksi. Saya tidak berpikir seseorang mungkin perlu ssh ke dalam satu server beberapa kali sekaligus. Selain itu, ada juga tmux yang memungkinkan kita untuk melakukan multiplexing yang kita inginkan tanpa membuka banyak sesi. Jadi, masuk akal untuk menerima saran ini.

Port

Interpretasi saya dari saran ini adalah bahwa kita harus mengatur sshd mendengarkan port ke beberapa nilai lain. Ini akan terbukti berguna untuk bertahan melawan sebagian besar botnet yang memindai internet mencari mesin yang rentan pada port default. Namun, siapa pun yang mengetahui dasar-dasar pemetaan jaringan (alat seperti nmap ) akan tahu bahwa ini tidak akan membantu. Meskipun demikian, mari kita atur ke nilai non-default.

TCPKeepAlive

Menyetel opsi ini ke YA akan membantu server mengetahui saat koneksi mati. Dengan begitu, sesi tidak menggantung tanpa batas waktu di server. Oleh karena itu, saya pikir lebih baik tidak menonaktifkan opsi ini.

Penerusan X11

Meskipun, sebagian besar ssh sesi dimaksudkan hanya berbasis teks. Namun, openssh juga menyediakan fitur untuk membuka aplikasi GUI di server yang akan ditampilkan di klien. Cara kerjanya adalah X server membuka saluran kembali ke klien. Masalahnya adalah, X11 tidak pernah dirancang dengan mempertimbangkan keamanan. Diasumsikan bahwa semua program dipercaya karena dijalankan oleh kami. Tetapi, seperti yang ditunjukkan oleh jawaban ini, dengan X11Forwarding, server dapat mengontrol klien dan dengan demikian dapat menjalankan perintah shell pada klien. Jadi, lebih baik kita mengaktifkan fitur ini jika kita tidak membutuhkannya.

Kesimpulan

Seperti biasa, keamanan adalah topik yang sangat rumit. Kami tidak selalu tahu kapan suatu sistem aman. Selain itu, tampilan keamanan bahkan lebih buruk daripada tidak adanya keamanan.

Dalam artikel ini, saya membahas berbagai konfigurasi termasuk bahkan detail yang sangat kecil yang dapat membantu meningkatkan keamanan server ssh kami. Namun seperti biasa, perkuat sistem Anda sesuai dengan model ancaman Anda.

Jadi, Anda tahu tentang Pengerasan Konfigurasi SSH


Linux
  1. Memecahkan masalah SSH

  2. Konfigurasi Magento 2 Rabbitmq

  3. SSH dengan authorized_keys ke sistem Ubuntu dengan homedir terenkripsi?

  1. File Konfigurasi Basis Data Magento 2

  2. Lokasi non-default untuk file konfigurasi ssh di Linux

  3. SSH - Cara memasukkan perintah -t di file ~/.ssh/config

  1. Kapan Menggunakan Nohup?

  2. Ssh – Log Sshd?

  3. Tidak Dapat Menjalankan Aplikasi X Melalui SSH di Linux