jakiś czas temu podałem rootowi hasło, abym mógł zalogować się jako root i załatwić kilka rzeczy. Teraz chcę wyłączyć logowanie roota, aby zwiększyć bezpieczeństwo, ponieważ zamierzam udostępniać moją usługę w Internecie. Widziałem kilka sposobów na zrobienie tego ( sudo passwd -l root
bawiąc się /etc/shadow
itd.), Ale nigdzie nie jest powiedziane, jaki jest najlepszy / najbardziej rozsądny sposób. Zrobiłem to, sudo passwd -l root
ale widziałem porady, które mówią, że może to wpłynąć na skrypty inicjujące i że nie jest tak bezpieczne, jak się wydaje, ponieważ nadal prosi o hasło, jeśli próbujesz się zalogować, a nie całkowicie odmawia dostępu. Jak więc można to osiągnąć?
EDYCJA: aby wyjaśnić, jest to dla lokalnego logowania jako root; Wyłączyłem już zdalne logowanie przez SSH. Chociaż próba zalogowania się jako root przez SSH nadal monituje o hasło roota (co zawsze kończy się niepowodzeniem). Czy to złe?
rm
polecenia. Czegoś nauczyłem się na własnej skórze. Tak, po prostu NIE można zalogować się jako root, ale wyłączenie to ma sens z punktu widzenia administratora systemu.Odpowiedzi:
Dla mnie jest dyskusyjne, że wyłączenie roota jest warte potencjalnych problemów. Nigdy nie testowałem tak skonfigurowanego serwera. Moje preferencje to zezwalaj tylko na dostęp lokalny do roota. Jeśli osoba atakująca ma fizyczny dostęp do twojego serwera, możesz zapomnieć o wszystkim, co zrobiłeś, aby „zabezpieczyć” swoją instalację.
Wyłącz
ssh
dostęp do katalogu głównego , edytując,/etc/ssh/sshd_config
aby zawierał:Manipulując
/etc/shadow
,chsh -s /bin/false root
wszystko można cofnąć za pomocą prostego bootowalnej płyty CD / thumbdrive.Zaktualizuj według komentarza:
From help.ubuntu.com : „Domyślnie hasło do konta root jest zablokowane w Ubuntu ”. Proszę zobaczyć sekcję „Ponowne wyłączanie konta root”. Aby zresetować stan konta root, w celu instalacji domyślnej użyj następującego polecenia:
źródło
Zakładam, że odnosisz się do zdalnego logowania przez ssh. Dodaj następujący wiersz do
/etc/ssh/sshd_config
:i zrestartuj usługę ssh
To powinno wystarczyć i możesz zachować swoje konto roota tak, jak jest (lub spróbować je wyłączyć, jeśli uważasz, że jest to konieczne).
źródło
Na główne pytanie udzielono odpowiedzi kilka razy, ale na drugie pytanie nie. SSH monituje o hasło po wprowadzeniu roota po wyłączeniu go jako funkcji bezpieczeństwa. Uruchomi się również, jeśli spróbujesz zalogować się jako lkjfiejlksji.
Ma to na celu uniemożliwienie komuś przetestowania stosu nazw użytkowników, aby spróbować sprawdzić, które są prawidłowe w twoim systemie. Jednak z punktu widzenia bezpieczeństwa, jeśli wyłączyłeś rootowanie przez SSH, skonfigurowałbym również program wykrywający bruteforce (taki jak fail2ban) i ustawiłem go tak, aby nawet jeśli ktoś spróbuje zalogować się jako root, blokuje go próbowanie dodatkowych ataków.
źródło
Najlepszym sposobem jest zastąpienie zaszyfrowanego hasła * w / etc / shadow (drugie pole po pierwszym „:”), IMHO. Wyłącz także logowanie roota dla ssh (w ten sposób po prostu niemożliwe jest logowanie przez ssh jako root) i być może ograniczenie ssh do logowania do certyfikatu, co jest znacznie bezpieczniejsze niż logowanie oparte na haśle.
W większości przypadków SSH powinna być jedyną dostępną z zewnątrz usługą, która potencjalnie umożliwia logowanie do roota, więc te drzwi byłyby zablokowane.
Aby dodatkowo to ograniczyć, możesz zainstalować coś takiego jak fail2ban, który blokuje adresy IP przez pewien czas po kilku nieudanych próbach logowania.
źródło
JR i in.,
Twoi AllowUsers zaprowadzili mnie do tego https://help.ubuntu.com/community/SSH/OpenSSH/Configuring
sudo vi / etc / ssh / sshd_config
PermitRootLogin tak (zmieniono na nie)
(dodaj wiersz na dole pliku) DenyUsers użytkownik1 użytkownik2
zapisz i wyjdź, a następnie
ponowne uruchomienie ssh usługi sudo
Rozwiązałem mój problem. Dziękuje za wszystko.
źródło
Jeśli chcesz wyłączyć lokalne logowanie roota, możesz spróbować zmodyfikować / etc / passwd i zastąpić / bin / bash przez / bin / false. JEDNAK, ponieważ go nie testowałem, powiedziałbym, aby pozostawić otwartą sesję root po stronie, przetestować ją, a jeśli jest jakiś dziwny efekt uboczny, zmień go z powrotem.
źródło
Re: Bezpieczeństwo.
IMHO jest tylko tyle, co możesz zrobić, ze względów bezpieczeństwa, bez odłączania skrzynki, odłączania jej od sieci i spawania w 3-calowym, kuloodpornym pudełku ze stali węglikowej.
Pomyśl o tym w ten sposób - jeśli ludzie będą mogli zhakować Departament Obrony, CIA, FBI i Citibank - reszta z nas, zwykli śmiertelnicy, nie poradzą sobie znacznie lepiej.
Odp: Bezpieczeństwo SSH.
Nie tylko zabraniam dostępu do roota przez ssh, ale także ustawiam parametr „AllowUsers” na moją i tylko moją nazwę użytkownika. W ten sposób nikt oprócz mojego użytkownika nie może zalogować się przez ssh. Może to być zbędne, ponieważ w moim przypadku tworzę tylko JEDNEGO użytkownika root.
Niestety, jak już wiele razy powiedzieli inni, gdy tylko ktoś uzyska fizyczny dostęp do skrzynki, wszystkie zakłady są WYŁĄCZONE!
Wymiana certyfikatu na logowanie ssh? Hmmmm . . . Brzmi dobrze. Jak ty to robisz?
Jim (JR)
źródło