LINUX.ORG.RU
ФорумAdmin

Концепция программы для Linux

 ,


0

1

Здравствуйте! Интересно Ваше мнение. Я системный администратор 40 автономных ПЭВМ.

По политике нашей организации ПЭВМ настроены таким образом, что использование дисководов запрещено (в fstab nouser), флеш-носители работают только учтённые (с функцией шифрования). Иногда (довольно часто) начальство ставит задачи на перенос файлов извне на автономные ПЭВМ.

Задачи эти могут поступить в любое время дня и ночи) Особенно ночи)))

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

Написал программу, присвоил ей suid (root). Программа имеет два файла с паролями. В первом файле все пароли которые я генерировал заранее, во второй файл вносятся гашенные пароли (уже использованные).

Программа представляет собой GUI интерфейс с окном ввода пароля и кнопками «Монтировать» и «Размонтировать» диск. Пользователь вводит пароль который я ему продиктовал, программа читает список гашенных паролей. Если пароль не использовался (его в этом списке нет) программа читает файл со всеми паролями, и если он там есть производит монтирование диска и копирование его образа командой dd в каталог (чтобы потом посмотреть, что за диск вставляли).

Использованный пароль заносится в список гашенных паролей. Кнопка размонтировать доступна без ввода пароля. Файлы паролей не доступны пользователям на чтение и запись (root:root, 770).

Как Вы оцените эту идею (конечно, проще генерировать пароли - но в QT я ещё этому не научился)?

Как бы поступили Вы?

Файлы с паролями я бы запрятал в базу данных, лежащую на удаленном сервере в сети, хранил в виде хэш-сумм, а не прямым текстом (это про использованные), новые можно генерить так же автоматом - например исходя от даты и времени и ид компа, отдавать его опять-таки по хэш-сумме. Например, паролем была бы 10 символов от хэш-свммы сгенеренного пароля. Скрипт, который генератор, так же положить на сервере и закрыть к нему доступ на запись и т.д.

А так идея клевая, особенно про образ, чтоб потом простмотреть, что вставлялось.
Можно еще счетчик ввести - что на удаленный сервак писалось еще и кто, что и куда вставлял, включая ссылку на образ, скопированный так же на удаленный сервак.

Блин, аж сам захотел такое написать! :)

Zhbert ★★★★★ ()

Программа имеет два файла с паролями. В первом файле все пароли которые я генерировал заранее, во второй файл вносятся гашенные пароли (уже использованные).

Можно обойтись только вторым файлом, в котором будут гашенные пароли. А первый файл заменить валидаточной функцией.

Плюсы: Не придётся думать об обновлении парольного файла, он не закончится в самый неподходящий момент

Минусы: Если взять плохую валидаточную функцию, то её можно будет хакнуть.

Crocodoom ★★★★★ ()

Ну а ещё можно сделать так, что пароль дейсвтителен в течение 10 минут, тогда и гашенные хранить не понадобится

Crocodoom ★★★★★ ()

а отчего это защитит?

xmikex ★★★★ ()

Здравствуйте! Интересно Ваше мнение. Я системный администратор 40 автономных ПЭВМ.


Думаю в лечебном учреждении недосмотр... :-(

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

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


Тот случай, когда не надо думать, надо бежать! Писать заявление и быстро уходить с такой работы.

Deleted ()

Файлы паролей

bad!

Должны быть не файлы паролей, а файлы хешей паролей. И сравнивать хеш пароля с содержимым файлов.

Deleted ()

автономных

Насколько автономных? Есть вообще ни к чему не подключённые, есть объединённые в отрезанную ото всех локалку

XMs ★★★★★ ()

в QT

не нужно.

anonymous ()

Существует достаточное количество готовых систем с генерацией одноразовой авторизации. Посмотрите на банковский сектор.
ЗЫ Не про банки https://habr.com/post/99377/

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

Заменил пароли хэшами!

Действительно классная идея - наконец лично применил хэш функции)

Гениальное просто.

Sandro331k ()

Как Вы оцените эту идею

норм. я бы еще добавил, чтобы тот же носитель можно было смотировать повторно без пароля в течение ~10 минут. но это уже от административной политики зависит

QT

эталонный юзкейс для питона

проще генерировать пароли - но в QT я ещё этому не научился

при чем тут Qt вообще? предполагается, что там должен быть компонент для генерации паролей? не проще на коленке слабать? или pwgen

MyTrooName ★★★★★ ()
Последнее исправление: MyTrooName (всего исправлений: 2)
Ответ на: комментарий от Einstok_Fair

Короче нельзя пользователям использовать CD/DVD диски. Но бывают исключения из правил по команде руководителя организации.

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

Интересная тема. С сетями всё становится ещё интереснее! Надеюсь когда-нибудь удастся поработать в организациях с сетями)

Sandro331k ()

Как бы поступили Вы?

Каждой машине присвоил бы TOTP-секрет, вместо пароля проверял бы токен. Окно выбрать в зависимости от степени слоупочности пользователей. Как это работает можешь прочитать тут: http://tools.ietf.org/html/rfc6238

Преимущество — тебе не нужно будет думать о том, где и когда закончились пароли.

Отмечу, что хранение на машине TOTP-cекрета недостатком считать нельзя, так как доступ к нему будет означать root на системе -> пользователь и так может монтировать все, что угодно, оставить себе лазейку etc.

К слову — у тебя аттестация крышкой не пойдет от того, что ты софт свой привносишь?

Deleted ()

Как бы поступили Вы?

Для начала я бы не стал хранить пароли. Есть же миллион хеш функций для этих целей. А так же не стал бы снимать образ флешки посредством dd. На флешке весом 1,2,4 ... 32 ... 128 гигабайт, ножет на весь объем случайных данных лежать фс с одним файлом на килобайт.

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

Я ставлю программки на машины без аттестации. Кстати я частенько слышу, что программы могут на неё влиять. Может специфика нашей организации накладывает свои отпечаток, но у нас таких требований нет и при аттестации этот вопрос не проверяют.

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

Хороше замечание от erfea навело на другую мысль

и если он там есть производит монтирование диска и копирование его образа командой dd в каталог

Если именно в такой последовательности, сначала смотрировали, потом сделали dd. То это кмк не совсем то что вам нужно, т.к. диск пользователь может и раньше вытащить, до того как образ сольется.

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

Действительно! Изменил последовательность на обратную, сначала образ, потом монтирование. Только 3,7 Гб довольно долго копируются, но ничего, подождут. Да и обычно вопрос в 1-2х документах.

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

Можно сделать как предложил erfea чуть допилив вашу программу, монтируем в недоступное пользователю место, копируем файлики, отмонтируем, монтируем в доступное пользователю место.
Если бы вы по паролю давали полный доступ, то можно вроде как задуматься о гибридных дисках и необходимости полного (dd) съема данных с них, но ведь вы сами и монтируете тот же диск/раздел. Имхо в ваших условиях вполне годная идея и менее накладная.

ЗЫ

Только 3,7 Гб довольно долго копируются

А прикиньте если двухслойку принесут? Сколько это займет? :)
Да и скорость сильно зависит от степени «убийства» диска, можно до «посинения» ждать пока какой-то поцарапанный диск будет «крутиться» а привод пытаться с него что-то там прочитать.

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

Только 3,7 Гб довольно долго копируются

О том речь, снимать образ - клиника.

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