Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.04.13;
Скачать: CL | DM;

Вниз

Шифрование данных для Web-Server а   Найти похожие ветки 

 
Ega23 ©   (2008-02-26 11:38) [0]

Народ, вот какой вопрос: если мне из браузера надо авторизоваться на WebServer, то каким образом на сервер передаются мои логин-пароль?
В явном виде, или в шифрованном?
Дайте ссылку почитать на эту тему...


 
Рамиль ©   (2008-02-26 11:40) [1]

http в открытом
https в шифрованном


 
Kerk ©   (2008-02-26 11:40) [2]

Способов авторизации очень много
Уточни о каком ты говоришь
---

Если говорить в общем, о насколько я знаю, браузер не шифрует ничего из передаваемых данных. Потому и придумали SSL.


 
Ega23 ©   (2008-02-26 11:46) [3]


> Уточни о каком ты говоришь


Есть СУБД с какими-то данными. Для неё разрабатывается тонкий клиент - вся логика уходит на WebServer, пользователь только тыкает ссылки в браузере и смотрит полученные страницы.
есть список действий, доступный пользователю. Зависит от его "роли доступа", т.е., фактически, от логин-пароль.
Собственно, перед началом работы пользователь вводит логин-пароль в html-форме и это дело уходит на сервер, где уже формируется контент, разрешённый данной роли.

собственно вопрос: в каком виде этот логи-пароль на сервер уходит?
В виде http://www.xxx.ru/main$uid=user&pwd=pass  ?  
Или всё-таки как-то более хитрым способом?


 
Kerk ©   (2008-02-26 11:50) [4]


> Собственно, перед началом работы пользователь вводит логин-
> пароль в html-форме и это дело уходит на сервер, где уже
> формируется контент, разрешённый данной роли.
>
> собственно вопрос: в каком виде этот логи-пароль на сервер
> уходит?
> В виде http://www.xxx.ru/main$uid=user&pwd=pass  ?  
> Или всё-таки как-то более хитрым способом?

Так и уходит. Копай в сторону SSL, тогда вообще весь трафик будет шифроваться


 
Kerk ©   (2008-02-26 11:54) [5]

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


 
clickmaker ©   (2008-02-26 12:06) [6]


> собственно вопрос: в каком виде этот логи-пароль на сервер
> уходит?
> В виде http://www.xxx.ru/main$uid=user&pwd=pass  ?

если через submit формы и у нее action=post, что через post, т.е. не как часть урла


 
clickmaker ©   (2008-02-26 12:14) [7]

PS. в любом случае рекомендовал бы передавать уже хэш пароля


 
Ega23 ©   (2008-02-26 12:17) [8]


> PS. в любом случае рекомендовал бы передавать уже хэш пароля


А как его в браузере получить?
Ткните носом в ссылку какую-нибудь (чтобы я вас не мучил своими вопросами глупыми), где это простым доступным способом описано, а то я этим никогда раньше не занимался и практически полный ноль в этих делах.


 
clickmaker ©   (2008-02-26 12:20) [9]


> [8] Ega23 ©   (26.02.08 12:17)
>
> > PS. в любом случае рекомендовал бы передавать уже хэш
> пароля
>
>
> А как его в браузере получить?

средствами языка, на котором пишется страница.
в php - MD5(), SHA1(), к примеру


 
Kerk ©   (2008-02-26 12:25) [10]


> Ega23 ©   (26.02.08 12:17) [8]

Special For You :)
http://forum.antichat.ru/thread47802.html


 
Kerk ©   (2008-02-26 12:26) [11]

Но как основное средство защиты - это ничего не меняет. Какая разница злоумышленнику, что перехватывать? Пароль или его хэш? Всяко, что поймал, то и передаешь серверу для авторизации.


 
DiamondShark ©   (2008-02-26 12:31) [12]


> А как его в браузере получить?

Известно как: вычислить.
Хинт: В браузере есть скрипты.

В тырнете полно реализаций хэшей на VBScript и JavaScript.


 
DiamondShark ©   (2008-02-26 12:33) [13]


> clickmaker ©   (26.02.08 12:20) [9]

Какой ещё пыхэпэ, если хэш надо в браузере считать?


 
clickmaker ©   (2008-02-26 12:37) [14]


> [13] DiamondShark ©   (26.02.08 12:33)

ну-да, ну-да... это меня переклинило на передачу из веб-сервера в базу )


 
Ega23 ©   (2008-02-26 12:53) [15]

Так, с хэшированием понятно, дальше сам разберусь, всем спасибо!

Возник ещё один теоретический вопрос:
Вот есть СУБД (минимальный набор - Oracle, MSSQL, Postgres), вот к ней - клиент. Данные из БД на клиент гонятся по TCP.
А есть ли на этом уровне защита данных? Т.е. я послал запрос типа Select * from Table1. Как мне ответ защитить во время передачи, и вооще, можно ли это сделать стандартными средствами? Или свой "недопротокол" придётся накручивать?


 
Eraser ©   (2008-02-26 12:56) [16]


> Ega23 ©   (26.02.08 12:53) [15]

вроде есть свои встроенные средства защиты коммуникационных каналов, зависит от субд. а вообще обычно сервер на localhost"е находится.


 
Ega23 ©   (2008-02-26 12:58) [17]


> а вообще обычно сервер на localhost"е находится.


Вот как раз возможен вариант его нахождения где-то в другом месте. Вероятность небольшая, но тем-не-менее...


 
Ega23 ©   (2008-02-26 12:59) [18]


> вроде есть свои встроенные средства защиты коммуникационных
> каналов, зависит от субд.


Ткни в ссылочку, если есть...


 
DiamondShark ©   (2008-02-26 13:01) [19]


> Kerk ©   (26.02.08 12:25) [10]
>
> > Ega23 ©   (26.02.08 12:17) [8]
>
> Special For You :)
> http://forum.antichat.ru/thread47802.html

За что ты его так?


> Kerk ©   (26.02.08 12:26) [11]
> Но как основное средство защиты - это ничего не меняет.
> Какая разница злоумышленнику, что перехватывать? Пароль
> или его хэш? Всяко, что поймал, то и передаешь серверу для
> авторизации.

Дык, это не так делается!
Ясен пень, если передаётся хэш только пароля, то это монопенисуально передаче самого пароля.
Обычно делается некое подобие challenge/response протокола.

1. Клиент с формой авторизации получает многобайтную случайную последовательность (challenge), сервер запоминает challenge в сессии клиента.
2. Клиент шифрует challenge, используя в качестве ключа хэш пароля.
3. Клиент передаёт имя и зашифрованный challenge.
4. Сервер по имени добывает из базы хэш пароля, шифрует challenge и сравнивает с полученным от клиента.

Этот метод сносно защищает пароль, но не защищает от перехвата сессии.


 
DiamondShark ©   (2008-02-26 13:04) [20]


> Ega23 ©   (26.02.08 12:53) [15]

За всех не скажу, но MSSQL умеет шифровать трафик.
Оракл, вроде бы, тоже.

Есть другой вариант: поверх открытого TCP канала поднимаешь какой-нибудь защищённый VPN, а уже по виртуальному каналу коннектишься к SQL-серверу.


 
palva ©   (2008-02-26 13:05) [21]


> Ega23 ©   (26.02.08 12:53) [15]
> Так, с хэшированием понятно, дальше сам разберусь, всем спасибо!


Не надо передавать хэш. Это создаст дополнительную уязвимость.
Надо передавать сам пароль. Только под https.


 
Kerk ©   (2008-02-26 13:07) [22]


> DiamondShark ©   (26.02.08 13:01) [19]
> Дык, это не так делается!

Проще и надежнее заюзать SSL, чем делать то, что ты описал :)


 
Reindeer Moss Eater ©   (2008-02-26 13:09) [23]

Этот метод сносно защищает пароль, но не защищает от перехвата сессии.

Можно и сессию защитить если в полный рост использовать diggest авторизацию (nonce, ncount, etc)
Но шттпс конечно же проще.


 
BiN ©   (2008-02-26 13:14) [24]


> Ega23 ©   (26.02.08 11:38)

Олег, в промышленных масштабах ssl предпочтительнее, хотя его использование несколько влияет на производительность. Помимо защиты данных здесь еще играет роль фактор однозначной идентификации сервера. К тому же инженерная часть работы всегда обходится дешевле, чем разработка, пусть и на js. Настройка узла iis для работы с ssl занимает пару минут при наличии корректного сертификата.
А что касается шифрования  трафика между субд и клиентом.. Ты же вроде как делаешь трехзвенку, то есть клиент у тебя не подключается напрямую к базе, нет?


 
DiamondShark ©   (2008-02-26 13:14) [25]


> Проще и надежнее заюзать SSL, чем делать то, что ты описал
> :)

Для SSL гравицапа нужна.

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

А так конечно, проще и надёжнее, кто ж спорит.


 
Ega23 ©   (2008-02-26 13:18) [26]


> А что касается шифрования  трафика между субд и клиентом.
> . Ты же вроде как делаешь трехзвенку, то есть клиент у тебя
> не подключается напрямую к базе, нет?


Ну "клиентом" в данном случае WebServer выступает. В принципе это дело с одной стороны несколько параноидально - шифровать траффик между AppServer и СУБД, с другой стороны прецедент всё-таки может быть и против него не попрёшь.
Что касается общения между клиентом (браузером) и WebServer-ом, то, по всей видимости, действительно SSL проще всего использовать...


 
Kerk ©   (2008-02-26 13:23) [27]


> Ega23 ©   (26.02.08 13:18) [26]

Тока не зажимайте $100 на сертификат от VeriSign. Чтоб уж совсем по взрослому :)


 
Ega23 ©   (2008-02-26 13:26) [28]


> Тока не зажимайте $100 на сертификат от VeriSign. Чтоб уж
> совсем по взрослому :)


Ну это уже не я решаю. Но есть сильное подозрение, что с этим всё в порядке будет...


 
Пробегал...   (2008-02-26 13:30) [29]

clickmaker ©   (26.02.08 12:14) [7]
PS. в любом случае рекомендовал бы передавать уже хэш пароля


clickmaker ©   (26.02.08 12:20) [9]
средствами языка, на котором пишется страница.
в php - MD5(), SHA1(), к примеру


Ну ты хоть думай то, что пишешь ;)

Kerk ©   (26.02.08 12:26) [11]
Какая разница злоумышленнику, что перехватывать? Пароль или его хэш? Всяко, что поймал, то и передаешь серверу для авторизации.


ну в случае MD5 да. Поэтому надо копать в сторону Kerberos ;)


 
BiN ©   (2008-02-26 13:30) [30]


> Ega23 ©   (26.02.08 13:18) [26]
>
>
> Ну "клиентом" в данном случае WebServer выступает. В принципе
> это дело с одной стороны несколько параноидально - шифровать
> траффик между AppServer и СУБД, с другой стороны прецедент
> всё-таки может быть и против него не попрёшь.


Например, настройка шифрования для MSSQL подробно описана в поставляемой документации aka Books Online. Статья Encrypting Connections to SQL Server. Кстати, доступна и русская версия books online.


 
oldman ©   (2008-02-26 13:31) [31]


> Ega23 ©  


Ты там куда вляпался?
То ему word и excel файлы надо на пароли проверять,
то web-защиту курежит...


 
Ega23 ©   (2008-02-26 13:38) [32]


> то web-защиту курежит...


Скорее наоборот...  :)


> Например, настройка шифрования для MSSQL подробно описана
> в поставляемой документации aka Books Online. Статья Encrypting
> Connections to SQL Server. Кстати, доступна и русская версия
> books online.
>


Тут вот какое дело... Для конкретной СУБД вполне вероятно это и есть. Про MSSQL знаю точно, про Oracle - не знаю (но скорее всего - тоже есть), про Postgres ничего сказать не могу. Хотелось бы какой-нибудь стандартный механизм, типа ODBC->Strong Encryption
Но на ODBC нельзя заложиться, т.к. не исключен вариант нахождения Веб-Сервера под *никсом.
Вобщем, пока кроме какого-то своего сервиса пока в бошку ничего не лезет...  :(


 
boriskb ©   (2008-02-26 13:41) [33]

> Ты там куда вляпался?


:)
Действительно интересно
И к тому же ветка про "однокласники"... то бишь - как из ничего чего-нибудь утащить :))

Олег, сухари то хоть насушены? :)


 
Petr V. Abramov ©   (2008-02-26 13:43) [34]


> Ega23 ©   (26.02.08 13:18) [26]

это уже настройками клиента СУБД делается.


 
Плохиш ©   (2008-02-26 13:58) [35]


> Ega23 ©   (26.02.08 13:38) [32]


> про Postgres ничего сказать не могу

В 8х SSL включается.

> Но на ODBC нельзя заложиться, т.к. не исключен вариант нахождения
> Веб-Сервера под *никсом.

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


 
Ega23 ©   (2008-02-26 16:53) [36]

Так, едем дальше.
Ну вот прописал я в httpd.conf
LoadModule ssl_module modules/mod_ssl.so

А что я должен увидеть? при наличии сертификата я смогу зайти на localhost и через http и через https ?



Страницы: 1 вся ветка

Текущий архив: 2008.04.13;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.017 c
15-1203706540
DiamondShark
2008-02-22 21:55
2008.04.13
А у меня дочка родилась.


2-1206008011
Sedd
2008-03-20 13:13
2008.04.13
Нужен совет


2-1205935938
Studios
2008-03-19 17:12
2008.04.13
TMemoryStream как превратиь в string?


2-1206042597
Studios
2008-03-20 22:49
2008.04.13
httpcli1 как загрузить jpeg ?


15-1204017202
Правильный_Вася
2008-02-26 12:13
2008.04.13
FireBird - альтернатива