Я знаю, что пароль sudo защищает мой компьютер от локального взлома кем-то, имеющим физический доступ к нему (правка: на самом деле это не так). Мой пароль достаточно силен для этой цели, но я знаю, что он недостаточно силен, если кто-то может его переборить. Кто-нибудь может получить доступ к моему компьютеру в режиме root с использованием моего пароля sudo без физического доступа к компьютеру в стандартной установке Ubuntu на рабочем столе?
Пароль sudo предназначен не только для локальной защиты, его цель - добавить дополнительный уровень безопасности для использования привилегий root. Хорошее обсуждение можно найти здесь /superuser//a/771523/467316
Ваш пароль может быть не таким надежным, как вы думаете. Прямо сейчас я взламываю 20-40% хешей Active Directory моего клиента для тех, кого я видел раньше, те, у кого есть неправильные правила паролей, получают взломанные 70%. Я рекомендую 16-ти символьные сложные пароли. Графические карты oclHashcat и Radeon могут нанести большой урон. Добавьте все дампы паролей от каждого взлома за последние 5 лет, и вы получите хороший словарь для работы.
Если вы вообще используете SSH, внесите некоторые изменения в sshd_config
sudo nano /etc/ssh/sshd_config
MUSTS прямо из ворот (последний, чтобы отключить FTP-сервер, если вы его не используете).
Protocol 2
X11Forwarding no
PermitEmptyPasswords no
MaxAuthTries 5
#Subsystem sftp /usr/lib/openssh/sftp-server
Сохраните его, перезапустите SSH
sudo service ssh restart
Используйте шифрование с открытым ключом. Начните с создания ключа на удаленной машине (используя puttygen или любой другой вариант, доступный в вашей ОС). Скопируйте открытый ключ на ваш компьютер с Ubuntu под пользователем, которого вы хотите авторизовать как файл author_keys (вам, вероятно, придется его создать)
sudo nano /home/yourdumbusername/.ssh/authorized_keys
скопируйте открытый ключ в этом формате
ssh-rsa 23r0jfjlawjf342rffjfa89pwfj8ewfew98pfrfj8428pfwa9fupfwfcajwfpawf8rfapfj9pf892jpfjpwafj8a where-ever-you-have-your-private-key-for-your-own-notes
сохраните его и настройте sshd_config, чтобы разрешить вход с открытым ключом
sudo nano /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
сохранить и перезапустить SSH
sudo service ssh restart
Попробуйте SSHing к вашему хосту Ubuntu с вашего компьютера с закрытым ключом, используя шифрование с открытым ключом. Если все прошло хорошо, вернитесь на хост Ubuntu и отключите аутентификацию по паролю.
sudo nano /etc/ssh/sshd_config
PasswordAuthentication no
Сохранить и перезапустить SSH
sudo service ssh restart
Попробуйте sshing с компьютера с закрытым ключом снова, чтобы подтвердить.
Хотите добавить больше? настройте непривилегированную учетную запись, выключите PermitRootLogin no, перезапустите ssh, добавьте свой открытый ключ к авторизованным ключам новой учетной записи, войдите в качестве непривилегированной учетной записи, su в свою корневую или привилегированную учетную запись, когда вам нужно получить root-права или привилегировать свой путь через вещи.