Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.141.244.201] |
|
Сообщ.
#1
,
|
|
|
Требуется разослать множеству клиентов по эл. почте прикреплённый документ или ссылку на него на внешнем ресурсе.
Электронный документ (PDF) представляют из себя некоторое количество квитанций и может быть очень увесистым, теоретически свыше 50 МБ (когда много квитанций). Обдумывались следующие варианты: Есть высокая вероятность того, что некоторые заказы будут приводить к великим размерам документа. Если же давать ссылку на ресурс, то возникает вопрос о том каким образом можно удостовериться, что к тому ресурсу хочет получить доступ именно тот, у кого есть на это право (то есть аутентикация пользователя). Вдовесок, обсуждались способы ограничения доступа по истечению некоторого срока. Среди вариантов аутентикации был предложен метод получения доступа к документу с помощью дополнительного параметра в URL, хеш-кода (MD5, SHA-1). То есть, совершив покупку, пользователь получает ссылку типа _http://storage.mycompany.com/get_document?code=XXX . Насколько это безопасно? Какой вариант предпочтительнее и почему? Или предложите другой вариант. |
Сообщ.
#2
,
|
|
|
Ну, первый вариант, очевидно, отпадает - нехорошо слать очень большие данные. Третий сам по себе - утечка информации на сторону. Остаётся только второй. Хеш желателен, чтобы другой пользователь не мог подставить в запрос чужой ID. Ну а самое слабое место этого способа, впрочем как и всех трёх, - доступ злоумышленника к письму. Но тут уже врядли что можно сделать.
|
Сообщ.
#3
,
|
|
|
Насчёт уязвимости эл. почты известно. Однако, в эл. документе нет никаких данных кроме тех, которые нужны для покупки (фио, сумма сделки и прочие детали). То есть в них не будет ничего конфиденциального.
Задачей является избежать ситуации, когда некто несанкционированно получает доступ к этому эл. документу и распечатывает его. Необходимо ли обязывать пользователя заходить в систему для получения документа? Или наличия хеш-кода достаточно? И не может ли тогда применение хеш-кода стать потенциальной уязвимостью? |
Сообщ.
#4
,
|
|
|
a. чревато проблемами с доставкой, битостью файлов и т.п. Потом руками разгребать недошедшие заказы и переотправлять.
Лучше конечно размещать на своем сервера с персональные ссылками. Всегда можно держать БД в актуальном состоянии ("банить" штрафников, оперативно добавлять новых, корректировать PDF) Ссылка конечно со сроком - иначе с одной стороны будут копиться мертвые души, с другой - ссылка уйдет в массы Цитата Romtek @ Среди вариантов аутентикации был предложен метод получения доступа к документу с помощью дополнительного параметра в URL, хеш-кода (MD5, SHA-1). То есть, совершив покупку, пользователь получает ссылку типа _http://storage.mycompany.com/get_document?code=XXX . Насколько это безопасно? что под безопасностью подразумевается? Застраховаться от передачи ссылки/документов "соседу" никак не получится. Только если вся работа делается через свой софт, которые привязан к конкретной системе. |
Сообщ.
#5
,
|
|
|
Цитата Romtek @ Для такого уровня секретности заставлять входить в систему - лишнее, хеша достаточно. Необходимо ли обязывать пользователя заходить в систему для получения документа? Или наличия хеш-кода достаточно? И не может ли тогда применение хеш-кода стать потенциальной уязвимостью? |
Сообщ.
#6
,
|
|
|
Цитата Romtek @ Необходимо ли обязывать пользователя заходить в систему для получения документа? Или наличия хеш-кода достаточно? И не может ли тогда применение хеш-кода стать потенциальной уязвимостью? что "личный кабинет", что "хэш-код" уязвим к атакам "передать соседу", который используется значительно чаще, чем "украсть/подсмотреть". Можно конечно делать привязку к IP-подсети, вполне вариант если покупатель юзает ссылки только с работы/дома. А так, кроме бана проштрафившихся пока вроде ничего универсального не придумано |
Сообщ.
#7
,
|
|
|
Всем спасибо за советы.
Цитата lepit @ А так, кроме бана проштрафившихся пока вроде ничего универсального не придумано Ну да. Штрафы с клиентов сисадмину на счёт. Ему же надо на что-то жить. |
Сообщ.
#8
,
|
|
|
Romtek, предлагаю вариант b, с поправками:
Тут даже SSL-сессии не нужны. Есть нюансы, связанные с начальной раздачей ключей и сертификатов, но это решается однократно. |
Сообщ.
#9
,
|
|
|
Сколько в последнее время утекло личной информации через эти url с хэшами, включая те же СМСки Мегафона, а воз и ныне там...
|
Сообщ.
#10
,
|
|
|
Цитата Uncle_Bob @ Это к чему-то конкретно сказано или для общей информации? Сколько в последнее время утекло личной информации через эти url с хэшами, включая те же СМСки Мегафона, а воз и ныне там... |
Сообщ.
#11
,
|
|
|
Цитата Romtek @ Это к чему-то конкретно сказано или для общей информации? по сабжу, точнее пункту b |
Сообщ.
#12
,
|
|
|
Страхи вызваны чем-то конкретным?
|
Сообщ.
#13
,
|
|
|
У меня страхов нет, по-моему это удел проектировщика. Ты готов отвечать за что там у пользователя за тулбар стоит и куда он отсылает данные о посещенных url?
Про конкретику я уже привел пример с мегафоном. |
Сообщ.
#14
,
|
|
|
Согласен. Но к той же категории тогда можно отнести и кейлоггер. Разве не так?
|
Сообщ.
#15
,
|
|
|
Цитата Romtek @ Но к той же категории тогда можно отнести и кейлоггер. Разве не так? Нет. Кейлоггер - это троян, который ловится антивиром в общем случае. Тулбар браузера - это |
Сообщ.
#16
,
|
|
|
Хм. Что же по твоему нужно делать? Застрелиться?
Предложи что-то простое, что позволит обезопасить и клиентов и фирму. Учитывая наш неидеальный мир. |
Сообщ.
#17
,
|
|
|
По-моему доступ к конфиденциальной информации должен быть закрыт логином-паролем. Понятно, что не панацея, но в открытом виде раздавать "секретные" ссылки - это чревато.
Qraizer писал про сертификаты, но это для Как минимум, надо предлагать юзеру при проходе по такой ссылке вводить свой логин. |
Сообщ.
#18
,
|
|
|
Romtek
Я считаю, что безопасность пользователя - это целиком и полностью проблема именно пользователя. В этой части максимум того, что ты обязан - это дать ему необходимую информацию об угрозах и методах противодействия им. А за остальное пользователь обязан расписаться. На бумаге или в электронной оферте - неважно. Впрочем, в последнем случае необходим сертифицированный комплекс электронного или онлайн-подписывания. После чего тебе вполне достаточно обеспечить безопасность на твоей стороне. Создать пользователю личный кабинет, выдать логин и пароль (сертификат). Обязать разумно регулярно менять пароль или перезапрашивать сертификат. Сообщать о предыдущих аутентификациях (дата, время, адрес) и дуплетах, организовать экстренную блокировку при подозрениях на компрометацию (из кабинета и через колл-центр). И все стандартные мероприятия по обеспечению безопасности хранения личных и конфиденциальных данных в своих БД. Документы пользователь получает в соотв. разделе личного кабинета. Срок хранения - по умолчанию небольшой (скажем неделя), но дать возможность его увеличивать (скажем до года). |
Сообщ.
#19
,
|
|
|
Цитата Akina @ Я считаю, что безопасность пользователя - это целиком и полностью проблема именно пользователя. Скажи это миллионам счастливых обладателей яндекс бара |
Сообщ.
#20
,
|
|
|
Uncle_Bob
Никто не может запретить человеку быть идиотом. |
Сообщ.
#21
,
|
|
|
Навеяло:
Цитата ithappens Соболезную тем, у кого антивирус мешает нормальной работе своими сообщениями, но ведь даже в них есть смысл. Звонок на сотовый в три часа ночи: один юзер, которому я устанавливал на днях лицензионный антивирус, скачал и поставил себе винлокер. Опущу реплики по поводу содомии, которую юзер увидел на экране, о том, что увиденное он хочет повторить со мной, с разработчиками антивируса и зачем-то с Биллом Гейтсом. Ладно, его сексуальная ориентация меня не касается — вежливо отказываюсь. Спустя полчаса пошаговых инструкций всё-таки удалось откатить систему и запустить проверку файлов антивирусом. Вроде бы проблема решена, но стало мне любопытно, где же и как он раздобыл этот троян, а также почему антивирус (которым, кстати, пользуюсь и я) допустил такое непотребство. Прошу скинуть мне ссылку на сайт и дать название программы, которую он качал. В виртуальной машине иду на сайт. Вижу предупреждение о том, что опасно заходить на плохие сайты. Пропускаю предупреждение мимо ушей, лезу дальше и начинаю скачивание, но не тут-то было! Антивирус спрашивает меня: зачем я качаю эту бяку? Она же нехорошая, может сделать гадости на моём компьютере. Что? Он смеет мне перечить? Хочу и качаю! Запускаю экзешник, но установка блокируется, а антивирус орёт благим матом: «Хозяина-а-а! Не надо, не позволяй этой гадости устанавливаться, это нехорошо!» — и, как неразумного ребёнку, добавляет: «А чтобы ты не пытался больше сотворить зло над системой, заблокирую-ка я доступ». Вытаскиваю троян из карантина, добавляю в исключения, всё-таки устанавливаю. И… ничего. Вспоминаю, что некоторые винлокеры срабатывают только после перезагрузки. Ну, это уже мелочи, минутное дело. Вот он, момент «X», уже приветствие Windows вылезло на экран. И снова ничего. Только антивирус моргнул окошком, что зараза не пролезла, что он её остановил при перезагрузке. Так и не смог я установить дрянь. Как у юзеров-то выходит? |
Сообщ.
#22
,
|
|
|
Цитата Qraizer @ Так и не смог я установить дрянь. Как у юзеров-то выходит? По-моему, очевидно. Отсутствие или наличие вирусов опредляется по отсутствию или наличию сообщений о них. При отключенном антивирусе сообщений нет, следовательно, и вирусов тоже. Выводы see above. |
Сообщ.
#23
,
|
|
|
Дык ото ж. "У меня программа падает, Почему? - Дык у тебя выход за границы массива. Почему предупреждения компилятора не смотришь? - А я их отсключил, с ними проект не собирается" Это о Дельфи разговор был, если чё.
|
Сообщ.
#24
,
|
|
|
Оферты и фигерты это хорошо, до тех пор пока они не противоречат 152-ФЗ. И тогда уже пользователь не причем, все что утекло ложится на плечи владельца сервиса.
|
Сообщ.
#25
,
|
|
|
Да нет, понятно, что юзеры достаточно не продвинуты (не хочется называть идиотами), чтобы устаовить себе что-то лишнее... но можно же предусмотреть хотя бы минимальную защиту от дурака... собственно, когда делаешь что-нибудь рассчитанное на большую аудиторию, всегда думаешь об этом... и чем шире аудитория, тем сильнее защита от дурака...
ИМХО, давать ссылку на файл, а отдавать только авторизованному... они ведь все равно уже зарегистрированы на сайте? |
Сообщ.
#26
,
|
|
|
Цитата fatalist @ ИМХО, давать ссылку на файл, а отдавать только авторизованному... они ведь все равно уже зарегистрированы на сайте? Не обязательно зарегистрированы. |
Сообщ.
#27
,
|
|
|
Цитата Uncle_Bob @ до тех пор пока они не противоречат 152-ФЗ. А они и не противоречат. Или ты "... думаешь, в правительстве дураки сидят? ...". А компрометация аутентификационных данных клиента вследствие ненадлежащего их хранения и использования самим клиентом есть целиком и полностью головняк клиента до тех пор, пока он надлежащим образом (что прописано и в договоре, и в том же 152-ФЗ) не уведомил оператора о компрометации и необходимости принятия мер по защите его данных. Всё, что выполнено от имени клиента и с использованием принадлежащих персонально ему признаков аутентичности, валидных на момент выполнения действия, выполнено самим клиентом - и это не обсуждается. Ни на словах, ни в суде, ни даже по понятиям. Если утечка произошла до того, как клиент известил оператора, оператор невиновен - он не мог предполагать и не должен был на момент выполнения действий предполагать, что признаки аутентичности клиента скомпрометированы. |
Сообщ.
#28
,
|
|
|
Цитата Romtek @ Нутогда тех, которые не зареганы, но сделали заказ, автоматом зарегистрировать (логин - email, пароль рандомный ) и выслать вмеcте с сылкой пароль...Не обязательно зарегистрированы. Цитата Akina @ Ну мы же уже в курсе, что у каждого второго стоят непонятные тулбары... то есть заранее предполагаем, что ссылка может утечь куда угодно... А пользователь не в курсе, как он нас известит? Если утечка произошла до того, как клиент известил оператора, оператор невиновен - он не мог предполагать и не должен был на момент выполнения действий предполагать, что признаки аутентичности клиента скомпрометированы. |
Сообщ.
#29
,
|
|
|
Цитата fatalist @ пользователь не в курсе, как он нас известит? То, что он не в курсе - проблема пользователя, следствие его халатности. По всем законам. И соответственно вина - тоже пользователя, т.к. он мог и должен был предполагать, что устанавливаемое на компьютер программное обеспечение может выполнять функцию кражи конфиденциальных данных. |
Сообщ.
#30
,
|
|
|
Цитата Akina @ По закону это понятно... но как же защита от дурака?То, что он не в курсе - проблема пользователя, следствие его халатности. По всем законам. И соответственно вина - тоже пользователя, т.к. он мог и должен был предполагать, что устанавливаемое на компьютер программное обеспечение может выполнять функцию кражи конфиденциальных данных. Мало ли кто в чем реально виноват, главное, чтобы работало нормально... |
Сообщ.
#31
,
|
|
|
Цитата fatalist @ но как же защита от дурака? Цитата fatalist @ главное, чтобы работало нормально... А оно работает, и работает нормально - у нормальных пользователей системы... а то, что некий конкретный клиент сэкономил на наёме специалиста и поручил эту работу дебилу, просравшему всё и вся - это проблема клиента. Скупой платит дважды. Скупой дурак - стократно. Вот главбухом кого попало почему-то не ставят... |
Сообщ.
#32
,
|
|
|
Цитата Akina @ Не понял логики...А оно работает, и работает нормально - у нормальных пользователей системы... а то, что некий конкретный клиент сэкономил на наёме специалиста и поручил эту работу дебилу, просравшему всё и вся - это проблема клиента. Скупой платит дважды. Скупой дурак - стократно. На сколько я понял клиенты - обычные люди (поправьте, если не прав), а даже если это корпоративные клиенты, не будут же они поручать заказ чего-то ИТ-специалисту... не для того они там работают... закаж будет делать секретарша... в лучшем случае бухгалтер... который в свою очередь не должен быть компьютерно грамотным, а соответственно может и схватить на просторах интернета что-нибудь... |
Сообщ.
#33
,
|
|
|
fatalist
Логика? очень простая. Полезет обычный бухгалтер ремонтировать криво работающий телевизор? Станет секретарша приводить в порядок загудевший компрессор холодильника? Отправят в организации сантехника поменять пакетник на силовой магистрали? вряд ли, все мы, и в быту, и на работе, люди по большей части разумные, и поручаем выполнение работы специалисту в данной области. Если бухгалтер таки поковырялся в телевизоре и окончательно его доломал, увеличив стоимость ремонта вдвое, сделают ему в сервисе, куда он наконец обратится, скидку на том основании, что устранение изначальной неисправности стоит меньше, а бухгалтер - не специалист в бытовой электронике, а? а секретарше, которая в попытке избавиться от шума компрессора разгерметизировала систему охлаждения холодильника? Избежит ли работодатель ответственности, если сантехника шандарахнет током, на том основании, что работа была на пять минут, не поручать же это дело специалисту-электрику по силовым сетям? Ответы просты и очевидны. Идиотов нет. А те, которые есть, хлебают дерьма полной ложкой - и это никого не удивляет, это правильно. А теперь скажи - какого хрена везде работу поручают специалистам, но как только дело доходит до IT, считается нормой поручать дело первому подвернувшемуся под руку идиоту только потому, что у него есть на то свободные минуты? распустились, или, вернее, распустили, сработало внедрение в умы мнения о том, что компьютерными технологиями может заниматься любой идиот. И тот, у кого в мозгах засела эта дебильная догма, обязательно нажрётся дерьма. И ещё заплатит за съеденное, ибо нефиг. А если он не клинический идиот, то посмотрит он на чужие ошибки, благо с информацией сейчас проблем нет, и не будет их повторять. А если идиот - то и судьба ему стать ещё одним примеров для тех, кто соображает. Но при чём тут предоставляемый сервис? наше дело сказать, где лежат грабли, и как их обойти. А есть мозги у пользователя, и он свернёт в нужную сторону, или он идиот, и продолжит путь по граблям - это не наша забота. Получит по лбу - вызовем скорую, не жалко. |
Сообщ.
#34
,
|
|
|
Цитата Akina @ А покупка/заказ чего либо в интернете это уже работа для настоящего ИТ-специалиста? А теперь скажи - какого хрена везде работу поручают специалистам, но как только дело доходит до IT, считается нормой поручать дело первому подвернувшемуся под руку идиоту только потому, что у него есть на то свободные минуты? распустились, или, вернее, распустили, сработало внедрение в умы мнения о том, что компьютерными технологиями может заниматься любой идиот. И тот, у кого в мозгах засела эта дебильная догма, обязательно нажрётся дерьма. И ещё заплатит за съеденное, ибо нефиг. А если он не клинический идиот, то посмотрит он на чужие ошибки, благо с информацией сейчас проблем нет, и не будет их повторять. А если идиот - то и судьба ему стать ещё одним примеров для тех, кто соображает. То есть, если у меня жена хочет что-то купить в Юлмарте, она должна позвонить в ИТ-контору, чтобы ей для этой операции выделили спеца со своим компом? Цитата Akina @ Ага, то есть в данном случае ты предлагаеim таки оправить ссылку человеку, а к ней инструкцию по компьютерной безопаности, пусть вчитывается?Но при чём тут предоставляемый сервис? наше дело сказать, где лежат грабли, и как их обойти. А есть мозги у пользователя, и он свернёт в нужную сторону, или он идиот, и продолжит путь по граблям - это не наша забота. Получит по лбу - вызовем скорую, не жалко. Просто я не понимаю, чего ты завелся... Большинство интернета ориентировано на обычных пользователей уровня "Пуск -> Запустить Обозреватель"... И если мы знаем, что давать прямые ссылки априори небезопасно (не потому что почту могут взломать), то почему бы не делать этого? По сути генерация хеша для ссылки и генерация рандомного пароля для этого пользователя - практически одно и то же... Так почему бы просто не сделать конечному пользователю лучше, не потому что в противном случае ты будешь отвечать, а просто потому, что так будет лучше? |
Сообщ.
#35
,
|
|
|
Цитата fatalist @ То есть, если у меня жена хочет что-то купить в Юлмарте, она должна позвонить в ИТ-контору, чтобы ей для этой операции выделили спеца со своим компом? Просто купить? а там тебе ничего не надо, только зарегистрироваться. И пароль можешь не запоминать. Опасность - отсутствует. А вот если требуется провести платёж с карты через Инет - то при отсутствии уверенности, что всё сделаешь правильно и не прогадишь номер и код карты, не грех обратиться к специалисту. Цитата fatalist @ в данном случае ты предлагаеim таки оправить ссылку человеку, а к ней инструкцию по компьютерной безопаности, пусть вчитывается? Именно. Пусть вчитывается и осознаёт. Не читал? читал, но не понял? его проблемы. Цитата fatalist @ если мы знаем, что давать прямые ссылки априори небезопасно (не потому что почту могут взломать), то почему бы не делать этого? По сути генерация хеша для ссылки и генерация рандомного пароля для этого пользователя - практически одно и то же... Так почему бы просто не сделать конечному пользователю лучше, не потому что в противном случае ты будешь отвечать, а просто потому, что так будет лучше? Да ради бога... ну сгенерил ты ему одноразовую ссылку. Он её прогадил, документ попал к плохишу. Кто виноват - ты или он? Цитата fatalist @ Большинство интернета ориентировано на обычных пользователей уровня "Пуск -> Запустить Обозреватель"... До тех пор, пока дело не доходит до серьёзных вещей. На этом уровне - да, нет смыслу выёживаться. Но исходно предметная область топика немного не такая. |
Сообщ.
#36
,
|
|
|
Цитата Akina @ А где его взять-то?А вот если требуется провести платёж с карты через Инет - то при отсутствии уверенности, что всё сделаешь правильно и не прогадишь номер и код карты, не грех обратиться к специалисту. Цитата Akina @ Дык суть то не в том, кто виноват, а в том, чтобы было удобно и максимально безопасно... а чем больше учитывается возможная глупость пользователя, тем удобнее для него, вот и все Да ради бога... ну сгенерил ты ему одноразовую ссылку. Он её прогадил, документ попал к плохишу. Кто виноват - ты или он? Цитата Akina @ Ну может я чего-то недопонял... мне показалось, что речь идет о вообще любом юзере... До тех пор, пока дело не доходит до серьёзных вещей. На этом уровне - да, нет смыслу выёживаться. Но исходно предметная область топика немного не такая. |
Сообщ.
#37
,
|
|
|
Цитата fatalist @ Ну может я чего-то недопонял... мне показалось, что речь идет о вообще любом юзере... Мене тоже... Чтобы получить пару справок в формате пдф продвинутым юзером быть не надо, не? |
Сообщ.
#38
,
|
|
|
Цитата fatalist @ Ну может я чего-то недопонял... мне показалось, что речь идет о вообще любом юзере... Наверно он имел ввиду "вещей посерьезнее" это типа покупки в интернете. Само собой, любым человеком. Я размышляю так. В случае b. эл. письмо приходит заведомо на эл. почту клиента. Это сродни указании учетной записи в форме входа в систему. Пароль - это уникальный ключ. Хотя всё же псевдо-уникальный, так как существует ненулевая вероятность коллизий. Таким образом, получаем связку имя-пароль. Только пароль сгенерирован автоматически. Добавлено Варианты: |
Сообщ.
#39
,
|
|
|
Цитата Romtek @ Наверно он имел ввиду "вещей посерьезнее" это типа покупки в интернете. Само собой, любым человеком. Нет. Термином "более серьёзные вещи" я характеризовал вовсе не человека, а передаваемый человеку объект. |