Заблокировать модули uas и usb storage
Во многих случаях, когда мы используем наш компьютер, мы отключаем USB-устройство (безопасно, как и должно быть), и сразу же после этого мы понимаем, что мы забыли скопировать файл или что мы должны были убедиться, что данные были в нашем отделении. В этих случаях обычно очень полезно виртуально отключить USB-накопители, когда мы работаем удаленно.
После извлечения устройства мы больше не видим его в нашем списке устройств, но жесткий диск или флешка все еще подключены через порт USB, и во многих сегодняшних дистрибутивах, после безопасного извлечения диска, мы также не видим устройство и Мы не можем сделать монтировать с нашего терминала. Самое быстрое решение - отсоединить кабель и снова подключить его, в некоторых случаях либо из-за того, что нам не нужно вставать, либо из-за того, что мы получаем доступ к компьютеру, перед которым мы не находимся и никого вокруг нет, мы не можем этого сделать.
4 ответа
В Ubuntu 16.04 я обнаружил, что некоторые pendrives запускают загрузку драйвера ядра uas.ko (драйвер USB Attached SCSI). А зависимость драйвера ядра от uas.ko - это usb_storage.ko.
Следовательно, хотя у меня было blacklist usb_storage в /etc/modprobe.d/blacklist.conf , usb_storage.ko все еще загружен в силу зависимости от uas.ko
После размещения в:
в /etc/modprobe.d/blacklist.conf доступ к этим pendrive больше не работает (uas.ko & usb_storage.ko больше не загружается) в работающей системе.
Имейте в виду, что для принудительного выполнения этого во время загрузки ядра также необходимо внести некоторые изменения в grub/ line-ядро некоторого аналогичного вида в ссылке.
Другой, чтобы отключить USB-накопитель, создайте следующий файл и отредактируйте его в своем любимом текстовом редакторе.
В этом файле добавьте следующую строку.
После сохранения этой строки в /etc/modprobe.d/usb-storage.conf файл вам нужно будет выполнить перезагрузку, чтобы завершить процесс. После перезагрузки, если вы подключите USB-накопитель, вы не сможете получить к нему доступ.
На /etc/modprobe.d/blacklist.conf добавлять
отключить мод UAS также, я не знаю, почему это необходимо, чтобы черный список модуля протокола UAS, но он работал для меня
Usb-storage.ko - это драйвер USB Mass Storage для операционной системы Linux. Вы можете увидеть файл, набрав следующую команду:
Все, что вам нужно сделать, это отключить или удалить драйвер usb-storage.ko, чтобы ограничить использование USB-устройств в Linux, таких как:
- USB-клавиатуры
- USB-мыши
- USB-накопитель
- USB жесткий диск
- Другое USB-накопитель
Информация о USB-устройствах
Прежде чем мы начнем, давайте посмотрим, как получить информацию о USB-устройствах, подключенных к системе. Для этого мы можем использовать lsusb, в котором прямо сейчас будут перечислены подключенные устройства. Я помещаю примеры того, что у меня есть на моем компьютере прямо сейчас, но, возможно, это сильно отличается от того, что вы получаете:
Если нам нужна дополнительная информация, мы можем использовать модификатор -t, который покажет нам результат в виде дерева с информацией о модулях:
Если нам нужно больше информации, мы можем использовать lsusb -v (выход очень большой), кроме того, мы могли бы, например, узнать максимальную мощность, подаваемую на устройство, следующим образом:
Другие очень полезные команды: usb-устройства, HWiNFOили, например, если у нас есть путь к устройству (внутри / dev /), мы можем запросить у системы всю возможную информацию о нем и о подсистемах, через которые оно должно пройти. Например, если мы подключим жесткий диск USB, чтобы мы могли видеть, как использовать устройство, нам понадобится драйвер SCSI (для / dev / sdX), нам также понадобится драйвер USB-накопителя, который работает через порт USB, который принадлежит концентратор, который вставляется в порт PCI, среди других промежуточных систем. Все, что мы могли видеть
Если мы хотим рискнуть, мы также можем войти / системный / автобус / USB и посмотрите на все, что есть, мы увидим много информации, но, к счастью, приведенные выше команды классифицируют всю эту информацию.
Как заблокировать USB-хранилище в CentOS 7
Когда вы подключаете USB-накопитель к компьютеру, по умолчанию он монтирует хранилище и позволяет пользователю получать доступ к контенту, хотя метод прост, он не является абсолютно безопасным и подвержен вредоносным действиям или атакам в вашей системе.
Вы можете быть заинтересованы
Метод 2. Отключение и виртуальное подключение
В некоторых системах (если это поддерживает оборудование) при безопасном извлечении USB-устройства устройство перестает включаться и оно больше не появляется. Это то же самое, что и когда вы делаете:
В этом случае, / DEV / SDC это мое устройство, и с помощью этой команды оно имитировало виртуальное отключение питания.
Проблема в том, что сейчас / dev / sdc не существует, более того, если мы посмотрим на dmesg, мы получим что-то вроде этого:
Итак, если мы попробуем методом выбросить он не будет работать. Примечание: я выделил USB 1-5 и мы скоро увидим почему.
Если вы работаете удаленно, это может быть хорошей идеей. Представьте, что к вам подключены USB-накопители для резервного копирования. Когда вы делаете копии, для системы полезно знать, что есть подключенные диски, но, когда мы их не используем, с одной стороны, мы должны экономить энергию и избежать износа дисков, поэтому лучше отключить ток, с другой стороны, мы не хотим, чтобы вредоносные приложения видели, что они существуют эти диски, чтобы они не заразились. (Да, в GNU / Linux есть вирусы).
Как теперь подключить ток?
Мы должны позвонить в порт USB, для этого есть проект под названием концентратор (Я ссылаюсь на форк исходного проекта, потому что здесь исправлена ошибка, которая может удалить ток с большего количества устройств, а не только с того, которое мы хотим). Есть еще проекты (вроде uhubctl), но это не зависит от того, когда мы переходим к компиляции, это также просто файл hubpower.c.
Сначала мы его компилируем,
Теперь вы помните цифры, выделенные жирным шрифтом из dmesg? Что ж, мы собираемся их использовать, нам придется отключить устройство и снова подключить его, например:
Если устройство нас не обнаруживает, мы можем попробовать сделать:
Таким образом мы снова увидим подключенное USB-устройство.
опция
BIOS можно также отключить USB от системы параметр конфигурации BIOS. Удостоверьтесь, что BIOS защищен паролем. Этому рекомендуют опцию так, чтобы никто не мог загрузить ее от USB.
Способ 3. Скрытие и отображение устройства
Другой способ отключить устройство:
И мы можем восстановить это, выполнив:
Этот метод не вызывает полного отключения устройства. Это только заставляет операционную систему не взаимодействовать с ней, и многие устройства, когда компьютер не хочет ничего о них знать, переводятся в режим низкого энергопотребления, поскольку мы не собираемся ничего запрашивать.
Опция Grub
Вы можете избавиться от всех USB-устройств, отключив поддержку ядра для USB через GRUB. Откройте grub.conf или menu.lst и добавьте "nousb" в строку ядра следующим образом (взято из RHEL 5.x):
Убедитесь, что вы удалили любую другую ссылку на usb-хранилище в конфигурационных файлах grub или grub2. Сохраните и закройте файл. После этого просто перезагрузите систему:
Чтобы отключить защиту от записи дискового устройства, мы используем низкоуровневую системную утилиту hdparm, например:
где мы предполагаем, что /dev/sdb устройство физического диска, над которым мы работаем Если устройство имеет разделы, которые монтируются только для чтения, вы должны перемонтировать их для чтения-записи, чтобы записать в них данные.
Надеюсь, это поможет.
После изучения вашего вопроса выясняется, что это не слишком редкая проблема с некоторыми марками USB-накопителей (некоторые более старые модели Samsung, модели Kingston), которые по сути просто "дурачатся" по неизвестной причине. Люди пытались открыть их и перепрыгнуть через два провода (может быть, из-за ненадежного переключателя?) Безрезультатно. Если у вас все еще есть этот диск, и он все еще в гарантии, я верну его и получу замену.
С помощью fdisk -l найдите диск, то есть: /dev/sdc1
Наконец переформатируем флешку
sudo mkfs -t vfat /dev/sdc1
Я нашел это быстро и легко. Обязательно размонтируйте диск перед попыткой форматирования.
Ответ Ангела хорош, но фактические команды были не так просты для меня. Вот что сработало: подключите карту (у меня SD-карта с ручным переключателем защиты от записи, но переключатель выключен, и он доступен для записи на компьютере с Windows). Ubuntu автоматически смонтировал его на /media/andrew/6AB0-1FD91, и dmesg показал, что раздел был /dev/sdb1.
Размонтируйте его и сделайте доступным для записи
Создайте новую точку монтирования и смонтируйте ее там (мой userID из /etc/passwd равен 1000)
он по-прежнему будет жаловаться, что доступен только для чтения. Я не знаю, почему мне пришлось менять этот флаг до и после монтажа, но это единственный способ, который сработал для меня. Установите его для записи снова и перемонтируйте в том же месте
Теперь я могу записать на диск как мой обычный пользователь. Я очень осторожен с ним на случай, если он действительно потерпит неудачу, но эти команды позволили мне закончить то, что я делал.
Чтобы реально заставить его работать, вы можете переопределить обнаружение USB-диска, объявив его доступным только для чтения, с помощью параметра USB-причуд. Вот как это работает.
1) Подключите USB-устройство и выполните lsusb , пример:
2) Обратите внимание на эти два кода между двоеточием (называемый idVendor а также idProduct ). Отключите USB-устройство.
3) Удалить usb_storage модуль ядра (при условии, что он скомпилирован как модуль)
4) Теперь мы вернем модуль в режим настройки "причуд", чтобы отменить обнаружение флага "только для записи" устройства.
Замените числа между двоеточиями теми, которые вы видели в шаге (1) сверху.
5) снова подключите USB-накопитель. Теперь мы можем подтвердить с помощью dmesg, что это сработало:
Мне нужно заблокировать все USB-накопители (флешки и мобильные устройства), но мне нужен доступ к USB-клавиатуре и USB-мыши.
Я уже пробовал редактировать /etc/modprobe.d/blacklist.conf , добавляя черный список usb_storage , но все же система может получить доступ к USB-устройствам.
Привилегии и устройства
Для выполнения этой задачи нам нужно будет знать, какое устройство мы собираемся использовать. воссоединиться. Для этого мы можем запустить:
В этом выводе мы увидим, что устройство, с которым мы работаем, SDC (sdc1 и sdc2 будут разделами на этом диске). Для примеров я буду использовать это устройство, в вашем случае вам нужно будет визуализировать, какая у вас учетная запись.
В примерах ниже я буду использовать Sudo выполнять команды с привилегиями корень. Хотя было бы достаточно иметь пользователя с достаточным разрешением. Если мы хотим увидеть необходимые привилегии, просто сделайте ls на устройство:
Там мы видим, что владельцем является root и группа диск. Достаточно иметь пользователя, принадлежащего группе disk.
Если нам не нужна программа на C . у меня она есть на perl
Программу на C сложно скомпилировать и проверить, очень ли просто то, что мы собираемся делать, поэтому мы можем попробовать этот небольшой порт в 10 строках, сделанных на perl:
Мы должны уважать $ устройство, номер порта (в моем случае это было 5), это шестнадцатеричное значение, поэтому 10 будет A, 11 будет B, 15 будет F, 16 будет 10 . Мы также должны контролировать устройство и шину, к которому мы получаем доступ из / dev / bus / usb /001/001, числа должны быть с ведущими нулями, поскольку мы вызываем этот файл.
Как мы видим, ключ находится в ioctl (), это функция, которая управляет параметрами устройства из специального файла в файловой системе. Среди используемых шестнадцатеричных значений мы находим 0xC0185500, константа USBDEVFS_CONTROL, с которой мы будем отправлять управляющую команду на USB-устройство. Остальные коды относятся к запросу на отключение и подключение (дополнительную информацию можно найти в программе, написанной на языке C).
Информация о USB-устройствах
Прежде чем мы начнем, давайте посмотрим, как получить информацию о USB-устройствах, подключенных к системе. Для этого мы можем использовать lsusb, в котором прямо сейчас будут перечислены подключенные устройства. Я помещаю примеры того, что у меня есть на моем компьютере прямо сейчас, но, возможно, это сильно отличается от того, что вы получаете:
Если нам нужна дополнительная информация, мы можем использовать модификатор -t, который покажет нам результат в виде дерева с информацией о модулях:
Если нам нужно больше информации, мы можем использовать lsusb -v (выход очень большой), кроме того, мы могли бы, например, узнать максимальную мощность, подаваемую на устройство, следующим образом:
Другие очень полезные команды: usb-устройства, HWiNFOили, например, если у нас есть путь к устройству (внутри / dev /), мы можем запросить у системы всю возможную информацию о нем и о подсистемах, через которые оно должно пройти. Например, если мы подключим жесткий диск USB, чтобы мы могли видеть, как использовать устройство, нам понадобится драйвер SCSI (для / dev / sdX), нам также понадобится драйвер USB-накопителя, который работает через порт USB, который принадлежит концентратор, который вставляется в порт PCI, среди других промежуточных систем. Все, что мы могли видеть
Если мы хотим рискнуть, мы также можем войти / системный / автобус / USB и посмотрите на все, что есть, мы увидим много информации, но, к счастью, приведенные выше команды классифицируют всю эту информацию.
Оставьте свой комментарий Отменить ответ
Большое спасибо, Кристиан! Надеюсь, вы сочли это полезным.
В этой статье не сказано, что всякий раз, когда вы собираетесь положить его, он находится на стороне, противоположной правильной, и вам нужно перевернуть его . хе-хе. Отличная статья.
Спасибо, Антонио Хуан! Послушайте, вы не знаете, сколько раз такое случалось со мной, пока я пробовал все, что написал в посте! 🙂
Отлично. Превосходный предмет. Он должен быть озаглавлен: «Узнайте о системе Linux, просто отключив и вставив USB-накопитель». Поздравляю.
Привет из Малаги.
Впечатляющая статья. Вы переборщили с таким материалом.
большое спасибо друг. Я начинаю в Linux, в частности в Linux Mint, и у меня возникает следующая проблема: в консоли я вижу, что мой телефон подключен к машине, но не в файловом менеджере. И поэтому я не могу использовать его как модем для подключения к Интернету. Что я могу сделать?
Есть телефоны, которые не позволяют подключиться как модем, но можно сделать модем
Теперь я использую lsusb -v, чтобы проверить уровень мощности устройства, но он выдает 2 мА, что совершенно абсурдно . только светодиоды потребляют больше .
Я подключаю модем huawei E4 USB-8372G, однако максимальная мощность показывает 2 мА, что невероятно, теперь сомнения изменились и возникли другие:
Является ли MaxPower атрибутом, установленным по умолчанию на устройстве или в ОС?
Это параметр максимальной мощности, которую доставит порт usb?
В случае параметра
Можно ли изменить этот параметр и установить на максимум, заданный портом USB (900mAh-3.0 / 500mAh-2.0)?
Если не является параметром,
Это значение измерения потребления USB в реальном времени (маловероятно)?
Если это другой вариант, пожалуйста, объясните мне, так как я сомневаюсь в справочной информации.
У меня есть несколько сомнений относительно этого значения MaxPower, если у вас есть дополнительная информация, я был бы очень благодарен.
lsusb -v 2> / dev / null | egrep "^ Bus | MaxPower | bDeviceClass | iProduct"
Шина 002 Устройство 006: ID 1a86: 7523 QinHeng Electronics HL-340 USB-последовательный адаптер
bDeviceClass 255 Класс, зависящий от поставщика
iProduct 2 USB2.0-последовательный
Максмощность 96 мА
Автобус 002 Устройство 008: ID 12d1: 14db Huawei Technologies Co., Ltd.
bDeviceClass 2 Связь
iProduct 2 HUAWEI_MOBILE
MaxPower 2 мА
Мне нужно заблокировать все USB-устройства хранения данных (pendrives и мобильные устройства), но мне нужен доступ к USB-клавиатуре и USB-мышке.
Я уже пробовал редактированием /etc/modprobe.d/blacklist.conf добавляя blacklist usb_storage но все же система может получить доступ к USB-устройствам.
Способ 5. Перезагрузите подсистему USB.
Если мы хотим перезапустить подсистему USB. То есть обновите все USB-устройства, например, отключив и подключив их все, с одной стороны, мы можем загрузить и перезагрузить модуль ядра USB:
Хотя некоторые дистрибутивы, включая последние версии Ubuntu и производных, имеют встроенные модули USB и их нельзя скачать. С другой стороны, система может не разрешать нам загружать их, потому что они используются другими модулями (принтеры, хранилище, интерфейсные устройства и т. Д.), И если мы начнем загружать модули и что-то сломать, нам, возможно, придется перезагрузить компьютер. в конце. Итак, по-другому мы можем сделать:
Чтобы найти наше устройство, мы можем сделать ls внутри / sys / bus / pci / drivers / xhci_hcd, появится несколько вещей, мы должны найти тот, который выглядит так аааа: bb: cc: dd.e. Ваш USB-порт может быть не xhci_hcd (USB3), а ehci_hcd (USB2).
Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.
Полный путь к статье: Из Linux » Учебники / Руководства / Советы » 5 способов отключить и подключить USB-устройство, не отрывая рук от клавиатуры
Опция BIOS
Вы также можете отключить USB из конфигурации системы BIOS. Убедитесь, что BIOS защищен паролем. Это рекомендуемый вариант, чтобы никто не мог загрузить его с USB.
14 комментариев, оставьте свой
Отключение USB-накопителя
Чтобы отключить USB-накопитель, вам необходимо создать файл .conf и отредактировать его с помощью текстового редактора.
Введите следующие строки в файл:
Вышеупомянутый файл .conf отражает фальшивую установку USB-накопителя.
Посмотрим, как эта конфигурация влияет на нашу попытку вставить USB-устройство в систему.
Когда вы вставляете USB-устройство, происходит следующее действие.
“/Bin/true – это команда, которая возвращает ноль”
True – ничего не делает
True возвращает статус 0.
Теперь нам нужно перезагрузить машину, чтобы завершить процесс.
Теперь, если вы подключите USB-накопитель, вы не сможете получить к нему доступ.
Вы можете проверить его, выполнив следующую команду:
В предыдущей версии CentOS 6 вам нужно выполнить настройку в файле /etc/modprobe.conf, но в CentOS 7 она устарела, и уникальный файл должен существовать вместе с каталогом /etc/directory.d.
Таким образом, этот учебник по блокировке USB-накопителя в CentOS 7 подходит к концу.
Вы можете использовать эту технику для предотвращения доступа к USB-устройствам хранения для непривилегированных учетных записей пользователей, что может повысить безопасность системы от определенных физических атак.
После перезагрузки машины USB-накопитель появляется в системе. Делаем вывод, что данный твик не работает.
конфиг остался прежним после ребута?
Способ рабочий, в файл(создать) /etc/modprobe.conf дописать строку install usb-storage /bin/true
либо альтернатива
в файл /etc/modprobe.d/blacklist.conf добавить 2 строки
blacklist usb_storage
blacklist uas.
Но есть у этих способов дыра, если флешка будет установлена при загрузке то конфиги не сработают. (( Если вставить после перезагрузки то usb будут заблокированы.
Странно что до сих пор костыли и подпорки для элементарной функции в линукс.
Anything in here will be replaced on browsers that support the canvas element
Уязвимость Log4j является одной из самых смертоносных проблем безопасности в современных системах. Логирование является ключевой функцией в современных приложениях, и библиотека логирования Log4j является лидером в этой области. Эта библиотека используется в большинстве приложений, сервисов и систем. Следовательно, все те приложения, в которых используется Log4j, подвержены этой уязвимости Log4j, обнаруженной в прошлом году. В связи […]
Самая распространенная команда Docker также является универсальной командой. Узнайте о нескольких вариантах использования команды docker ps. Одной из первых команд Docker, которую вы используете, является команда docker ps. Она показывает запущенные контейнеры: docker ps На самом деле, выполнив эту команду, вы получите список запущенных контейнеров и их уникальный ID контейнера, имя образа, команду, которую он […]
Passbolt – это менеджер паролей с открытым исходным кодом, который позволяет безопасно хранить и передавать учетные данные для входа на сайт, пароль роутера, пароль Wi-Fi и т.д. В этом руководстве будет показано, как установить Passbolt Community Edition (CE) на Ubuntu 22.04 с сервером базы данных PostgreSQL, который обычно быстрее, чем сервер базы данных MariaDB/MySQL. Особенности […]
socialscan – это инструмент командной строки для проверки использования электронной почты и имен пользователей социальных сетей на онлайн-платформах. Если задан адрес электронной почты или имя пользователя, socialscan возвращает, доступен ли он, занят или недействителен на онлайн-платформах. Другие подобные инструменты проверяют доступность имени пользователя, запрашивая страницу профиля рассматриваемого имени пользователя и на основе такой информации, как […]
Многие советы по безопасности, как правило, делятся на два лагеря: предназначенные для предприятий с постоянно работающими командами безопасности и инфраструктуры, или быстрая установка инструментов без контекста для одиночных веб-разработчиков. В этой статье мы пойдем по среднему пути и рассмотрим некоторые способы безопасного управления веб-сервером для различных распространенных сценариев развертывания. Цель – обеспечить лучшее понимание инструментария […]
Способ 4. Авторизация устройства
Обратной стороной этого метода является то, что во многих системах может быть временно отключено больше устройств, и это не только то, что нам нужно, но мы также атакуем весь USB-концентратор. Например:
Что, конечно, мы можем запустить все подряд:
Мы должны быть осторожны, если к одному и тому же USB-порту подключено больше дисков (и почти всегда в наших компьютерах несколько USB-портов, чем мы видим, внутренне подключены к концентратору, поэтому есть группы портов с одним и тем же USB-портом. отец, скажем так.
4 ответа
Я нашел в Ubuntu 16.04, некоторой триггерной погрузке pendrives драйвер ядра uas.ko (USB Приложенный драйвер SCSI). И зависимость от драйвера ядра uas.ko usb_storage.ko.
Следовательно, eventhough я имел blacklist usb_storage в /etc/modprobe.d/blacklist.conf , , usb_storage.ko все еще был загружен на основании зависимости в uas.ko
После размещения в:
в /etc/modprobe.d/blacklist.conf , доступ к тем pendrives больше не работает ( uas.ko & usb_storage.ko больше не загружается) в рабочей системе.
Принимают во внимание для осуществления этого во время начальной загрузки ядра, нужно было бы также сделать приблизительно модификациями строки личинки/ядра из некоторого подобного вида в ссылке.
usb-storage.ko является драйвером Массового хранения USB для операционной системы Linux. Вы видите, что файл вводит следующую команду:
Все, что необходимо сделать, отключают или удаляют драйвер usb-storage.ko для ограничения USB-устройствами использования на Linux, такими как:
- клавиатуры USB
- мыши USB
- перьевой диск USB
- жесткий диск
- USB Другая блочная система хранения USB
Метод 1. Относитесь к нему как к CD / DVD.
Это самый простой способ. Конечно, если вы использовали GNU / Linux в течение многих лет, когда вы работали с CD-ROM или DVD, вы использовали команду извлечения. Что ж, извлечение использовалось для открытия CDROM, а извлечение -t использовалось для закрытия лотка. Хорошо, если мы сделаем это до USB-устройства:
Устройство должно выглядеть так, как будто мы его снова подключили.
опция
Grub можно избавиться от всех USB-устройств путем отключения поддержки ядра USB через GRUB. Откройте grub.conf или menu.lst и добавьте "nousb" к строке ядра следующим образом (взятый от RHEL 5.x):
Удостоверяются, что Вы удаляете любую другую ссылку на устройство хранения данных usb в личинке или grub2 файлах конфигурации. Сохраните и закройте файл. После того, как сделанный просто перезагружают систему:
Мануал
Читайте также: