
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
Проблема в том что это все в любом случае головная боль разработчиков, а еще нужен девопс для этого

LighteR
12.12.2018
14:06:40

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

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

LighteR
12.12.2018
14:10:34

Denis
12.12.2018
14:10:48

Vlad
12.12.2018
14:11:17
Лаги
Пингует

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

Olga
12.12.2018
14:14:46

LighteR
12.12.2018
14:15:55

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
ух
любых

Andrew
12.12.2018
14:18:26

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

Google

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

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

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

Andrew
12.12.2018
14:23:53

LighteR
12.12.2018
14:23:58

Tishka17
12.12.2018
14:24:16

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

LighteR
12.12.2018
14:28:03

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

Google

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

LighteR
12.12.2018
14:31:18

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

Andrew
12.12.2018
14:31:43

Denis
12.12.2018
14:32:24

Andrew
12.12.2018
14:33:14

Denis
12.12.2018
14:33:55

Andrew
12.12.2018
14:34:16

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

Andrew
12.12.2018
14:38:36

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:25

LighteR
12.12.2018
14:44:27

Владимир
12.12.2018
14:44:28

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
Не хотелось конечно очень

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
какую-нибудь админку или что-то типа того

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