Zatrudniłem zdalnego konsultanta, który dostroiłby moje serwery. Teraz nie jestem w 100% pewien, czy podam mu hasło roota i pozwolę mu robić wszystko, co chce robić na serwerach. Idealnie chciałbym zobaczyć wszystko, co robi moim serwerom (w czasie rzeczywistym), a także znaleźć sposób, aby nie udostępniać mu hasła roota.
Czy są jakieś najlepsze praktyki pozwalające zdalnemu konsultantowi na dostęp do twojego serwera?
EDYCJA: Aby to wyjaśnić, chcę zrobić pewnego rodzaju zrzut ekranu z konsultantem. Czy jest jakaś metoda, dzięki której jego polecenia są tunelowane przez moje konto bez otrzymywania hasła?
PS: Moje serwery są na Ubuntu 9.10
Odpowiedzi:
Możesz pozwolić mu połączyć się ze zwykłym kontem, a następnie monitorować jego sesję SSH . Rozwiązanie oparte na ekranie jest moim zdaniem najlepsze i pozwala na „sparowanie” administracji systemu. Na przykład może wpisać polecenia sudo, a ty wpisz hasło, jeśli będzie potrzebne.
PS Jeśli używasz ekranu, nie oznacza to, że nie powinieneś także używać sudosh2 ani innych rozwiązań.
źródło
Zamiast przyznać mu hasło roota, użyj sudo.
Jeśli chcesz zobaczyć wszystko, co robi w czasie rzeczywistym jako administrator, sprawdź sudosh2 . Z dokumentów:
„Wszystkie naciśnięcia klawiszy” obejmują naciśnięcia klawiszy ze spacji, usuwania znaków, „wymazywania słowa” BASH itp. Możesz oglądać kłopotliwe literówki i poprawki itp.
sudosh będzie obsługiwał syslog i możesz wysłać logi do zdalnego serwera syslog. Zapewni to, że użytkownik nie będzie mógł usunąć wszystkich kopii dzienników kontroli.
Zauważ, że oryginalny projekt sudosh (pierwsza wersja) został porzucony przez autora. sudosh2 żyje i ma się dobrze.
źródło
To zależy od tego, jaki poziom dostępu chcesz mu / jej dać. Nigdy nie włączyłem zdalnych loginów roota. Tylko „normalne” konta powinny mieć zdalny dostęp, a następnie skonfigurować sudo na wszystko, czego potrzebuje ta osoba.
źródło
sudo
dostęp do niektórych poleceń, na przykładPo pierwsze, powinieneś mieć jasno określone cele dotyczące tego, co chcesz, aby zrobił. Po zdefiniowaniu tych celów możesz przyznać mu poziom dostępu wymagany do osiągnięcia tych celów.
To jak wysadzenie samochodu w warsztacie i kazanie im „naprawić”. Następną rzeczą, o której wiesz, że mam rachunek za tysiące dolarów, a oni zrobili rzeczy, których nie chciałem robić i o które nie prosiłem.
źródło
Dodaję inną, inną odpowiedź w odpowiedzi na twoją aktualizację.
Korzystając z ekranu GNU, możesz udostępnić ekran innemu użytkownikowi. Oznacza to, że może pisać polecenia, a ty widzisz wszystko, co pisze. Możesz pisać polecenia, a on może zobaczyć, co piszesz. Gdy pojawi się monit o hasło, możesz wpisać hasło, ale treść hasła nie jest drukowana na ekranie (Uwaga: tekst nie jest drukowany na ekranie, ale nie jestem pewien, czy inny użytkownik będzie mógł uzyskać dostęp do klawiszy w inny sposób lub masz dostęp do bufora klawiszy itp.).
Więcej informacji na http://www.debian-administration.org/article/Using_GNU_screen%27s_multiuser_feature_for_remote_support
Inna sugestia: wcześniej zmień hasło root na hasło tymczasowe. Kiedy go nie będzie, przywróć hasło roota do oryginalnego hasła.
źródło
Jeśli zezwalasz tylko na dostęp do klucza publicznego do serwera, ale nie logujesz się za pomocą hasła, możesz w dowolnym momencie odwołać prawo dostępu, usuwając klucz, który przekazałeś konsultantowi.
Po uruchomieniu na ekranie ekran GNU powinien zapewniać wszystkie pożądane funkcje - jak sugerował Cristian Ciupitu. Jeśli chcesz zwiększyć komfort, sudosh2 może ci pomóc, ale historia twoich powłok i wydruków ekranów mogą pomóc ci później odtworzyć polecenia ...
źródło