Во врска со промените во законодавството во врска со доверливите услуги („За услугите за електронска доверба“ Украина), претпријатието има потреба од неколку одделенија да работат со клучеви лоцирани на токени (во моментот, прашањето за бројот на хардверски клучеви е сè уште отворено ).
Како алатка со најниска цена (бесплатно), изборот веднаш падна
Прашањето беше: Како можам да го направам тоа со најмалку танцување, така што сè работи за секого...
Делот е невешт
Опција XNUMX. Неколку кратенки до датотеки со лилјак, имено
а) Поврзување на клучот за пристап.
б) Намерно исклучување.
Параграф "б» контроверзно, па беше одлучено да се даде време за работа со клучот на 3 минути.
Особеноста на клиентот usbip е што откако ќе се стартува, тој останува да виси во конзолата; без да ја прекинете сесијата на конзолата, можете да ја затворите врската „грубо“ од страната на клиентот, а исто така и од страната на серверот.
Еве што добро функционираше за нас:
прво: поврзување на.лилјак
usbip -a 172.16.12.26 4-1
msg * "Подпись/токен недоступны или заняты "
второ: исклучување исклучен.лилјак
ping 127.0.0.1 -n 180
taskkill /IM usbip.exe /F
Без потпирање на свеста на корисникот, скриптите беа комбинирани во токен.лилјак
on.bat | off.bat
Што се случува: сите датотеки се во иста папка, стартувана од датотеката token.bat, ако врската е затворена, корисникот веднаш добива порака дека клучот е недостапен, во друг случај, само по 180 пингови. Горенаведените линии код може да бидат опремени со „@ECHO OFF“ и насоката на конзолата до „> нула“ за да не се шокира премногу корисникот, но не е неопходно да се изврши тестирање. Првичното „пуштање“ на USB-уред покажа дека сè е предвидливо, сигурно и јасно. Покрај тоа, не се потребни никакви манипулации од страната на серверот.
Природно, при работа директно со токенот, сè не одеше како што се очекуваше: со физичка врска во менаџерот на уреди, токенот е регистриран како 2 уреди (WUDF и паметна картичка), а со мрежна врска само како WUDF (иако ова е доволно за да побарате ПИН-код).
Исто така, излегува дека бруталната „задача“ не е толку тешка, а затворањето на врската на клиентот е проблематично и дури и да беше успешно, не гарантира дека ќе ја затворите на серверот.
Откако ги жртвуваше сите конзоли на клиентот, втората скрипта ја зеде формата:
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
самиот кронтаб изгледа вака:
*/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 со помош на симврска, во која се зачувани 2 текстуални датотеки, што го прикажува статусот на серверот usbip.
Следен дел: „Грди во обвивка“
Опција II. Малку да му угоди на корисникот со барем некој помалку застрашувачки интерфејс. Збунети од фактот што корисниците имаат различни верзии на Windows со различни рамки, различни права, помалку проблематичен пристап од
Следниве задачи беа решени со интерфејс и софтвер:
- Прикажува дали токенот е моментално зафатен.
- При првото лансирање, првичното поставување вклучува генерирање на „точни“ датотеки со лилјак што го спроведуваат стартувањето и прекинувањето на сесијата со серверот за токени. На следните стартови, имплементација на режимот „сервис“ со помош на лозинка.
- Проверка на присуство на врска со серверот, како резултат на што тој анкетира дали е зафатен или прикажува пораки за проблеми. Кога ќе продолжи комуникацијата, програмата автоматски започнува да работи во нормален режим.
Работата со WEB серверот се имплементира со помош на дополнителниот додаток fphttpclient.
има и дополнителни размислувања за темата на статијата, како и делумен почетен ентузијазам за производот VirtualHere со неговите карактеристики...
Извор: www.habr.com