Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Авторизация по ssl-сертификатам
04.05.06, Дмитрий<melco@xxxxxxxx> написал(а):
Думаю мне стоит уточнить мою задачу.
Мною будет создаваться система по принципу клиент-сервер, где сервером
скорее всего будет nginx + perl (fastcgi). На перле будет скрипт, который
будет принимать xml данные и дальше работать с базой данных. Нужно сделать
так, чтобы к скрипту имели доступ только определенные клиенты, тоесть чтобы
они авторизировались... Клиентская часть тоже будет разрабатываться мной
(точноее под моим руководством и по моим пожеланиям). Пароли, как по мне,
достаточно слабое место, т.к. имеют свойство записываться на обратной
стороне клавиатуриы или на мониторе :) . Клиенты - не сотрудники моей
компании, а потому проконтролировать работу с паролями я не могу.
Информация, которая будет приходить на сервер имеет денежный характер, а
значи, что если кто-то обретет несанкионированый доступ к скрипту - он
сможет пробросить нашу компанию на некоторую энную сумму денег, чего бы мне
очень не хотелось. Потому я и хочу для каждого клиента генерить его
сертификат, который нельзя будет скопировать в другое место.
З.Ы. Ну то, что будет иметь место ограничение по IP, то это само собой, но
все же, когда речь идет о деньгах, тут нужно трижды обезопаситься :)
Спасибо.
________________
С уважением,
Дмитрий Леоненко
-----Original Message-----
From: Majordomo Pseudo User [mailto:majordom@xxxxxxxxx] On Behalf Of Sergey
Smitienko
Sent: Wednesday, May 03, 2006 11:53 PM
To: nginx-ru@xxxxxxxxx
Subject: Re: Авторизация по ssl-сертификатам
Дмитрий пишет:
>Уважаемое сообщество.
>Мне нужно сделать авторизацию по ssl сертификатам.
>Подскажите мне, это делается средствами ssl и web-сервера или чего-то
>типа perl или php?
>
>
ssl. Смотри в сторону mod_ssl. Ну и на www.openssl.org - функции ca, x509.
На сайте mod_ssl есть пример "how to build my own CA".
>И еще подскажите, где найти инфу по генерации сертификатов такого типа
>и как сделать так, чтобы сетификат был пригоден для использования
>только на одном компьютере... тоесть чтобы его нельзя было скопировать.
>
>
Это сделать не возможно: сертификат это файл. Его можно зашифровать.
Тогда надо будет вводить пароль каждый раз при использовании. Если надо
делать что-то уникальное и некапируемое, то тут надо смотреть в сторону RSA
SecureID.
Пишите авторизацию на перле + задействуйте механизм сессий и на каждом
этапе (транзакции данных) проверяйте по данным сессии тот ли это
человек, который авторизовался или нет, задействуйте логгирование,
включите проверку по айпи адресу, все это, естественно, следует
"завернуть" в ssl, это навскидку.
Можно еще задействовать PGP-keys, но как с ними работать конкретно в
вашей реализации я пока представления не имею, но это гораздо
безопаснее, да и больше будет от клиента зависеть, а не от вас, в том
плане, что вы снимаете с себя обязанности по хранению секретной
информации, все, что вам нужно - только public-key вашего клиента.
|