Я знаю, что пароль sudo защищает мой компьютер от локального взлома кем-то, имеющим физический доступ к нему ( правка: на самом деле это не так ). Мой пароль достаточно силен для этой цели, но я знаю, что он недостаточно силен, если кто-то может его переборить.
Кто- нибудь может получить доступ к моему компьютеру в режиме root с использованием моего пароля sudo без физического доступа к компьютеру в стандартной установке Ubuntu на рабочем столе?
- Если у вас есть доступ к сети, определенно да (краткий ответ)
- Если вы не уделяете достаточного внимания безопасности, да (длинный ответ)
- Если у вас запущен «ssh», и нет 2FA , да ( комментарии и ответы)
- Можно получить доступ к вашему компьютеру как root без пароля sudo / user
Ответы:
Я не хочу вас сильно пугать, но если кто-то имеет физический доступ, вы передаете ему доступ независимо от того, насколько надежен ваш пароль. Для того, чтобы кто-то смог сменить ваш пароль root, потребуется 1 перезагрузка (это можно сделать из «grub rescue» без необходимости ввода вашего текущего пароля). Между прочим: этот метод считается действительным и функциональным, а также принятым риском для безопасности (в противном случае вы никогда не сможете починить вашу систему в случае, если пароль действительно будет взломан).
В игру вступает еще кое-что: МАРШРУТИЗАТОР должен быть достаточно умен, чтобы блокировать доступ извне, если это повторный запрос, запрашивающий ту же информацию в течение короткого периода времени. По сути, у вас есть атака DOS (или DDOS, если на вас атакуют 2+ компьютера). Маршрутизатор должен прервать это соединение и установить период ожидания, прежде чем принимать новые запросы от этого соединения.
Сначала они должны подключиться, а затем предоставить пароль sudo. Режим «root» отключен, и вы не можете напрямую войти в «#» приглашение.
Обратите внимание, что возможно злоупотреблять услугой. Если у вас на этом компьютере запущен «ssh», и они могут «ssh» войти в вашу систему, и вы можете указать ваше имя пользователя и пароль для этого пользователя (и, поскольку это также пользователь с правами администратора и ваш пароль sudo), они могут получить доступ к вашему компьютеру. и испортить это. Кстати: если они делают это так, они должны сначала знать вашу систему (например, ваш пароль).
Но тогда возникает проблема с этим (и любым другим методом): как они получили ваш пароль? Они не могут получить его из вашей системы. И вообще гадание не стоит хлопот. Если это было социально спроектировано ... тогда ваша проблема есть, а не с моделью безопасности вашей системы, Ubuntu или Linux в целом.
Пока ваш пароль sudo ваш, у вас все будет хорошо. И вам будет даже лучше, если это надежный пароль (может быть, его легко запомнить, но другие не догадываются). Пример, который я использовал ранее при обсуждении этого: если вашу собаку называют «Abwegwfkwefkwe», используя «Abwegwfkwefkwe» в качестве пароля, то это ПЛОХО, даже если она выглядит хорошо (поскольку кто-то может спросить вас: «как зовут вашу собаку», и они попробуют это как свободная догадка). Если вы не имеете никакого отношения к «Abwegwfkwefkwe», это хороший пароль.
Лучший совет, который я могу дать:
не вводите свой пароль администратора, когда вас об этом просят, если только вы не знаете, что его ожидали. Если вы открываете браузер и у вас появляется всплывающее окно, которое выглядит как наш «запрос пароля учетной записи администратора» ... остановитесь ... и подумайте сначала.
не оставляйте свою систему без присмотра, когда льготный период "sudo" активен.
sudo --reset-timestamp
удаляет текущий льготный период и снова запросит пароль при следующем использовании «sudo». Блокировка экрана, когда вы идете AFK.не устанавливайте сервисы или программное обеспечение для удовольствия. Если вам не нужно
ssh
не устанавливатьssh
, если вы не используете веб-сервер, не устанавливайте веб-сервер. И посмотрите на работающие в данный момент сервисы. Если вы не используете BT на ноутбуке, отключите его. Если вы не используете веб-камеру, отключите ее (если она активна). Удалите программное обеспечение, которое вы больше не используете.и для действительно параноика (и да, Paranoid Panda, я смотрю на тебя): меняй пароль очень часто. Вы даже можете установить охотников за руткитами, чтобы проверить их на несанкционированный доступ.
резервное копирование важных данных на что-то, что вы держите в автономном режиме. Поэтому, даже если вы найдете кого-то в своей системе, вы можете отформатировать его и начать заново с новой установкой и восстановлением ваших данных.
источник
sudo --reset-timestamp
доsudo -k
, илиsudo -K
для действительно параноик (необходимо только , если злоумышленник может установить системное время на произвольные значения, в какой момент вы , вероятно , уже потеряли).Да, они могут.
Хотя есть несколько способов сделать это, и перебор
sudo
пароля, вероятно, не первый.Во-первых,
sudo
пароль - это пароль вашего пользователя; так что на самом деле им нужно получить ваш пароль.Во-вторых, взлом пароля пользователя с использованием грубой силы для доступа к системе, вероятно, является последним средством.
Есть более элегантные (но в основном более эффективные) способы проникновения в другую систему.
Обычно злоумышленник либо просто идет и пытается использовать наиболее распространенные уязвимости (наиболее известными из которых, вероятно, являются получение пользовательской оболочки любыми средствами и использование ShellShock для получения корневой оболочки), либо выполняет лучшую работу по следующим направлениям:
Грубое принуждение к
sudo
паролю / user может быть попыткой в том случае, если корневая оболочка не может быть получена иным способом, но, например, использование службы, работающей от имени root, не потребует от злоумышленника взломатьsudo
пароль / user.источник
sudo
пароль. Еще лучше, если ему удастся использовать службу, работающую с правами root, он будет напрямую root.sudo
прав (= пользователь, под которым вошел злоумышленник, но злоумышленник не знает пароля) может получить root Оболочка просто за счет использования известных ошибок (в данном случае печально известного ShellShock).Если я узнал что-нибудь за последние несколько лет о безопасности, то одно: нет ничего невозможного .
Пока у вас есть доступ к сети, безусловно. Каждая служба, работающая в вашей системе, к которой можно получить доступ по сети, теоретически уязвима и, следовательно, является потенциальной слабостью.
И поэтому для злоумышленника с достаточным количеством идей это возможно. Вы можете сделать свою систему максимально безопасной, но никогда не достигнете 100% безопасности.
Поэтому важно оценить, что возможно с оправданными техническими усилиями и что защищает вас так хорошо, что вы сами больше не можете работать.
источник
Пароль sudo предназначен не только для локальной защиты, его цель - добавить дополнительный уровень безопасности для использования привилегий root. Хорошее обсуждение можно найти здесь /superuser//a/771523/467316
Ваш пароль может быть не таким надежным, как вы думаете. Прямо сейчас я взламываю 20-40% хешей Active Directory моего клиента для тех, кого я видел раньше, те, у кого есть неправильные правила паролей, получают взломанные 70%. Я рекомендую 16-ти символьные сложные пароли. Графические карты oclHashcat и Radeon могут нанести большой урон. Добавьте все дампы паролей от каждого взлома за последние 5 лет, и вы получите хороший словарь для работы.
Если вы вообще используете SSH, внесите некоторые изменения в sshd_config
MUSTS прямо из ворот (последний, чтобы отключить FTP-сервер, если вы его не используете).
Сохраните его, перезапустите SSH
Используйте шифрование с открытым ключом. Начните с создания ключа на удаленной машине (используя puttygen или любой другой вариант, доступный в вашей ОС). Скопируйте открытый ключ на ваш компьютер с Ubuntu под пользователем, которого вы хотите авторизовать как файл author_keys (вам, вероятно, придется его создать)
скопируйте открытый ключ в этом формате
сохраните его и настройте sshd_config, чтобы разрешить вход с открытым ключом
сохранить и перезапустить SSH
Попробуйте SSHing к вашему хосту Ubuntu с вашего компьютера с закрытым ключом, используя шифрование с открытым ключом. Если все прошло хорошо, вернитесь на хост Ubuntu и отключите аутентификацию по паролю.
Сохранить и перезапустить SSH
Попробуйте sshing с компьютера с закрытым ключом снова, чтобы подтвердить.
Хотите добавить больше? настройте непривилегированную учетную запись, выключите PermitRootLogin no, перезапустите ssh, добавьте свой открытый ключ к авторизованным ключам новой учетной записи, войдите в качестве непривилегированной учетной записи, su в свою корневую или привилегированную учетную запись, когда вам нужно получить root-права или привилегировать свой путь через вещи.
источник
Назначение sudo не связано с паролем, но вместо этого дает определенным пользователям возможности root-ish, ограничивая других на компьютере, не требуя от них представления имени пользователя root (пароль / ключ / токен безопасности / и т.д.). Например, на моей работе, рабочие могут только запускать / выключать / устанавливать и обновлять свои станции (из вето хранилища компании) через sudo. Им не предоставляются другие привилегии root, такие как целенаправленное удаление /, форматирование устройств, добавление и удаление пользователей, решение о том, какие модули ядра должны быть занесены в черный список, а какие работают в crontab (и т. Д., И т. Д., И т. Д.). В то время как у вас дома sudo обеспечивает полный доступ к машине. Что касается пароля, в действительности это пароль вашей учетной записи, который требуется sudo (тот самый, который вы использовали бы для входа в систему, если автологин не включен).
Плохой совет : если вы хотите сделать root обычной учетной записью в Unix с поддержкой sudo (linux / apple osx), выполните следующее
На данный момент root имеет обычный пароль, и вы можете просто выйти из системы и войти в систему как root с упомянутым паролем «по старинке».
Что касается безопасности, если одна программа (скажем, веб-сервер, mysql, php daemon, sshd) запускается как повышенная учетная запись ... скажем, root и имеет известный эксплойт, то злоумышленникам могут не понадобиться никакие учетные данные безопасности для получения доступа. Они могут использовать уязвимость программы и просто создать новую оболочку из этой программы, работающую от имени пользователя root. Однако это довольно редко, поскольку менеджеры дистрибутивов знают о подобных проблемах и отлично справляются с задачей создания хорошо продуманной и обычно безопасной среды по умолчанию.
В другой операционной системе операция, похожая на sudo, будет щелкнуть правой кнопкой мыши и запускаться от имени системного администратора (или для получения привилегий UAC).
источник