The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Как заставить пользователя работать с одного компа"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [Проследить за развитием треда]

"Как заставить пользователя работать с одного компа"
Сообщение от zenon emailИскать по авторуВ закладки on 20-Ноя-03, 10:57  (MSK)
Задача выглядит так:
Необходимо для каждого логина определить один или несколько компов, с которых он может работать.
Проблема состоит в том, как однозначно определить комп....

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

Еще одно ограниечение -- желательно, чтоб работать не только под виндой.

Вроде броузеры, поддерживающие ssl имеют собственные сертификаты для идентификации, как заставить броузер отослать этот сертификат не нешел (с английским у меня плохо). Кроме того, насколько уникальными будут сертификаты броузеров, если на оба компа ПО ставилось с одного диска и архитектура их одинакова?

Заранее спасибо

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Как заставить пользователя работать с одного компа"
Сообщение от Andrey Искать по авторуВ закладки on 20-Ноя-03, 12:17  (MSK)
Авторизация через базу, ставишь статус логина в базе "он лайн", далее либо клиент цивилизованно выходит либо не подает признаков жизни по таймауту.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Как заставить пользователя работать с одного компа"
Сообщение от zenon emailИскать по авторуВ закладки on 20-Ноя-03, 12:22  (MSK)
>Авторизация через базу, ставишь статус логина в базе "он лайн", далее либо
>клиент цивилизованно выходит либо не подает признаков жизни по таймауту.


Задача стоит не так
Необходимо сделать так, чтобы пользователь мог работать только с одного компьютера всегда. Необходимо пресечь все попытки залогинится с другого компьютера.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Как заставить пользователя работать с одного компа"
Сообщение от Solotony emailИскать по авторуВ закладки on 20-Ноя-03, 18:46  (MSK)
Что можно получить с клиента?

IP - не проходит при dialup

Cookie - могут быть разные смотрелки, куку можно стереть, отключить, подменить/заменить.

Сертификаты - я не работал с клиентскими сертификатами, но что помешает
установить на два разных компа один сертификат - не знаю.

Придумал! Можно сделать апплет, который будет запускаться на компе, вычислять уникальный идентификатор для компа. И авторизовывать соответственно на сервере.

Но на самом деле это какая-то "странная" задача. Где возникает такая потребность?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Как заставить пользователя работать с одного компа"
Сообщение от dev emailИскать по авторуВ закладки on 21-Ноя-03, 00:47  (MSK)
>Придумал! Можно сделать апплет, который будет запускаться на компе, вычислять уникальный идентификатор
>для компа. И авторизовывать соответственно на сервере.
>
апплетом много не насчитаешь - его к железу не пустят, только самые очевидные вещи. а при любом изменении конфигурации юзер обломится с доступом к сайту.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "Как заставить пользователя работать с одного компа"
Сообщение от zenon emailИскать по авторуВ закладки on 21-Ноя-03, 11:35  (MSK)
>Но на самом деле это какая-то "странная" задача. Где возникает такая потребность?

Такая задача возникла при "параноидальности" заказчика :-)

А на счет аплета -- ActiveX по идее пускает читать файлы.... Может генерировать идентификать идентификатор на основе какого-нибудь файла..... Только какой файл будет на каждом клиенте и будет уникальным для них?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

11. "Как заставить пользователя работать с одного компа"
Сообщение от Xela emailИскать по авторуВ закладки on 21-Ноя-03, 11:46  (MSK)
>генерировать идентификать идентификатор на основе какого-нибудь файла..... Только какой файл будет
>на каждом клиенте и будет уникальным для них?

Тот файл, который ты ему дашь :))

  Рекомендовать в FAQ | Cообщить модератору | Наверх

12. "Как заставить пользователя работать с одного компа"
Сообщение от zenon emailИскать по авторуВ закладки on 21-Ноя-03, 12:20  (MSK)
>Тот файл, который ты ему дашь :))

Только в этом случае он будет знать КАК генерируется идентификатор..... чего и пытаемся избежать:-)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

13. "Как заставить пользователя работать с одного компа"
Сообщение от Xela emailИскать по авторуВ закладки on 21-Ноя-03, 12:25  (MSK)
>>Тот файл, который ты ему дашь :))
>
>Только в этом случае он будет знать КАК генерируется идентификатор..... чего и
>пытаемся избежать:-)

Внурь файла наисать лично сгенерированый ID.
Например  hash(login_name+random+curdate)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

14. "Как заставить пользователя работать с одного компа"
Сообщение от zenon emailИскать по авторуВ закладки on 21-Ноя-03, 12:34  (MSK)
>Внурь файла наисать лично сгенерированый ID.
>Например  hash(login_name+random+curdate)

Но он знает какой файл содержит идентификатор, и где его взять для копирования....

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

  Рекомендовать в FAQ | Cообщить модератору | Наверх

15. "Как заставить пользователя работать с одного компа"
Сообщение от Solotony emailИскать по авторуВ закладки on 21-Ноя-03, 14:06  (MSK)

>Но он знает какой файл содержит идентификатор, и где его взять для
>копирования....
>
>Гораздо надежнее будет защита, если пользователь не будет знать ее алгоритма.

тогда пишите программу, которая отвечает чем-то хитрым аппаратно-зависимым на запросы апплета.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Как заставить пользователя работать с одного компа"
Сообщение от Xela emailИскать по авторуВ закладки on 21-Ноя-03, 10:27  (MSK)
> Вроде броузеры, поддерживающие ssl имеют собственные сертификаты для идентификации, как заставить броузер отослать этот сертификат не нешел (с английским у меня плохо).

Это надо не браузер заставлять отсылать, а серевер требовать.
В целом, схема такая. В апача записываем:
SSLCACertificatePath conf/ssl/ssl.crt
SSLVerifyClient require

Соответсвено, в SSLCACertificatePath хранятся сертификаты пользователей,
или CA им их выдавщего.

На клиенте, клиентский сертификат импортируется в базу сертификатов
броузера.

При коннекте по SSL к такому серверу, сервер потребует у клиента
сертификат. Клиент послыет свой сертификат серверу. Сервер проверяет
валидность сертификата, если все - ок, то устанавливается соединение.
Ну а нет --- так на нет -- и суда нет.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Как заставить пользователя работать с одного компа"
Сообщение от Solotony emailИскать по авторуВ закладки on 21-Ноя-03, 11:12  (MSK)
По поводу сертификатов: один и тот-же сертификат можно установить на нескольких клиентских машинах?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Как заставить пользователя работать с одного компа"
Сообщение от Xela emailИскать по авторуВ закладки on 21-Ноя-03, 11:14  (MSK)
>По поводу сертификатов: один и тот-же сертификат можно установить на нескольких клиентских
>машинах?

А кто ж этому помещает???? Сертификат -- суть файл. Следовательно,
его можно таскать куда угодно.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Как заставить пользователя работать с одного компа"
Сообщение от zenon emailИскать по авторуВ закладки on 21-Ноя-03, 11:24  (MSK)
Большое спасибо.
Сертификаты -- это был бы идеальный вариант

Как я понял для использования клиентского сертификата необходим апач с mod_ssl. А если без него, то где найти RFC по ssl на русском?

И по сертификатам возникли вопросы

Может ли апач выдать сертификат или их выдачей занимаются только сертификационные центры?

Насколько просто "украсть" клиентский сертификат для несанкционированного использования?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "Как заставить пользователя работать с одного компа"
Сообщение от Xela emailИскать по авторуВ закладки on 21-Ноя-03, 11:34  (MSK)
В частном случае --- ты сам себе можешь быть CA.

Вся документация, принципы и прочее --- http://www.openssl.org

  Рекомендовать в FAQ | Cообщить модератору | Наверх

16. "Как заставить пользователя работать с одного компа"
Сообщение от Xela emailИскать по авторуВ закладки on 21-Ноя-03, 16:58  (MSK)
Сам только что попробывал схему с клиентскими сертификатами.
Работает замечательно.
Причем, для того что бы установить сертификат, клиенту надо знать
пароль, так что даже если файл с сертификатом кто-то украдет
установить его незная пароля он не сможет.

Единственый замечаный мой глюк, связан с оперой. Она в упор не хочет
принимать сертификат. IE же работает на ура.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

17. "Как заставить пользователя работать с одного компа"
Сообщение от zenon emailИскать по авторуВ закладки on 21-Ноя-03, 17:07  (MSK)
Это получилось через mod_ssl апачевский?

А получить сертификат пользователя для занесения в БД таким способом можно?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

18. "Как заставить пользователя работать с одного компа"
Сообщение от Xela emailИскать по авторуВ закладки on 21-Ноя-03, 17:47  (MSK)
>Это получилось через mod_ssl апачевский?
Конэчно :)

>А получить сертификат пользователя для занесения в БД таким способом можно?
Не понял вопроса.


  Рекомендовать в FAQ | Cообщить модератору | Наверх

19. "Как заставить пользователя работать с одного компа"
Сообщение от zenon emailИскать по авторуВ закладки on 21-Ноя-03, 17:56  (MSK)
>>А получить сертификат пользователя для занесения в БД таким способом можно?
>Не понял вопроса.

Я работаю с PHP, есть ли возможность средствами PHP получить сертификат, который прислал пользователь? Определяется ли какая-нибудь переменная окружения или что-то в этом роде?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

20. "Как заставить пользователя работать с одного компа"
Сообщение от Xela emailИскать по авторуВ закладки on 21-Ноя-03, 18:32  (MSK)
Есть возможность получить параметры клиентского сертификата,
в частности например такой, как "Common Name", то бишь кому
выдан был этот сертификат.

в переменой сервера SSL_CLIENT_S_DN => /C=RU/ST=Moscow/L=Moscow/O=Alex Sinitsyn/CN=Alex Sinitsyn/Email=my@address.

В данном случае O=Alex Sinitsyn --- владелец сертификата


  Рекомендовать в FAQ | Cообщить модератору | Наверх

21. "Как заставить пользователя работать с одного компа"
Сообщение от Xela emailИскать по авторуВ закладки on 21-Ноя-03, 18:34  (MSK)
>В данном случае O=Alex Sinitsyn --- владелец сертификата
Пардону просим :)
Конечно же CN=Alex Sinitsyn --- владелец сертификата


  Рекомендовать в FAQ | Cообщить модератору | Наверх

22. "Как заставить пользователя работать с одного компа"
Сообщение от zenon emailИскать по авторуВ закладки on 21-Ноя-03, 18:40  (MSK)
Огромное спасибо :-)
буду экспериментировать
  Рекомендовать в FAQ | Cообщить модератору | Наверх

23. "Как заставить пользователя работать с одного компа"
Сообщение от Xela emailИскать по авторуВ закладки on 21-Ноя-03, 18:46  (MSK)
>Огромное спасибо :-)
>буду экспериментировать

Это всегда полезно. Будут вопросы --- обращайся.
Хотя, по собственому опыту, все это не особо сложно.
А пытливому уму -- все по плечу :)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

24. "Как заставить пользователя работать с одного компа"
Сообщение от zenon emailИскать по авторуВ закладки on 22-Ноя-03, 15:55  (MSK)
И сразу первый вопрос:-)
Вроде разобрался, как настраивать, но возникает ошибка Вот что в логах

[error] SSL handshake failed (server mysite.com:443, client 192.168.1.10)
[error] SSL Library Error: 336105671 error:140890C7:SSL routines:func(137):reason(199)

Что ей не нравится?
Все ключи сгенерированы и прописаны...
Апач все ключи видит.... При старте спрашывает пароль... Но любое соединение рубится :-(
Причем сервер свой сертификат отправляет... Но опреа говорит "Ошибка передачи"
Эксплорер даже выдает диалог выбора сертификата
Но на это м все и заканчивается
То же самое, если сертификат пользователя не требуется
Версии
httpd 2.0.40
openssl 0.9.7a
mod_ssl 2.0.40

Все ставилось из RPM, операционка ASPLinux 9

  Рекомендовать в FAQ | Cообщить модератору | Наверх

25. "Как заставить пользователя работать с одного компа"
Сообщение от Xela emailИскать по авторуВ закладки on 22-Ноя-03, 16:12  (MSK)
>[error] SSL handshake failed (server mysite.com:443, client 192.168.1.10)
>[error] SSL Library Error: 336105671 error:140890C7:SSL routines:func(137):reason(199)

Хм... Страно. Показывай конфиги.

>Апач все ключи видит.... При старте спрашывает пароль... Но любое соединение рубится
Что б пароль не спрашивал надо над ключем проделать такую операцию:
openssl rsa -in server.key -out server.key.nopass
И в качестве ключа сервера указать server.key.nopass

>Причем сервер свой сертификат отправляет... Но опреа говорит "Ошибка передачи"
>Эксплорер даже выдает диалог выбора сертификата
>Но на это м все и заканчивается
>То же самое, если сертификат пользователя не требуется

Сначала надо добиться что бы без клиентского все бегало.
Очень странно все это. Что-то ты где-то в конфигурцией напортачил, как мне кажется.
Показывай конфиги попытаемся разобраться.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

26. "Как заставить пользователя работать с одного компа"
Сообщение от zenon emailИскать по авторуВ закладки on 22-Ноя-03, 16:23  (MSK)
Настраивал по этому руководству
https://www.opennet.ru/base/sec/ssl_freebsd.txt.html

Вот, что в httpd.conf
<VirtualHost xxxxxx:443>
    ServerAdmin my@mail
    DocumentRoot /var/www/virt/mfm
    SSLEngine on
    SSLCertificateFile /etc/httpd/conf/ssl.crt/oberon.crt
    SSLCertificateKeyFile /etc/httpd/conf/ssl.key/oberon.pem    
    SSLCACertificateFile /etc/httpd/conf/oberon-ca.crt
    SSLCACertificatePath /etc/httpd/conf/ssl.crt
    SSLVerifyClient require
    SSLOptions+StdEnvVars
    SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
    ServerName mfm.zveno
    ErrorLog logs/error.log
    CustomLog logs/ssl_request.log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>

  Рекомендовать в FAQ | Cообщить модератору | Наверх

27. "Как заставить пользователя работать с одного компа"
Сообщение от zenon emailИскать по авторуВ закладки on 22-Ноя-03, 17:26  (MSK)
SSl настроил, но, если запрашивать сертификат пользователя выдает ту же ошибку....
Сейчас настройки выглядят так

<VirtualHost xxxxxxx:443>
    DocumentRoot "/var/www/virt/mfm"
    ServerName mfm.zveno:443
    ServerAdmin my@mail
    ErrorLog logs/ssl_error_log
    TransferLog logs/ssl_access_log
    SSLEngine on
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    SSLCertificateFile /etc/httpd/conf/ssl.crt/oberon.crt
    SSLCertificateKeyFile /etc/httpd/conf/ssl.key/oberon.key
    SSLCACertificateFile /etc/httpd/conf/oberon-ca.crt
    SSLCARevocationPath /etc/httpd/conf/ssl.crl
    <Files ~ "\.(cgi|shtml|phtml|php3?)$">
        SSLOptions +StdEnvVars
    </Files>
    SetEnvIf User-Agent ".*MSIE.*" \
            nokeepalive ssl-unclean-shutdown \
            downgrade-1.0 force-response-1.0
    CustomLog logs/ssl_request_log \
            "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>

  Рекомендовать в FAQ | Cообщить модератору | Наверх

28. "Как заставить пользователя работать с одного компа"
Сообщение от Xela emailИскать по авторуВ закладки on 22-Ноя-03, 18:07  (MSK)
>SSl настроил, но, если запрашивать сертификат пользователя выдает ту же ошибку....
А что было то?

>    SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
Я бы это строчку убрал бы.

Но, честно сказать, ума не приложу что это такое.
У меня никогда такого не было.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

29. "Как заставить пользователя работать с одного компа"
Сообщение от zenon emailИскать по авторуВ закладки on 22-Ноя-03, 18:16  (MSK)
>А что было то?

Что было -- не разобрался, просто использовал больше настроек, наверное ему чего-то не хватало

Сдается мне Все это как-то связано с сертификатом CA, то ли он его не видит, то ли не может читать...

  Рекомендовать в FAQ | Cообщить модератору | Наверх

30. "Как заставить пользователя работать с одного компа"
Сообщение от Xela emailИскать по авторуВ закладки on 22-Ноя-03, 18:43  (MSK)
>Сдается мне Все это как-то связано с сертификатом CA, то ли он
>его не видит, то ли не может читать...

Ну так посмотри каие там права. И еще, я бы оставил там только то
что написано в base-64. Удалив все нормальные строки.


  Рекомендовать в FAQ | Cообщить модератору | Наверх

31. "Как заставить пользователя работать с одного компа"
Сообщение от zenon emailИскать по авторуВ закладки on 24-Ноя-03, 17:46  (MSK)
Все более-менее работает)))
Проблема возникает, если у клиента нет подходящего сертификата или же, если клиент не настроен на авторизацию через сертификат.

Глюки
Не смог экспортировать сертификат в Оперу и не смог настроить MSIE на работу (Konqueror, Mozilla пашут на ура)

И еще он почему-то несколько раз в процессе загрузки страницы спрашивает сертификат с клиента :(

  Рекомендовать в FAQ | Cообщить модератору | Наверх

32. "Как заставить пользователя работать с одного компа"
Сообщение от Xela emailИскать по авторуВ закладки on 24-Ноя-03, 18:01  (MSK)
>Проблема возникает, если у клиента нет подходящего сертификата или же, если клиент
Что занчит нет подходящего, если ты сам его им раздаешь?

>не настроен на авторизацию через сертификат.
Это не проблема. В условиях оговаривается, что рабоать надо
через сертификат.

>Не смог экспортировать сертификат в Оперу и не смог настроить MSIE на
С оперой таже фигня. Для MSIE надо сделать
openssl pkcs12 -export -in client_cert.pem -inkey client_key.pem -out client1.p12 -name "Наш дорогой клиент"
И отдать ему client1.p12

  Рекомендовать в FAQ | Cообщить модератору | Наверх

33. "Как заставить пользователя работать с одного компа"
Сообщение от zenon emailИскать по авторуВ закладки on 24-Ноя-03, 18:13  (MSK)
>Что занчит нет подходящего, если ты сам его им раздаешь?
Если нет никакого, то предупреждения не появляется, просто невозможно загрузить страницу и в логах ошибка.....

>С оперой таже фигня.
Оперу настроил... MSIE один ну оооочень глючный (не только с SSL) -- он не пашет, остальные (на других компах) работают нормально.
В любом браузере, кроме MSIE диалог на отправку авторизации появляется неоднократно.... Попробую и это решить...

  Рекомендовать в FAQ | Cообщить модератору | Наверх

34. "Как заставить пользователя работать с одного компа"
Сообщение от Xela emailИскать по авторуВ закладки on 24-Ноя-03, 18:19  (MSK)
>Если нет никакого, то предупреждения не появляется, просто невозможно загрузить страницу и
>в логах ошибка.....
Это есть такое дело. Победить не пробывал. Думаю, что на этот
счет нужно ковырять апач.


>>С оперой таже фигня.
>Оперу настроил...
Хм.. Как? Какую? У меня не вышло.

>В любом браузере, кроме MSIE диалог на отправку авторизации появляется неоднократно.... Попробую
В свете того, что у меня под рукой только Опера(которая не работет) и MSIE
в котором такого поведения не наблюдается, если раскапаешь -- расскажи.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

35. "Как заставить пользователя работать с одного компа"
Сообщение от zenon emailИскать по авторуВ закладки on 24-Ноя-03, 18:38  (MSK)
>>Оперу настроил...
>Хм.. Как? Какую? У меня не вышло.

Opera 7.22 и линуховая и виндовая версия
Настраивал так
Файл>Настройки>безопасность>Установить пароль(Вторая кнопка сверху)

Там ставишь пароль безопасности на всю оперу "Чтобы злоумышленник не воспользовался Вашим сертификатом"

Потом экспортирую сертификат
Файл>Настройки>безопасность>Управление сертификатами

Импорт поддерживает r12

Каждый раз при авторизации будет запрашывать Пароль безопасности... Это тот, который для всей оперы... Как это отключить пока не разобрался....

А на счет много раз запрашывать... это по-моему она на каждое изображение такое окошко выдает....
Где в опере это поведение рубить, пока не нашел

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру