Wiem, że hasło sudo chroni komputer przed lokalnym włamaniem przez osobę mającą do niego fizyczny dostęp (edytuj: w rzeczywistości tak nie jest). Moje hasło jest wystarczająco silne do tego celu, ale wiem, że nie jest wystarczająco silne, jeśli ktoś może zdalnie go wymusić. Czy ktoś może uzyskać dostęp do mojego komputera w trybie root przy użyciu mojego hasła sudo bez fizycznego dostępu do komputera, w standardowej instalacji na komputerze Ubuntu?
hasło sudo nie służy wyłącznie do lokalnej ochrony, jego celem jest dodanie dodatkowej warstwy zabezpieczeń w celu korzystania z uprawnień administratora. Dobre dyskusje można znaleźć tutaj /superuser//a/771523/467316
Twoje hasło może nie być tak silne, jak myślisz. Obecnie łamie 20-40% skrótów Active Directory mojego klienta dla tych, które widziałem wcześniej, te, które mają złe reguły haseł, są łamane w 70%. Polecam 16-znakowe, złożone hasła. Karty graficzne oclHashcat i Radeon mogą wyrządzić wiele szkód. Dodaj wszystkie zrzuty haseł od każdego naruszenia w ciągu ostatnich 5 lat, a masz dobry słownik, z którego możesz pracować.
Jeśli w ogóle korzystasz z SSH, dokonaj pewnych zmian w sshd_config
sudo nano /etc/ssh/sshd_config
MUSI od razu przejść przez bramę (ostatnia, aby wyłączyć serwer ftp, jeśli go nie używasz).
Protocol 2
X11Forwarding no
PermitEmptyPasswords no
MaxAuthTries 5
#Subsystem sftp /usr/lib/openssh/sftp-server
Zapisz, uruchom ponownie ssh
sudo service ssh restart
Użyj szyfrowania klucza publicznego Rozpocznij od stworzenia sobie klucza na zdalnym komputerze (za pomocą puttygen lub innego smaku dostępnego w systemie operacyjnym). Skopiuj klucz publiczny na maszynę Ubuntu jako użytkownik, którego chcesz się zalogować jako plik autoryzowanych_kluczy (prawdopodobnie będziesz musiał go utworzyć)
sudo nano /home/yourdumbusername/.ssh/authorized_keys
skopiuj klucz publiczny w tym formacie
ssh-rsa 23r0jfjlawjf342rffjfa89pwfj8ewfew98pfrfj8428pfwa9fupfwfcajwfpawf8rfapfj9pf892jpfjpwafj8a where-ever-you-have-your-private-key-for-your-own-notes
zapisz go i skonfiguruj sshd_config, aby umożliwić logowanie za pomocą klucza publicznego
sudo nano /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
zapisz i uruchom ponownie ssh
sudo service ssh restart
Spróbuj SSHing na hoście Ubuntu z komputera z kluczem prywatnym, używając szyfrowania klucza publicznego. Jeśli wszystko poszło dobrze, wróć do hosta Ubuntu i wyłącz uwierzytelnianie hasła.
sudo nano /etc/ssh/sshd_config
PasswordAuthentication no
Zapisz i uruchom ponownie ssh
sudo service ssh restart
Spróbuj ponownie sshing z komputera z kluczem prywatnym, aby potwierdzić.
Chcesz dodać więcej? skonfiguruj konto nieuprzywilejowane, włącz PermitRootLogin nie, zrestartuj ssh, dodaj swój klucz publiczny do kluczy autoryzowanych nowego konta, zaloguj się jako konto nieuprzywilejowane, su do konta root lub uprzywilejowanego, gdy chcesz zrootować lub uprościć sobie drogę.