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.
Odpowiedzi:
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.
źródło
Nie rozumiem, dlaczego sudo nie edytuje tych plików przez SSH. Robię to cały czas, np
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ć
-X
opcji w wierszu poleceń ssh.Następnie możesz edytować plik w edytorze GUI:
źródło
Zobacz tę SO odpowiedź na przykład, jak to zrobić przez tunel SSH w Sublime Text.
źródło