Ishonch xizmatlari to'g'risidagi qonun hujjatlaridagi o'zgarishlar munosabati bilan ("Elektron ishonch xizmatlari to'g'risida" Ukraina) korxona tokenlarda joylashgan kalitlar bilan ishlash uchun bir nechta bo'limlarga ehtiyoj sezmoqda (hozirda apparat kalitlari soni masalasi hali ham ochiq. ).
Eng past narxga ega vosita sifatida (bepul) tanlov darhol tushib ketdi
Savol shunday edi: buni qanday qilib eng kam raqs bilan qilishim mumkin, shunda hamma narsa hamma uchun ishlaydi ...
Qismi noqulay
Variant XNUMX. Bat fayllari uchun bir nechta yorliqlar, xususan
a) Kirish kalitini ulash.
b) ataylab uzish.
Paragraf "б» munozarali, shuning uchun kalit bilan ishlash uchun vaqt miqdorini 3 daqiqada berishga qaror qilindi.
Usbip mijozining o'ziga xos xususiyati shundaki, u ishga tushirilgandan so'ng u konsolda osilgan holda qoladi, konsol seansini to'xtatmasdan, ulanishni mijoz tomonidan ham, server tomonidan ham "taxminan" yopishingiz mumkin.
Mana biz uchun yaxshi ishlagan narsa:
birinchi: ulanish on.bat
usbip -a 172.16.12.26 4-1
msg * "Подпись/токен недоступны или заняты "
ikkinchisi: o'chirish off.bat
ping 127.0.0.1 -n 180
taskkill /IM usbip.exe /F
Foydalanuvchi ongiga tayanmasdan, skriptlar birlashtirildi token.bat
on.bat | off.bat
Nima bo'ladi: barcha fayllar token.bat fayli tomonidan ishga tushirilgan bir papkada joylashgan, agar ulanish yopilgan bo'lsa, foydalanuvchi darhol kalit mavjud emasligi haqida xabar oladi, boshqa holatda, faqat 180 pingdan keyin. Yuqoridagi kod satrlari foydalanuvchini haddan tashqari hayratda qoldirmaslik uchun "@ECHO OFF" va konsol yo'nalishi "> nul" bilan jihozlanishi mumkin, ammo testni o'tkazish shart emas. USB drayvidagi dastlabki "yugurish" hamma narsa bashorat qilinadigan, ishonchli va aniq ekanligini ko'rsatdi. Bundan tashqari, server tomonidan hech qanday manipulyatsiya talab qilinmaydi.
Tabiiyki, token bilan to'g'ridan-to'g'ri ishlaganda, hamma narsa kutilganidek ketmadi: qurilma menejerida jismoniy ulanish bilan token 2 ta qurilma (WUDF va smart-karta) sifatida ro'yxatdan o'tgan va tarmoq ulanishi bilan faqat WUDF (garchi bo'lsa ham) bu PIN kodni so'rash uchun etarli).
Bundan tashqari, shafqatsiz "taskkill" unchalik jiddiy emasligi va mijozga ulanishni yopish muammoli va u muvaffaqiyatli bo'lgan taqdirda ham uni serverda yopishga kafolat bermaydi.
Mijozdagi barcha konsollarni qurbon qilib, ikkinchi skript quyidagi shaklni oldi:
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
uning samaradorligi 50% dan kam bo'lsa-da, chunki server o'jarlik bilan ulanishni ochiq deb hisoblashda davom etdi.
Ulanish bilan bog'liq muammolar server tomonini yangilash haqidagi fikrlarga olib keldi.
Server qismi
Nima kerak:
- Faol bo'lmagan foydalanuvchilarni xizmatdan uzing.
- Hozirda kim tokendan foydalanayotganini (yoki hali ham qarz olayotganini) ko'ring.
- Token kompyuterning o'ziga ulanganligini tekshiring.
Ushbu muammolar crontab va apache xizmatlari yordamida hal qilindi. Bizni qiziqtirgan 2 va 3-bandlar monitoringi natijalari holatini qayta yozishning diskret tabiati fayl tizimi ramdriveda joylashgan bo'lishi mumkinligini ko'rsatadi. /etc/fstab ga qator qo'shildi
tmpfs /ram_drive tmpfs defaults,nodev,size=64K 0 0
Ildizda skriptlar bilan skript papkasi yaratildi: usb_restart.sh tokenini o'chirish-montaj qilish
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 faol qurilmalar ro'yxatini olish
usbip list -r 127.0.0.1 | grep ':' |awk -F ":" '{print $1}'| sed s/' '//g | grep -v "^$" > /ram_drive/usb_id.txt
faol IP-lar ro'yxatini olish (keyinchalik foydalanuvchi identifikatorlarini ko'rsatish uchun o'zgartirishlar bilan) usbip_client_ip.sh
netstat -an | grep :3240 | grep ESTABLISHED|awk '{print $5}'|cut -f1 -d":" > /ram_drive/usb_ip_cli.txt
crontabning o'zi quyidagicha ko'rinadi:
*/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)
Shunday qilib, bizda: token bilan kim ishlaganidan qat'i nazar, har 5 daqiqada yangi foydalanuvchi ulanishi mumkin. /ramdrive papkasi http serveriga simli havola yordamida ulanadi, unda usbip server holatini ko'rsatuvchi 2 ta matnli fayl saqlanadi.
Keyingi qism: "O'ramdagi xunuk"
Variant II. Hech bo'lmaganda kamroq qo'rqinchli interfeys bilan foydalanuvchini biroz xursand qilish uchun. Foydalanuvchilar Windows-ning turli xil ramkalar, turli huquqlar va kamroq muammoli yondashuvga ega bo'lgan versiyalariga ega ekanligi hayratda.
Quyidagi vazifalar interfeys va dasturiy ta'minot yordamida hal qilindi:
- Token hozir band yoki yoʻqligini koʻrsatadi.
- Birinchi ishga tushirishda dastlabki sozlash token server bilan seansni ishga tushirish va to'xtatishni amalga oshiradigan "to'g'ri" bat fayllarni yaratishni o'z ichiga oladi. Keyingi ishga tushirishda parol yordamida "xizmat" rejimini amalga oshirish.
- Server bilan ulanish mavjudligini tekshirish, buning natijasida u band yoki muammolar haqida xabarlarni ko'rsatadi. Aloqa tiklanganda dastur avtomatik ravishda normal rejimda ishlay boshlaydi.
WEB-server bilan ishlash qo'shimcha fphttpclient snap-in yordamida amalga oshiriladi.
Shuningdek, maqola mavzusi bo'yicha qo'shimcha mulohazalar, shuningdek, VirtualHere mahsulotiga o'zining xususiyatlari bilan qisman dastlabki ishtiyoqi bor...
Manba: www.habr.com