Pengeditan jarak jauh aman dari file yang dapat diakses root melalui SSH

8

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.

Mikko Ohtamaa
sumber
Jadi apa OS klien Anda? Harap lebih spesifik dalam pertanyaan Anda!
SPRBRN
Saya gagal melihat mengapa login root berbasis kunci langsung harus kurang aman daripada sudo.
jpc

Jawaban:

2

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.

thejhh
sumber
1

Saya tidak mengerti mengapa tidak baik untuk mengedit file-file itu melalui SSH. Saya selalu melakukannya, misalnya

sudo nano /etc/apache2/sites-available/default

Jika Anda ingin menggunakan editor GUI, Anda dapat menggunakan tunneling X. Anda harus mengizinkannya di file conf ssh Anda dan kemudian menggunakan -Xopsi pada baris perintah ssh Anda.

ssh -X server.example.com

Kemudian Anda dapat mengedit file file editor GUI:

sudo gedit /etc/apache2/sites-available/default
Mikkel
sumber
Ini adalah pengeditan jarak jauh seperti yang saya maksud; Anda menjalankan gedit di server, bukan editor teks lokal yang mengedit file melalui SSH / SFTP
Mikko Ohtamaa
0

Lihat jawaban SO ini untuk contoh bagaimana melakukan ini melalui terowongan SSH di Sublime Text.

pengguna72923
sumber