Трастык кызматтарга байланыштуу мыйзамдардын өзгөрүшүнө байланыштуу («Электрондук ишеним кызматтары жөнүндө» Украина), ишкана токендерде жайгашкан ачкычтар менен иштөө үчүн бир нече бөлүмдөргө муктаж (азыркы учурда аппараттык ачкычтардын саны жөнүндө маселе ачык бойдон калууда. ).
Эң төмөн баада (акысыз) курал катары тандоо дароо эле пайда болду
Суроо мындай болчу: Баары бардыгы үчүн иштеши үчүн, мен муну эң аз бийлөө менен кантип кыла алам?
Бөлүмү олдоксон
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-дисктеги баштапкы "чуркоо" бардыгы алдын ала, ишенимдүү жана так экенин көрсөттү. Мындан тышкары, сервер тараптан эч кандай манипуляциялар талап кылынбайт.
Албетте, түздөн-түз токен менен иштөөдө баары күтүлгөндөй болгон жок: түзмөк менеджеринде физикалык туташуу менен, токен 2 түзмөк (WUDF жана смарт-карта) катары катталган, ал эми тармак туташуусу менен гана WUDF (бирок бул PIN кодду суроо үчүн жетиштүү).
Ошондой эле катаал "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% дан аз болсо да, сервер өжөрлүк менен байланышты ачык деп эсептей берген.
Туташуудагы көйгөйлөр сервер тарабын жаңыртуу жөнүндө ойлорду жаратты.
Сервер бөлүгү
Эмне керек:
- Активдүү эмес колдонуучуларды кызматтан ажыратыңыз.
- Учурда токенди ким колдонуп жатканын (же дагы эле карызга алып жатканын) көрүңүз.
- Токендин компьютерге туташкандыгын көрүңүз.
Бул көйгөйлөр 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тун ар кандай версиялары, ар кандай укуктар, азыраак көйгөйлүү мамилеси бар экендиги таң калыштуу.
Төмөнкү милдеттер интерфейс жана программалык камсыздоо аркылуу чечилди:
- Токен учурда бош эмес экенин көрсөтөт.
- Биринчи ишке киргизүүдө, баштапкы орнотуу токен сервери менен сессияны ишке киргизүүнү жана үзгүлтүккө учуратууну ишке ашырган "туура" бат файлдарын түзүүнү камтыйт. Кийинки башталганда, паролду колдонуу менен "кызмат" режимин ишке ашыруу.
- Сервер менен байланыштын бар-жоктугун текшерүү, анын натыйжасында ал бош эмеспи же көйгөйлөр жөнүндө билдирүүлөрдү көрсөтөт. Байланыш кайра башталганда программа автоматтык түрдө кадимки режимде иштей баштайт.
WEB сервери менен иштөө кошумча fphttpclient снап-индин жардамы менен ишке ашырылат.
макаланын предмети боюнча дагы ой-пикирлер, ошондой эле анын өзгөчөлүктөрү менен VirtualHere продукт үчүн жарым-жартылай баштапкы энтузиазм бар...
Source: www.habr.com