Крик души

User avatar
Ion Tichy
Уже с Приветом
Posts: 13460
Joined: 07 Dec 2004 04:00
Location: Москва->CO

Re: Крик души

Post by Ion Tichy »

ie wrote: 16 May 2021 14:52
iDesperado wrote: 16 May 2021 14:50
ie wrote: 16 May 2021 14:40 а как вы будете защищать api не передовая логин инфо?
научите... правда интересно.
речь про урл, а не передачу. обычный пост по защищенному https дает достаточно гарантий.
так как передовать то? куда складывют пароли нармальные пасаны респектфул девелоперы?
The HTTP Authorization request header... ? Я угадал?
Как же это вы без гравицаппы пепелац выкатываете из гаража? Это непорядок...
User avatar
Flash-04
Уже с Приветом
Posts: 63377
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

Re: Крик души

Post by Flash-04 »

По URL похоже API. Для них обычно ключи выдают, которые уже могут передаваться по разному. Например в полях HTTP запроса.
Not everyone believes what I believe but my beliefs do not require them to.
User avatar
Ion Tichy
Уже с Приветом
Posts: 13460
Joined: 07 Dec 2004 04:00
Location: Москва->CO

Re: Крик души

Post by Ion Tichy »

Flash-04 wrote: 16 May 2021 19:11 Хм, ну не делают так, даже с https.
Credentials передают в POST.
Почему? Очень просто: сейчас, любая уважающая себя организация держит логи. При таком подходе в них будут все пароли пользователей, а это недопустимо.
В моей практике был случай, когда в логах было даже содержимое POST запросов. После указания на этот факт, их перестали записывать.
Уточните пжста - логи чего? Что по проводам идет? SQL queries с параметрами и результатами? Что, скажем, JBoss на уровне TRACE пишет? Всего отовсюду?
Как же это вы без гравицаппы пепелац выкатываете из гаража? Это непорядок...
User avatar
Flash-04
Уже с Приветом
Posts: 63377
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

Re: Крик души

Post by Flash-04 »

Логи веб приложения, логи веб сервера. И таки да, всего.
Not everyone believes what I believe but my beliefs do not require them to.
User avatar
Dmitry67
Уже с Приветом
Posts: 28283
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Re: Крик души

Post by Dmitry67 »

Я вынес два урока
Впрочем, это было повторение пройденного
1. Услуги senior дешевле услуг junior
2. В ТЗ надо вставлять строку: Особенно важна переменная noSilent. Если исполнитель придет и спросит - WTF? то все хорошо. А если вопросов по ТЗ не возникло, то надо насторожиться
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
User avatar
Ion Tichy
Уже с Приветом
Posts: 13460
Joined: 07 Dec 2004 04:00
Location: Москва->CO

Re: Крик души

Post by Ion Tichy »

Flash-04 wrote: 16 May 2021 19:34 Логи веб приложения, логи веб сервера. И таки да, всего.
И там попался логин/пароль юзера? Афигеть... Сами писАли или купили?

Как у нас:
1. Юзерами заведует редхатовский keycloak
2. Javascript в браузере хочет гет или пост что-то с/на апи сервер
2a. Вызывает keycloak со своими кредами - "дай мне jwt токен". Если креды ОК - токен выдан, жизнь токена - фью минутс. Логин/пароль можно подсмотреть или непосредственно в баузере или в нигде. Даже при макс.детальном уровле логов keycloak-а пароль никогда keycloak-ом не логгится.
2б. Пост/гет/пут/вотэва на апи сервер передавая токен в аутхоризатион хедере запроса.
3. У сервера приложений (в нашем случае - спрингбоот или шилдфлы) установлен keycloak адаптер, так что на серверной стороне аутентичност-авторизация юзера совершенно не забота девелопера. Девелопер лишь может опционально указать, какие юзерские роли требются для вызова того или иного сервиса апи.

Все. Ни в каком логе креды юзера не появятся никогда.

Теперь Дмитрию: если Вы чиста бэкенд чел и Вам надо показать свою работу - postman Вам в руки.
Как же это вы без гравицаппы пепелац выкатываете из гаража? Это непорядок...
iDesperado
Уже с Приветом
Posts: 1422
Joined: 28 Nov 2008 17:50

Re: Крик души

Post by iDesperado »

Ion Tichy wrote: 16 May 2021 19:53 2a. Вызывает keycloak со своими кредами - "дай мне jwt токен".
это же тот же хттп пост.
User avatar
Ion Tichy
Уже с Приветом
Posts: 13460
Joined: 07 Dec 2004 04:00
Location: Москва->CO

Re: Крик души

Post by Ion Tichy »

iDesperado wrote: 16 May 2021 20:40
Ion Tichy wrote: 16 May 2021 19:53 2a. Вызывает keycloak со своими кредами - "дай мне jwt токен".
это же тот же хттп пост.
Креды передаются по хттпс в... Не помню в где - то ли в хедере, то ли в боди. Но 200% не в УРЛ. И хттпс достаточен для защиты от любопытных глазок.
Как же это вы без гравицаппы пепелац выкатываете из гаража? Это непорядок...
dama123
Уже с Приветом
Posts: 742
Joined: 08 Apr 2021 01:54

Re: Крик души

Post by dama123 »

Ion Tichy wrote: 16 May 2021 20:43
iDesperado wrote: 16 May 2021 20:40
Ion Tichy wrote: 16 May 2021 19:53 2a. Вызывает keycloak со своими кредами - "дай мне jwt токен".
это же тот же хттп пост.
Креды передаются по хттпс в... Не помню в где - то ли в хедере, то ли в боди. Но 200% не в УРЛ. И хттпс достаточен для защиты от любопытных глазок.
Разница между header/body и url только в том что url , как уже было замечено часто пишется в лог. Причем не обязательно вами , а, например, CDN, который часто используется как засшита от DDOS. Но в принципе ничего не мешает какому-нибудь CloudFlare писать в лог и body/header.

https шифрует все, включая url. Проблема только в том, что https обычно terminate в CDN, так что они все равно все видят.
mister-X
Уже с Приветом
Posts: 415
Joined: 31 May 2007 21:39
Location: Atlanta

Re: Крик души

Post by mister-X »

Зачем колесо придумывать, SAML, OAUTH 2, Open ID connect вам в помощь.
User avatar
Flash-04
Уже с Приветом
Posts: 63377
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

Re: Крик души

Post by Flash-04 »


Ion Tichy wrote:
Flash-04 wrote: 16 May 2021 19:34 Логи веб приложения, логи веб сервера. И таки да, всего.
И там попался логин/пароль юзера? Афигеть... Сами писАли или купили?
.
Вы разве спрашивали не про то, какие логи собираются? Вот на такой вопрос я и ответил :food:
Not everyone believes what I believe but my beliefs do not require them to.
Palych
Уже с Приветом
Posts: 13987
Joined: 16 Jan 2001 10:01

Re: Крик души

Post by Palych »

Dmitry67 wrote: 16 May 2021 19:42 Я вынес два урока
Впрочем, это было повторение пройденного
1. Услуги senior дешевле услуг junior
2. В ТЗ надо вставлять строку: Особенно важна переменная noSilent. Если исполнитель придет и спросит - WTF? то все хорошо. А если вопросов по ТЗ не возникло, то надо насторожиться
Осмелюсь предложить такую формулировку:
Если в команде нет Seniorов, которые на основании опыта скажут juniorам не только что делать, но и как - эту роль должен взять на себя заказчик.
Причем нужно указать не протоколы (https, oauth2, ...), а инструменты: Spring Security, etc.
Иначе роль seniors возьмёт на себя энтропия интернета: что выскочит в первых строках поисковика - то и будет copy/pasted.

Return to “Вопросы и новости IT”