Я знаю, що пароль sudo захищає мій комп'ютер від локального злому того, хто має фізичний доступ до нього (редагувати: насправді, це не так). Мій пароль досить сильний для цієї мети, але я знаю, що він недостатньо сильний, якщо хтось може його віддалено змусити. Чи може хтось отримати доступ до мого комп'ютера в кореневому режимі, використовуючи мій пароль 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
ОБОВ'ЯЗКУВАТИ прямо з воріт (останній, щоб вимкнути ftp-сервер, якщо ви його не використовуєте)
Protocol 2
X11Forwarding no
PermitEmptyPasswords no
MaxAuthTries 5
#Subsystem sftp /usr/lib/openssh/sftp-server
Збережіть його, перезавантажте ssh
sudo service ssh restart
Використовуйте шифрування відкритого ключа. Почніть зі створення ключа на віддаленій машині (використовуючи puttygen або будь-який смак, який має Ваша ОС). Скопіюйте відкритий ключ на свою машину Ubuntu під користувачем, якого ви хочете увійти як файл авторизованих_колій (можливо, вам доведеться його створити)
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 ні, перезапустіть ssh, додайте ваш відкритий ключ до авторизованих_кіней нового облікового запису, увійдіть як непривілейований обліковий запис, su до вашого кореневого чи привілейованого облікового запису, коли вам потрібно буде викорінювати або привілейовувати свій шлях через речі.