Bezpieczna zdalna edycja plików z dostępem do katalogu głównego przez SSH

8

Zgodnie z najlepszymi praktykami bezpieczeństwa nie należy zezwalać na logowanie roota przez SSH za pomocą hasła lub kluczy. Zamiast tego należy użyć sudo.

Jeśli jednak ktoś chce używać SSH (SFTP) do zdalnej edycji plików konfiguracyjnych serwera, takich jak pliki / etc (Apache, Cron, nazywasz to)), jak to zrobić?

  • Czy zdalna edycja plików z dostępem roota przez SFTP może być zgodna z najlepszymi praktykami bezpieczeństwa

  • Jak ustawić uprawnienia do plików, grupy użytkowników i takie, które są przestrzegane zgodnie z najlepszymi praktykami bezpieczeństwa

Obecnie używam uwierzytelniania za pomocą klucza publicznego chronionego hasłem, aby zalogować się jako root, ale nie jestem pewien, czy jest coś bezpieczniejszego, co mogę zrobić, aby można było całkowicie wyłączyć logowanie SSH do roota.

Serwer to Ubuntu 12.04.

Mikko Ohtamaa
źródło
Więc jaki jest twój system operacyjny klienta? Proszę uściślić swoje pytanie!
SPRBRN
Nie rozumiem, dlaczego bezpośrednie logowanie do roota na podstawie klucza powinno być mniej bezpieczne niż sudo.
jpc,

Odpowiedzi:

2

Jeśli naprawdę potrzebna jest zdalna edycja, jednym prostym rozwiązaniem może być przechowywanie kopii pliku / etc (lub jego części) u innego lokalnego użytkownika i skonfigurowanie systemu, aby kopiował stamtąd zmiany do prawdziwego pliku / etc. Jeszcze lepiej byłoby użyć git - lub svn lub dowolnego innego systemu kontroli wersji - i miałbyś również dodatkowy dziennik zmian.

Możliwe jest również ustawienie chroot na SFTP i wyłączenie normalnego logowania dla określonego konta - lub ograniczenie logowania do tego użytkownika tylko z określonych adresów IP - z tą samą funkcją OpenSSH (Match Group itp.). O tym sprawdź http://www.thegeekstuff.com/2012/03/chroot-sftp-setup/

Pamiętaj jednak, że większość plików konfiguracyjnych w / etc umożliwia uzyskanie dostępu do konta root po prostu poprzez ich edycję. Widziałem systemy skonfigurowane za pomocą svn / git do sprawdzania poprawności plików konfiguracyjnych przed zaakceptowaniem zmian plików - które mogłyby zostać wykorzystane do akceptowania tylko bezpiecznych formatów konfiguracji.

W każdym razie istnieje wiele różnych rozwiązań tego problemu. To było tylko jedno podejście.

thejhh
źródło
1

Nie rozumiem, dlaczego sudo nie edytuje tych plików przez SSH. Robię to cały czas, np

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

Jeśli chcesz użyć edytora GUI, możesz użyć tunelowania X. Musisz zezwolić na to w pliku ssh conf, a następnie użyć -Xopcji w wierszu poleceń ssh.

ssh -X server.example.com

Następnie możesz edytować plik w edytorze GUI:

sudo gedit /etc/apache2/sites-available/default
Mikkel
źródło
To jest zdalna edycja w sensie, o którym mówiłem; Używasz programu gedit na serwerze, a nie lokalnego edytora tekstu, który edytuje pliki przez SSH / SFTP
Mikko Ohtamaa