Sesuai praktik keamanan terbaik, seseorang tidak boleh mengizinkan login root melalui SSH dengan kata sandi atau kunci. Sebaliknya, sudo harus digunakan.
Namun, jika seseorang ingin menggunakan SSH (SFTP) untuk pengeditan jarak jauh file konfigurasi server, seperti yang tinggal di / etc (Apache, Cron, sebut saja), bagaimana ini harus dilakukan?
Dapat mengedit root-accesible file jarak jauh melalui SFTP agar kompatibel dengan praktik terbaik keamanan
Bagaimana seseorang harus mengatur izin file, grup pengguna dan sedemikian rupa sehingga praktik terbaik keamanan diikuti
Saat ini saya menggunakan otentikasi kunci publik yang dilindungi frasa sandi untuk login sebagai root, tetapi saya tidak yakin apakah ada sesuatu yang lebih aman yang bisa saya lakukan, sehingga root yang menghadap SSH login bisa dinonaktifkan sama sekali.
Servernya adalah Ubuntu 12.04.
Jawaban:
Jika pengeditan jarak jauh benar-benar diinginkan, salah satu solusi sederhana adalah menyimpan salinan / etc (atau bagian dari itu) pada pengguna lokal lain dan mengatur sistem untuk menyalin perubahan dari sana ke / etc nyata. Bahkan yang lebih baik adalah menggunakan git - atau svn, atau sistem kontrol versi lain pilihan Anda - dan Anda akan memiliki log perubahan tambahan juga.
Anda juga dapat mengatur chroot pada SFTP dan menonaktifkan login normal untuk akun tertentu - atau membatasi login hanya untuk pengguna itu dari alamat IP yang ditentukan - dengan fitur yang sama dari OpenSSH (Match Group, dll). Tentang itu, periksa http://www.thegeekstuff.com/2012/03/chroot-sftp-setup/
Namun harap diingat bahwa sebagian besar file konfigurasi di / etc memungkinkan untuk mendapatkan akses root hanya dengan mengeditnya. Saya telah melihat sistem yang dikonfigurasikan dengan svn / git untuk memeriksa validasi file konfigurasi sebelum menerima perubahan file - yang dapat digunakan untuk hanya menerima format konfigurasi yang aman.
Bagaimanapun, ada banyak solusi berbeda untuk masalah ini. Ini hanya satu pendekatan.
sumber
Saya tidak mengerti mengapa tidak baik untuk mengedit file-file itu melalui SSH. Saya selalu melakukannya, misalnya
Jika Anda ingin menggunakan editor GUI, Anda dapat menggunakan tunneling X. Anda harus mengizinkannya di file conf ssh Anda dan kemudian menggunakan
-X
opsi pada baris perintah ssh Anda.Kemudian Anda dapat mengedit file file editor GUI:
sumber
Lihat jawaban SO ini untuk contoh bagaimana melakukan ini melalui terowongan SSH di Sublime Text.
sumber