usbip негизиндеги колдонуучулардын ортосунда криптографиялык белгини тармак бөлүшүү

Трастык кызматтарга байланыштуу мыйзамдардын өзгөрүшүнө байланыштуу («Электрондук ишеним кызматтары жөнүндө» Украина), ишкана токендерде жайгашкан ачкычтар менен иштөө үчүн бир нече бөлүмдөргө муктаж (азыркы учурда аппараттык ачкычтардын саны жөнүндө маселе ачык бойдон калууда. ).

Эң төмөн баада (акысыз) курал катары тандоо дароо эле пайда болду usbip. Ubintu 18.04 сервери жарыялоонун аркасында иштей баштады USB/IP тыюу жана ийгиликтүү бир нече флэш-дисктерде сыноодон өттү (ошол кезде токендин жоктугунан). Ошол учурда монополиялык менчиктен (колдонуучу үчүн резервден) башка эч кандай өзгөчө көйгөйлөр аныкталган эмес. Бир нече колдонуучуга (жок дегенде экиден) кирүү мүмкүнчүлүгүн уюштуруу үчүн, аларды убакыт боюнча бөлүштүрүү жана кезек менен иштөөгө мажбурлоо керек экени түшүнүктүү.

Суроо мындай болчу: Баары бардыгы үчүн иштеши үчүн, мен муну эң аз бийлөө менен кантип кыла алам?

Бөлүмү олдоксон

usbip негизиндеги колдонуучулардын ортосунда криптографиялык белгини тармак бөлүшүү
1-вариант. Жарганат файлдарына бир нече жарлыктар, атап айтканда
а) Кирүү баскычын туташтыруу.
б) Атайылап ажыратуу.

абзац "б» талаштуу, ошондуктан ачкыч менен иштөө убактысын 3 мүнөттө берүү чечими кабыл алынды.

Usbip кардарынын өзгөчөлүгү, ал ишке киргизилгенден кийин, консолдун сеансын үзгүлтүккө учуратпастан, консолдо илинип турат, сиз байланышты кардар тараптан да, сервер тараптан да жаба аласыз;

Бул жерде биз үчүн жакшы иштеген:

биринчи: байланыш on.bat

usbip -a 172.16.12.26 4-1
msg * "Подпись/токен недоступны или заняты "

экинчи: өчүрүү off.bat

ping 127.0.0.1 -n 180
taskkill /IM usbip.exe /F

Колдонуучунун аң-сезимине таянбастан, скрипттерге бириктирилген token.bat

on.bat | off.bat

Эмне болот: бардык файлдар token.bat файлы тарабынан ишке киргизилген бир папкада болот, эгер байланыш жабылса, колдонуучу ачкычтын жеткиликсиз экендиги жөнүндө билдирүүнү дароо алат, башка учурда, 180 пингден кийин гана. Жогорудагы код саптары колдонуучуну катуу таң калтырбоо үчүн “@ECHO OFF” жана консолдун багыты “> nul” менен жабдылышы мүмкүн, бирок тестирлөө жүргүзүүнүн кереги жок. USB-дисктеги баштапкы "чуркоо" бардыгы алдын ала, ишенимдүү жана так экенин көрсөттү. Мындан тышкары, сервер тараптан эч кандай манипуляциялар талап кылынбайт.

usbip негизиндеги колдонуучулардын ортосунда криптографиялык белгини тармак бөлүшүү

Албетте, түздөн-түз токен менен иштөөдө баары күтүлгөндөй болгон жок: түзмөк менеджеринде физикалык туташуу менен, токен 2 түзмөк (WUDF жана смарт-карта) катары катталган, ал эми тармак туташуусу менен гана WUDF (бирок бул PIN кодду суроо үчүн жетиштүү).

usbip негизиндеги колдонуучулардын ортосунда криптографиялык белгини тармак бөлүшүү

Ошондой эле катаал "taskkill" анчалык деле оор эмес экени жана кардардагы байланышты жабуу көйгөйлүү жана ал ийгиликтүү болгон күндө дагы, аны серверде жабууга кепилдик бербейт.

Кардардын бардык консолдорун курмандыкка чалып, экинчи скрипт төмөнкү форманы алды:

ping 127.0.0.1 -n 180 > nul
taskkill /IM usbip.exe /F /T  > nul
ping 127.0.0.1 -n 10 > nul
taskkill /IM conhost.exe /F /T  > nul

анын натыйжалуулугу 50% дан аз болсо да, сервер өжөрлүк менен байланышты ачык деп эсептей берген.

Туташуудагы көйгөйлөр сервер тарабын жаңыртуу жөнүндө ойлорду жаратты.

Сервер бөлүгү

Эмне керек:

  1. Активдүү эмес колдонуучуларды кызматтан ажыратыңыз.
  2. Учурда токенди ким колдонуп жатканын (же дагы эле карызга алып жатканын) көрүңүз.
  3. Токендин компьютерге туташкандыгын көрүңүз.

Бул көйгөйлөр crontab жана apache кызматтарын колдонуу менен чечилген. Бизди кызыктырган 2 жана 3-пункттардын мониторингинин натыйжаларынын абалын кайра жазуунун дискреттик мүнөзү файлдык тутум ramdrive-де жайгаша аларын көрсөтүп турат. /etc/fstabга сап кошулду

tmpfs   /ram_drive      tmpfs   defaults,nodev,size=64K         0       0

Түптө скрипттери бар скрипт папкасы түзүлдү: USB_restart.sh токенин монтаждоо-монтаждоо

usbip unbind -b 1-2
sleep 2
usbip bind -b 1-2
sleep 2
usbip attach --remote=localhost --busid=1-2
sleep 2
usbip detach --port=00

жигердүү түзмөктөрдүн тизмесин алуу usblist_id.sh

usbip list -r 127.0.0.1 | grep ':' |awk -F ":" '{print $1}'| sed s/' '//g | grep -v "^$" > /ram_drive/usb_id.txt

активдүү IP тизмелерин алуу (кийинки колдонуучу идентификаторлорун көрсөтүү үчүн өзгөртүү менен) usbip_client_ip.sh

netstat -an | grep :3240 | grep ESTABLISHED|awk '{print $5}'|cut -f1 -d":" > /ram_drive/usb_ip_cli.txt

crontab өзү мындай көрүнөт:

*/5 * * * * /!script/usb_restart.sh > /dev/null 2>&1
* * * * * ( sleep 30 ; /!script/usblist_id.sh > /dev/null)
* * * * * (sleep 10 ; /!script/usbip_client_ip.sh > /dev/hull)

Ошентип, бизде: ар бир 5 мүнөт сайын жаңы колдонуучу, ким токен менен иштегенине карабастан туташа алат. /ramdrive папкасы http серверине символдук шилтеме аркылуу туташты, анда usbip серверинин статусун көрсөтүүчү 2 тексттик файл сакталат.

Кийинки бөлүк: "Орамадагы чиркин"

Вариант II. Колдонуучуну жок дегенде коркуткан интерфейси менен бир аз кубантуу үчүн. Колдонуучулар Windowsтун ар кандай версиялары, ар кандай укуктар, азыраак көйгөйлүү мамилеси бар экендиги таң калыштуу. Лазар Мен аны тапкан жокмун (Мен, албетте, C # үчүн эмесмин, бирок бул учурда эмес). Жарганат файлдарын интерфейстен фондо, кичирейтилген, бирок туура тестирлөөсүз ишке киргизсеңиз болот, мен жеке пикирдемин: колдонуучунун нааразычылыгын чогултуу үчүн аны визуалдаштыруу керек.

usbip негизиндеги колдонуучулардын ортосунда криптографиялык белгини тармак бөлүшүү

Төмөнкү милдеттер интерфейс жана программалык камсыздоо аркылуу чечилди:

  1. Токен учурда бош эмес экенин көрсөтөт.
  2. Биринчи ишке киргизүүдө, баштапкы орнотуу токен сервери менен сессияны ишке киргизүүнү жана үзгүлтүккө учуратууну ишке ашырган "туура" бат файлдарын түзүүнү камтыйт. Кийинки башталганда, паролду колдонуу менен "кызмат" режимин ишке ашыруу.
  3. Сервер менен байланыштын бар-жоктугун текшерүү, анын натыйжасында ал бош эмеспи же көйгөйлөр жөнүндө билдирүүлөрдү көрсөтөт. Байланыш кайра башталганда программа автоматтык түрдө кадимки режимде иштей баштайт.

WEB сервери менен иштөө кошумча fphttpclient снап-индин жардамы менен ишке ашырылат.


бул жерде кардардын учурдагы версиясына шилтеме болот

макаланын предмети боюнча дагы ой-пикирлер, ошондой эле анын өзгөчөлүктөрү менен VirtualHere продукт үчүн жарым-жартылай баштапкы энтузиазм бар...

Source: www.habr.com

Комментарий кошуу