Najlepszą praktyką jest usunięcie zdolności „root” do logowania się na ssh. Muszę jednak uruchomić kilka poleceń Ansible i łączę się przez użytkownika o nazwie „amdhske”, a następnie ustawiłem tego użytkownika, aby nie musiał wprowadzać hasła sudo
w przeciwnym razie Ansible musi trzymać hasło użytkownika w ruchu.
Jaki jest zatem sens wyłączenia dostępu roota w tym przypadku? Każdy atakujący, który wejdzie na konto użytkownika „amdhske” za pośrednictwem ssh, może wtedy sudo
do diabła z serwerem. Domyślam się, że jedyną zaletą jest to, że wybierając długą losową nazwę użytkownika, jest mało prawdopodobne, aby napastnik wiedział o tym, podczas gdy „root” jest domyślną nazwą użytkownika, no, „root”. Czy jest jakiś inny powód?
superuser
/sudo
bez wprowadzania hasła. Nie służy to żadnemu celowi, oprócz wyłączenia innego wektora ataku, oczywiście, że istniejący wektor ataku jest nawet najgorszy, a root jest dostępny przez ssh.Odpowiedzi:
Całkiem proste. Dwa powody:
Możesz ograniczyć to, co możesz sudo, bez hasła ze swoim użytkownikiem. Po prostu wprowadź odpowiednią konfigurację w plikach sudoers:
Jeśli logujesz się za pomocą roota, masz wszystkie uprawnienia do robienia wszystkiego.
Dlatego właśnie dobra praktyka bezpieczeństwa polega na wyłączeniu logowania roota.
źródło
Aby rozwiązać problem za pomocą „Ansible” bez wyłączania pytania o hasło
sudo
, możesz sudo trywialne polecenie jaksudo ls
a następnie kontynuuj zsudo Ansible
. To tylko praca wokół ciebie i ciebiesudo
wygasa po upływie pewnego czasu, więc nie może całkowicie rozwiązać problem.PS. Rozumiem, że nie dotyczy to bezpośredniego pytania PO, ale próbuję rozwiązać jego problem z rootem
źródło
Dzieje się tutaj kilka rzeczy, a niektóre mogę przegapić, ale tutaj.
Bezpieczeństwo według niejasności: sprawdź swój dziennik autoryzacji przez jakiś czas. Prawdopodobnie codziennie są setki prób logowania do roota za pomocą zautomatyzowanych skryptów, a uniemożliwienie logowania przez tego użytkownika blokuje niektóre słabo widziane owoce.
Starsze strategie: nie jest to tak duży interes z uwierzytelnianiem opartym na kluczach, ale przy starszych modelach uwierzytelniania bardzo trudno było pozostawić logowanie roota otwarte. Te najlepsze praktyki nie uległy zmianie, ponieważ logowanie do roota nie przynosi żadnych rzeczywistych korzyści.
Logowanie: Jeśli każdy użytkownik ma swoje własne konto, możesz łatwiej stwierdzić, kto zrobił to, co w twoim systemie.
Ponadto sudo bez hasła nie było jeszcze tak dawno uważane za bardzo słabą praktykę. Tylko w wieku uwierzytelniania opartego na kluczu stało się to przydatne i bezpieczne. Użytkownicy często nie znają swoich haseł, więc nie mogą ich podać, nawet jeśli zostaną o to poproszeni.
źródło