LINUX.ORG.RU

Как защитить usb порты в linux?

 , ,


1

1

Здравствуйте! Как защитить usb порты в linux? Возможно ли написать программу, что бы кликом вкл\выкл usb порты? Сделать так, что бы не выключались мышь и клавиатура.



Последнее исправление: kinza (всего исправлений: 1)

Ответ на: комментарий от kinza

С какой целью интересуешься? Если предлагаешь сделать за денежку - это в job. Если расписать мануал как - надо больше вводных данных, особенно касательно твоих знаний матчасти.

Zhbert ★★★★★
()
Ответ на: комментарий от kinza

Ну и не мешало бы озвучить конечную цель и задачи. Ибо решение оной может быть совершенно разной, в зависимости от.

Zhbert ★★★★★
()
Ответ на: комментарий от kinza

Наверно на любом языке где можно работать со строками и записать 1 байт в файл, но это не поможет от варианта нажать на ресет (дёрнуть из розетки) и заовнить на аппаратном уровне.

что бы не выключались мышь и клавиатура

ты можешь только отключать хабы, повесь их на отдельный хаб и введи верификацию устройств для того хаба по айди. Это не поможет если выдавать себя за твои клаву и мышку (устройство может делать это автоматически). Все вариант ы где ты защитишь себя хоть как-то против этого, обернуться большой болью в заднем проходе.

anonymous
()
Ответ на: комментарий от Zhbert

я пишу диплом, по защите сервера на линуксе, остался последний штрих это вот защитить usb порты, я вот ломаю голову, какими способами защитить usb порты.

kinza
() автор топика
Ответ на: комментарий от kinza

я пишу диплом, по защите сервера на линуксе

Погромист?

я вот ломаю голову, какими способами защитить usb порты

На сервере? Отключи их вообще.

Zhbert ★★★★★
()
Ответ на: комментарий от kinza

какими способами защитить usb порты.

Залить эпоксидкой.

mandala ★★★★★
()
Ответ на: комментарий от Zhbert

Нет не программист я ноль на языках, знаю только sql mysql, Ну если их отключить вообще как мне работать на нем, вдруг понадобиться подключиться к нему в живу. Хотя и можно отключить.

kinza
() автор топика
Ответ на: комментарий от kinza

Ну если их отключить вообще как мне работать на нем

На сервере обычно работают по удаленному доступу, на то он и сервер. ЮСБ порт на нем не нужен вообще.

Zhbert ★★★★★
()
Последнее исправление: Zhbert (всего исправлений: 1)

Зависит от того, что под этим ты подразумеваешь.

Обычно защита USB портов выглядит как отключение их от мат. платы, заливка эпоксидной смолой встроенных в материнскую плату, после чего опечатывание системного блока.

Deleted
()
Ответ на: комментарий от kinza

Тогда тебе должно хватить генератора правил для udev.

Единственное, в чем будет проблема — нахождение соответствия между портом на железке и номером логически.

Необходимо будет при старте ПО, которые ты делаешь — делать ручное установление соответствий (например, предлагая пользователю поочередно переставить мышку).

Deleted
()
Ответ на: комментарий от kinza

да, я так бы и сделал, но мне говорят сделать это на программном уровне.

Если стоит задача запретить пользоваться флэшками, то можно отключить загрузку модуля, отвечающего за USB-накопители.

Надо создать или отредактировать файл:

/etc/modprobe.d/blacklist.conf

Добавить в файл строку:

blacklist usb-storage

Перезагрузиться.

После этого флэшки в ОС определяться не будут.

Joanna
()
Ответ на: комментарий от vvn_black

А если паяльник применить — вообще всё просто становится. Главное правильно его применить, если вы понимаете о чём я говорю

mandala ★★★★★
()
Ответ на: комментарий от mandala

Так себе аналогия. Паяльник это другое. Для паяльника помимо объекта - сервера, нужен ещё субъект - условный админ, к которому данный паяльник и применяется.

А в случае лайва, достаточно объекта.

vvn_black ★★★★★
()
Ответ на: комментарий от vvn_black

Ну по идее: там стоит пароль на CMOS меню UEFI, пароль на загрузчик (если он используется), всё зашифровано на носителях данных, что только можно. Кастомный ключ на Secure Boot естественно, все штатные ключи от вендоров удалены.

И что тогда твой live-образ сможет?

mandala ★★★★★
()
Последнее исправление: mandala (всего исправлений: 1)

Как защитить usb порты в linux?

Подход такой, в первую очередь надо разобраться с причинами и следствиями.

Имеем постулат, что USB-порты на сервере - потенциальная опасность.

Далее, составляем список возможных атак с использованием USB-порта.

И только теперь, когда ясно, что защищать, переходим к пункту «как защитить».

Если этот порядок не соблюдать, то ответ уже дали - физически залить эбоксидкой.

vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 1)
Ответ на: комментарий от mandala

Но похоже, что ТС защищает не сервер, а именно как и написал «защитить usb порты в linux», может чтоб их не украли, или мусором разъёмы не засыпали или чтоб южный мост (или что там сейчас USB рулит) не сгорел. )

vvn_black ★★★★★
()

Достаточно их отключить, можно мыслить шире: настроить удаленный доступ, залить эпоксидной смолой юсб, опечатать устройство, обезопасить внутренний периметр помещения, опечатать помещение и выставить караул.

anonymous
()
Ответ на: комментарий от kinza

А что, на современных матерях клавиатурного ps/2 нет уже? Клавиатуру - туда, юсб - эпоксидкой.

Deleted
()
Ответ на: комментарий от kinza

защитить usb порты, я вот ломаю голову, какими способами защитить usb порты.

Не оставлять аппаратную открытой. Если есть возможность несанкционированного физического доступа к серверу, про защиту юсб можно уже не заморачиваться.

kravzo ★★
()
Ответ на: комментарий от ValdikSS

Используйте программу USBGuard
https://usbguard.github.io/

Ответ, решающий поставленную задачу. На биос поставь пароль нормальной сложности и отключи там загрузку с юсб носителей. Диск с системой можно зашивровать LUKS полностью. И не будет никто грузиться ни с каких лайв дистрибов, что там понаписали.

fehhner ★★★★★
()

Как защитить usb порты в linux?

От чего защитить?

Сделать так, что бы не выключались мышь и клавиатура.

Вырвать нафиг. Или убрать поддержку USB из ядра, а то и отключить USB в настройках прошивки материнской платы.

Quasar ★★★★★
()
Ответ на: комментарий от Deleted

Я специально смотрел: да, нету уже. Смотрел серверные материнки.

mandala ★★★★★
()

Хорошие тут советы у некоторых.

Deleted
()
Ответ на: комментарий от Legioner

Параноидальная безопасность несёт накладные расходы, а ты как думал?

mandala ★★★★★
()
Последнее исправление: mandala (всего исправлений: 1)

Пересобрать ядро без поддержки юсб. Если нужно защитить от несанкционированного физического доступа то как писали выше удалить юсб порты либо сервер поместить в ящик из металла под ключ.

Ramil ★★★★
()
Ответ на: комментарий от Quasar

От чего защитить?
Сделать так, что бы не выключались мышь и клавиатура

Похоже, не должны монтироваться никакие устройства кроме мыши и клавиатуры: флешки и устройства типо BadUSB.

fehhner ★★★★★
()

Гугли uhubctl и hub-ctrl. Оно должно и с рутовым хабом работать, если железка имеет нужные свитчи.
У меня и на ARM-овом NAS-е работает, и на MIPS-овом роутере.
----
Браво, регистранты! Вы, как обычно, не можете выродить никакого более-менее толкового совета. «Залепи эпоксидкой». Дбл бл(c)Лврв

anonymous
()
Ответ на: комментарий от anonymous

Гугли uhubctl и hub-ctrl. Оно должно и с рутовым хабом работать, если железка имеет нужные свитчи.

Управление питанием на USB-портах - это конечно хорошо, но совершенно бесполезно в контексте этой темы.

Во-первых, автору надо оставить включенной USB-клавиатуру. Это означает, что питание на как минимум одном порту должно оставаться включенным. А это значит, что злоумышленник может выдернуть клавиатуру из порта и воткнуть туда свой злой девайс.

Во-вторых, я конечно не читал спеки на USB и инфа не 100%, но очевидной связи между наличием питания на порту и способностью хаба или хост-контроллера детектить линк нет. А это (потенциально) означает, что злоумышленник может подключить своё злое устройство к «выключенному» порту просто запитав его от другого источника.

Правильное решение всё ещё описано тут: https://www.kernel.org/doc/Documentation/usb/authorization.txt.

Deleted
()
Ответ на: комментарий от anonymous

Регистранты намекают, что на дурацкий вопрос неминуемо следует дурацкий ответ.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.