@ru_python

Страница 7384 из 9768
Denis
12.12.2018
14:05:15
А между машинами разными даже в одном дц уже проблема будет

А если (а чаще всего так и есть) машины в разных дц стоят

Aragaer
12.12.2018
14:05:48
на серьезном rps у тебя оно уже скейлится и лоадбалансится

Denis
12.12.2018
14:05:58
А когда у тебя сервисов 10 в одной вязанке + серьезный rps

Google
Aragaer
12.12.2018
14:06:02
вопрос в латенси

Denis
12.12.2018
14:06:06
То на задержках ты точно можешь поседеть

LighteR
12.12.2018
14:06:13
А между машинами разными даже в одном дц уже проблема будет
Ну это проблема только если говорить о том, что субмилисекундные задержки это уже критично для проекта

Denis
12.12.2018
14:06:36
Проблема в том что это все в любом случае головная боль разработчиков, а еще нужен девопс для этого

Denis
12.12.2018
14:06:48
А многие команды же это ты да я да мы с тобой

Деньги на девопсов не у всех есть

Aragaer
12.12.2018
14:07:37
нашлись деньги на микросервисных евангелистов, найдутся и на девопсов

LighteR
12.12.2018
14:07:40
если нет денег на девопсов, то я не понимаю о чем речь

Denis
12.12.2018
14:07:50
Короче я лично согласен с Фаулером - если у тебя есть команда экспертов в микросервисах, и ты на 100 процентов осознаешь что делать, можешь делать микросервисы. Если нет, начни с монолита

“Микросервисные евангелисты” это обычно 1 разработчик :)))

По крайней в тех примерах, что я видел

Aragaer
12.12.2018
14:08:18
вот пусть и будет девопсом в нерабочее время 8)

Google
Denis
12.12.2018
14:08:48
LighteR
12.12.2018
14:09:38
“Микросервисные евангелисты” это обычно 1 разработчик :)))
разработчик 10 микросервисов напилил, а мониторинг, трейсинг, метрики, логи не напилил и страдает

Denis
12.12.2018
14:10:02
разработчик 10 микросервисов напилил, а мониторинг, трейсинг, метрики, логи не напилил и страдает
Чаще всего так и есть. И настраивать лень. И фичи надо пилить, сроки вчера как всегда

Разберись с отверткой, сислогом и какой-то матерью где запрос умер, у тебя 30 минут, время пошло )))

LighteR
12.12.2018
14:10:34
Vlad
12.12.2018
14:11:17
Лаги

Пингует

Denis
12.12.2018
14:13:07
Если на тему микросервисов пошел разговор, а кто-нибудь делал сервис ресайзинга изображений аля thumbor? Как вы решаете проблему url tampering атаки? Подписывать запросы не вариант, представим себе, что урлы на клиенте генерят

Olga
12.12.2018
14:14:46


Denis
12.12.2018
14:16:57
Можешь поподробнее расказать в чем суть атаки?
У тебя сервис ресайзинга с такими урлами http://some.server.com/unsafe/300x300/smart/path/to/image.jpg А тебя закидывают вот такими: http://some.server.com/unsafe/300x301/smart/path/to/image.jpg http://some.server.com/unsafe/300x302/smart/path/to/image.jpg http://some.server.com/unsafe/300x303/smart/path/to/image.jpg ... http://some.server.com/unsafe/300x9999/smart/path/to/image.jpg ... http://some.server.com/unsafe/9999x9999/smart/path/to/image.jpg

LighteR
12.12.2018
14:17:23
А эти урлы валидные с точки зрения системы?

Denis
12.12.2018
14:17:29
https://thumbor.readthedocs.io/en/latest/security.html?highlight=security тумбор предлагает подписывать урл

Угу

Мы в теории хотели бы ресайзить любых размеров картинки на наших доменах например. Клиент об этом знает, а серверу пофигу

Tishka17
12.12.2018
14:18:14
ух

любых

Denis
12.12.2018
14:18:26
То есть они там у себя впихнули новый блок 341х237 пикселей блок и вписали ресайз

Google
Denis
12.12.2018
14:19:43
Девопсы у меня лично на работе бугуртят, что такой вариант будет дырявый. Ну ок, подпишем запросы, но security key на клиенте сопрут. Значит надо подписывать урлы на бекенде. Значит бекенд должен хранить список разрешенных размеров… и вот уж получается не так как хочется. А хочется усесться на оба стула, скинув с них опасные предметы

Как насчет shadow ban серийным спаммерам
Хм, а как это происходит?

Tishka17
12.12.2018
14:21:18
Я бы предложил вызывать ресайз только из серверной инфраструктуры, пусть CI клиента дергает с нужными им размерами

Andrew
12.12.2018
14:21:39
Хм, а как это происходит?
Ну в твоём случае можно реализовать правило вроде перебора по счетчику в ограниченный интервал времени - При детекте возвращать валидный ответ, но без реальных данных

Denis
12.12.2018
14:21:46
Я пока кроме того, чтобы ограничить список размеров в итоге, ничего хорошего не придумал. То есть либо форкнуть тумбор, либо поставить прокси в промежуток между клиентом и ресайзером и там ограничить размеры

Мне идея нравится с shadow ban

Andrew
12.12.2018
14:22:25
А с nginx так можно?
Скорее всего нет

Denis
12.12.2018
14:22:33
Скорее всего нет
В смысле самому руками это сделать? Типа какой-нибудь разборщик логов в асинхрнном задании и список банов

Tishka17
12.12.2018
14:24:16
Ну из серверной это самый безопасный, но при этом и не гибкий вариант
Ну если и разработчики клиента не знают какие им надо размеры, но хз даже как защищаться.

Denis
12.12.2018
14:24:19
Т.е. хочется отдавать картинки любых размеров, но при этом если пользователи начинают запрашивать другие размеры - это для вас боль?
Ну да, тут логический дефект. В смысле любые, но если перебор всех подряд, то это уже плохо. Ну скажем 1х1, 2х2, 3х3

Лесенкой будет генерить все варианты от 1 х 1 до max x max. Будет у тебя ресайзов по миллиону одной картинки. И сервису наступит кирдык

LighteR
12.12.2018
14:28:03
Ну да, тут логический дефект. В смысле любые, но если перебор всех подряд, то это уже плохо. Ну скажем 1х1, 2х2, 3х3
ну тогда как выше предложили выявлять по логам и банить. Но whitelist размеров, если это приемлемо, выглядит более надежным вариантом

Denis
12.12.2018
14:28:19
Ну если и разработчики клиента не знают какие им надо размеры, но хз даже как защищаться.
На самом деле тут есть пометка, что они хотят быть отвязаны в выборе картинок от бекенда и ограничений. То есть иметь гибкость. В теории конечно вписать ограниченный набор из 100-200 вариантов, например, это тоже вариант. Но тогда клиенты будут вынуждены ходить к админам с запросами на добавление новых размеров

С shadow ban идея крутая, но тут уже надо придумывать анализатор + как-то откидывать зловредных клиентов, под нагрузкой это все может столкнуться с проблемами и достаточно серьезными

Google
Denis
12.12.2018
14:30:47
Нужно ставить толи перед, толи позади nginx свой миддловаро-прокси, который будет отдавать двухсотки без тела, сверяясь с базой забаненных. Потому что nginx так мне кажется не осилит

Denis
12.12.2018
14:31:28
Да и еще NAT тоже… можно в бан кинуть безвинных людей. Впрочем это уже вообще широкая проблема

Andrew
12.12.2018
14:31:43
С shadow ban идея крутая, но тут уже надо придумывать анализатор + как-то откидывать зловредных клиентов, под нагрузкой это все может столкнуться с проблемами и достаточно серьезными
В общем то хендлер должен откидывать получателя и параметры его запроса, которые накапливаются и анализируются (с небольшой глубиной)

Denis
12.12.2018
14:32:24
Andrew
12.12.2018
14:33:14
Denis
12.12.2018
14:33:55
а ресайз луа в нжинксе делает? Сорри, я просмотрел
Ресайз делает thumbor - это отдельностоящий хороший сервис с кучей функций, на торнадо написан

Andrew
12.12.2018
14:34:16
Denis
12.12.2018
14:35:06
Ну тогда после nginx перед thumbor. Либо действительно по логам nginx
Тогда остается только это сделать производительно ?

Ну вообще если парсить запросы, класть их в буфер, и анализировать последние N на предмет условий 1) от одного клиента 2) сильно похожие размеры, а потом их отбивать двухсоткой без тела, в принципе это должно быть очень быстро. А оставшихся проксировать на тумбор

Ну в общем явно есть о чем подумать. Спасибо за идею

Denis
12.12.2018
14:43:36
В общем тут возникло обсуждение. Короче можно взять прокси, торы и фигачить запросы в разнобой на разные картинки, из разных стран и с разными юзерагентами. И мы точно не сможем отследить последовательность 1х1, 1х2, 2х1, 3х10, 3х11, 3х12 и тп, хотя от прямого перебора с одного клиента это поможет

Andrew
12.12.2018
14:44:34
Тут нет серебрянной пули. Можно написать скрипты для мутации хидеров, урлов, интервалов и пейлоада

Denis
12.12.2018
14:44:56
Можно взять и так. Но рано или поздно список клиентов выявится.
Я имею ввиду, что это атакующий сделает и испортит нам всю малину ?

LighteR
12.12.2018
14:45:10
Но на моей практике большая часть ботов выявляется тем, что они просто не загружают js/css

Google
Denis
12.12.2018
14:45:17
whitelist самый дешевый способ.
Да, похоже, что изголяйся, не изголяйся, а без вайтлиста никак

Не хотелось конечно очень

LighteR
12.12.2018
14:47:33
Да, похоже, что изголяйся, не изголяйся, а без вайтлиста никак
А варианта не генерировать ссылки на клиенте нет?

Denis
12.12.2018
14:48:31
А варианта не генерировать ссылки на клиенте нет?
Есть, но хочется не раздувать пейлоады + не хранить инфу о размерах на бекенде (это инфа клиентов и клиенты разные, не только веб)

Sab
12.12.2018
14:49:17
Ищу человека, который сможет выполнить задания в Jupiter notebook на Pyton. Оплачиваемо, конечно. Кому интересно - прошу писать мне в этот аккаунт.

LighteR
12.12.2018
14:52:13
Есть, но хочется не раздувать пейлоады + не хранить инфу о размерах на бекенде (это инфа клиентов и клиенты разные, не только веб)
Ну кажется сильно проще и надежнее будет сделать какой-то простой для разработчиков способ добавления размера в whitelist

какую-нибудь админку или что-то типа того

Denis
12.12.2018
14:53:40
Да, я думал про это. Пока один из жизнеспособных вариантов предложили делать в nginx тупо map/location и туда добавлять с помощью админов размеры

Страница 7384 из 9768