Личный кабинет - косвенная работа с деньгами, какие могут быть уязвимости?

gonza

Новичок
Автор оригинала: Sanchez
Ок, тогда еще вопросы:
1. Свой сервер - с какой точки зрения, с той что там не сделаешь свои настройки безопасности или больше играет роль то, что там кроме тебя есть куча соседей?
И то и другое. Есть такое понятие в безопасности - периметр. Так вот, если админишь не ты или твой работник - ты периметр не контролируешь.
Автор оригинала: Sanchez
И если я покупаю выделенный сервер, то можно ли доверять специалистами из хостинговой компании, которые будут делать его настройку?
Нет, нельзя. Но тебя это не должно беспокоить. Когда заказчик поинтересуется куда засовывать паяльник ты всегда сможешь указать подходящую задницу, помахивая договором.
Автор оригинала: Sanchez
И еще я подумал, а если все данные, представленные на сайте в базе, шифровать, применив в качестве ключа пароль пользователя? Т.е. в таком случае, даже если злоумышленник получает полный доступ к базе, то эти данные ему ничего не дадут. Конечно, стоит вопрос в выборе алгоритма шифрования, но наверняка ведь есть уже решения кроме md5.
Срочно выясни разницу между шифрованием и хэшингом.
 

Sanchez

Новичок
Я знаю разницу, просто MD5 по привычке называю как шифрующую функцию, т.к. ее часто используют в этих целях. В конечном счете, можно сказать что она является частным случаем шифрования - без ключа и возможности обратного преобразования, имхо :)
 

С.

Продвинутый новичок
Пароли можно хранить локально (...) а на сервере - вообще не хранить их.
И проверять пароли при логине тоже только локально (яваскриптом?)
 

Sanchez

Новичок
На сервере хранить можно зашифрованную строку, которая при дешифрации правильным паролем даст определенное, например, слово. По этому и выносить критерий - залогинен/незалогинен.
 

Alexandre

PHPПенсионер
И проверять пароли при логине тоже только локально (яваскриптом?)
ну и как это реализовать???
На сервере хранить можно зашифрованную строку, которая при дешифрации правильным паролем даст определенное, например, слово. По этому и выносить критерий - залогинен/незалогинен
а как дешифровать?
можно с этого момента чуть поподробнее? Для дешифрации требуется ключ, ключ и пароль это разные вещи или мы что-то путаем? Если для дешифрации требуется ключ, то его надо где-то хранить.

-~{}~ 18.04.07 15:28:

как вариант (он сложный но вариант и на шаред хостинге практически не реализуем ) каждому пользователю выдается SSL сертификат, который клиент устанавливает в браузер. При ssl доступе просиходит обмен сертификатами между сервером и пользователем и устанавливается защищенное соединение (автоматически). используя mod_ssl можно узнать публичный ключ клиента, который устанавливается как переменная среды. этим ключом + приватный сервера и шифруются данные пользователя.

Все, и ни каких гвоздей.

Админ не знает ключ пользователя. Другой пользователь не залезет в чужие данные не имея Сертификата.

Сложность - необходим наладить механизм раздачи Сертификатов.
читать
www.openssl.org
www.php.net/ssl
www.apache.org/mod_ssl
 

Андрейка

Senior pomidor developer
Для дешифрации требуется ключ, ключ и пароль это разные вещи или мы что-то путаем?
чем одно от другого отличается?

каждому пользователю выдается SSL сертификат
чем сертификат от пароля отличается?
 

Андрейка

Senior pomidor developer
Alexandre
а вы уверены, что у меня получится прям вот так взять и с первого раза найти там подтверждение ваших слов? пасиб за оказанное доверие, попробую его оправдать)
 

Sanchez

Новичок
Автор оригинала: Alexandre
ну и как это реализовать???
а как дешифровать?
можно с этого момента чуть поподробнее? Для дешифрации требуется ключ, ключ и пароль это разные вещи или мы что-то путаем? Если для дешифрации требуется ключ, то его надо где-то хранить.
Я предполагал так - что пароль будет являться ключом для шифрования/дешифрования, т.е. расшифровать свои собственные данные можно только с помощью пароля (и как вариант, в фирме эти пароли хранятся локально в открытом виде).
 

Alexandre

PHPПенсионер
слабенько, но можно принять (если список паролей шифровать и хранить локально в фирме).

минус - получается, что авторизации нет.... так как пароль не храниться на сервере...

но и вместо данных - непонятно что...

тогда продумать нужен механизм от подбора пароля.
 

Sanchez

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

А насчет подбора - разве использование надежного алгоритма шифрования не панацея от подбора?
 

Alexandre

PHPПенсионер
нет, если бот будет долбить кажды 0.2 сек твой сайт, то рано или поздно - он подберет пароль.
 

Vallar_ultra

Любитель выпить :)
Sanchez
>А насчет подбора - разве использование надежного алгоритма шифрования не панацея от подбора?

шифрование не имеет никакого отношения к защите от перебора.
 

Sanchez

Новичок
Имхо если сделать достаточно длинный пароль (как обяз. условие), то фиг там че бот подберет (за приемлемое время).
 

Vallar_ultra

Любитель выпить :)
goodpassword - хороший, длинный пароль. Тока вот его влегкую по словарю подберут. И оч. мало пользователей, которые себе придумывают нормальные пароли.
 

Alexandre

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

хороший пароль

-~{}~ 20.04.07 14:21:

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

для того чтоб его не подобрали за приемлемое время, делается счетчик вхождений с данным логином, как только вылавливается подбор (три вхождения), то логин блокируется на как минимум на 30 минут

тогда время перебора становится действительно НЕ Приемлемым.
 

Vallar_ultra

Любитель выпить :)
Alexandre
Ага, и большинство юзеров, не способные запомнить что-нить типа Gh8D23Aj будут хранить его либо в текстовике на рабочем столе, либо в почте или запомнят в браузере.... а теперь идем читать про то, как это замечательно воруется.
 

gonza

Новичок
очередной вар про пароли.
Бандитский криптоанализ
Для получения ключа криптоаналитик прибегает к угрозам, шантажу или пыткам. Возможно также взяточничество, которое иногда называют вскрытием с покупкой ключа. Это очень мощные и, зачастую, самые эффективные методы взлома алгоритма
Брюс Шнайер, Прикладная криптография, Триумф, 2002, стр.21
 
Сверху