Тернопіль - Форум Файного Міста
Назад   Тернопіль - Форум Файного Міста > Комп'ютерні обговорення: Hard, Soft, Nets, Design, CAD etc > Програмування

Програмування системне, прикладне, web, макро, процедурне ... на різних рівнях


Як Ви зберігаєте паролі в БД?

Відповідь
 
Параметри теми Пошук у темі Параметри перегляду
Старий 01.10.2016, 13:31 #2655980   #1
Mr_RAS
 
Аватар для Mr_RAS
Типово Як Ви зберігаєте паролі в БД?

Пишу на PHP + MySQL + Smarty + jQuery

Власне питання як Ви зберігаєте паролі в БД?

прочитав цю статтю
Как надо хешировать пароли и как не надо
https://habrahabr.ru/post/210760/

але мене зацікавив цей
Прихований текст: комент 
як захищатися від атак перебором?

п.с. чи є ще такі збоченці як я, що люблять писати самому, не використовуючи CMS?
Mr_RAS зараз поза форумом  
Офтопів до посту: 0  Офтоп  
Старий 01.10.2016, 14:41 #2655989   #2
selb
Активний учасник
Типово Відповідь: Як Ви зберігаєте паролі в БД?

Використовую приколи з хеш мд5+сіль. Плюс дописую сіль до отриманного результату
Щось таке: md5($parol.$sil)).$sil2
При цьому $sil2 - це взагалі рандомне значення, яке при перевірці обрізається.
Грубо, генеруємо 20 символів основного хешу і дописуємо до нього ще 5 "лівих" символів. Отриманий результат записуємо в БД.
При перевірці просто обрізаємо ті символи...
$БД-5 символів
Як варіант, $sil = логін.пароль.

Узагалі, основним має бути захист від перебору, а не шифрування.
Навряд чи хтось захоче підбирати пароль зі швидкістю 3 варіанта за добу
А при спробах зайти на сторінку входу в адмінку - автоматичний бан.

Востаннє редагував selb: 01.10.2016 о 14:46.
selb зараз поза форумом  
Подякував(ла):
Mr_RAS (01.10.2016)
Офтопів до посту: 0  Офтоп  
Старий 01.10.2016, 15:32 #2655996   #3
Mr_RAS
 
Аватар для Mr_RAS
Типово Відповідь: Як Ви зберігаєте паролі в БД?

вот-вот, а як захищатися від перебору?
Mr_RAS зараз поза форумом  
Офтопів до посту: 0  Офтоп  
Старий 01.10.2016, 16:32 #2655998   #4
selb
Активний учасник
Типово Відповідь: Як Ви зберігаєте паролі в БД?

Аналіз логів на сервері.
Зі звичайним хостингом складніше, але можна реалізувати по аналогії.
Спроба входу — запис в журнал — аналіз журнала — результат.
Самий примітивний приклад для підбору паролів.
У разі неправильного пароля робимо в журнал запис «time() - ip». Кожні 10 хв аналізуємо журнал на кількість однакових ip за добу. Бачимо, що хтось за добу три рази неправильно ввів пароль — запис в .htaccess «Deny from $ip». Пара змін ip і вася кладе на той підбір, бо недоцільно.
selb зараз поза форумом  
Офтопів до посту: 0  Офтоп  
Старий 03.10.2016, 11:29 #2656202   #5
Don Kihot
 
Аватар для Don Kihot
Типово Відповідь: Як Ви зберігаєте паролі в БД?

Цитата Самий примітивний приклад для підбору паролів.
У разі неправильного пароля робимо в журнал запис «time() - ip». Кожні 10 хв аналізуємо журнал на кількість однакових ip за добу. Бачимо, що хтось за добу три рази неправильно ввів пароль — запис в .htaccess «Deny from $ip». Пара змін ip і вася кладе на той підбір, бо недоцільно.
це найвдаліший приклад як НЕ має працювати система захисту від брута

По-перше, за 10 хв можна вже набрутити 100500 паролів, або навіть загнати в глибокий свап сервак зі всіма витікаючими.
По-друге .htaccess не місце для блеклісту, при нормальному девелопмент воркфлоу .htaccess має наново прилетіти з системи контролю версій при деплої (або згенеруватись в процесі деплоя). А ще на кожну спробу підбору пароля буде форкатись інстанс апача зі всіма модулями щоб казати 403 - зайва розтрата ресусів.

Якщо нема можливості реалізувати провірку на стороні аплікейшина - один з хороших варіантів натравити fail2ban на аналіз логів апача з фільтром URL сабміта пароля, таким чином трафіку від брутфорсера буде дропатись ще на рівні ядра і не попадати в юзерспейс (апач)
Don Kihot зараз поза форумом  
Офтопів до посту: 0  Офтоп  
Старий 03.10.2016, 11:56 #2656209   #6
Sir_Lyoshyk
 
Аватар для Sir_Lyoshyk
Типово Відповідь: Як Ви зберігаєте паролі в БД?

Захист від перебору мається на увазі через форму входу чи в зловмисника ваша БД в руках?
Sir_Lyoshyk зараз поза форумом  
Офтопів до посту: 0  Офтоп  
Старий 03.10.2016, 12:20 #2656213   #7
Mr_RAS
 
Аватар для Mr_RAS
Типово Відповідь: Як Ви зберігаєте паролі в БД?

через форму
Mr_RAS зараз поза форумом  
Офтопів до посту: 0  Офтоп  
Старий 03.10.2016, 13:11 #2656224   #8
Sir_Lyoshyk
 
Аватар для Sir_Lyoshyk
Типово Відповідь: Як Ви зберігаєте паролі в БД?

на стороні форми робимо підрахунок кількість навдалих спроб підряд і після 3-ї (по хорошому) блокуємо вхід для цього користувача та із цієї іп-адреси (бо ж справжній власник теж захоче увійти звідкісь) на 1, 3, 5 хв. і так далі по наростаючій... Знадобиться зовсім трохи коду щоби це реалізувати...
Ну і додати повідомлення в адмінці коли в користувача змінюється ІП-адреса входу.

Під час нарізання банів потрібно ще й думати про користувача аби не перестаратися, типу бан на сутки після 1-го неправильного... Йому якось треба ж зайти...
Sir_Lyoshyk зараз поза форумом  
Офтопів до посту: 0  Офтоп  
Старий 03.10.2016, 13:22 #2656226   #9
Mr_RAS
 
Аватар для Mr_RAS
Типово Відповідь: Як Ви зберігаєте паролі в БД?

а якщо так: 5 невдалих спроб і з'являється капча
потім якщо 5 невдалих спроб з капчею блокування логіну на 10 хв
Mr_RAS зараз поза форумом  
Офтопів до посту: 0  Офтоп  
Старий 03.10.2016, 16:36 #2656262   #10
selb
Активний учасник
Типово Відповідь: Як Ви зберігаєте паролі в БД?

Цитата:
Допис від Don Kihot Переглянути допис
це найвдаліший приклад як НЕ має працювати система захисту від брута
... один з хороших варіантів натравити fail2ban на аналіз логів апача з фільтром URL сабміта пароля, таким чином трафіку від брутфорсера буде дропатись ще на рівні ядра і не попадати в юзерспейс (апач)
Який fail2ban, які логі? Мова про звичайний хостинг.
А частота перевірки обмежується лише можливостями крона.
Цитата:
Допис від Sir_Lyoshyk Переглянути допис
на стороні форми робимо підрахунок ...
Взагалі-то на стороні форми не варто робити жодних серйозних перевірок — їх можна обійти.
Цитата:
Допис від Mr_RAS Переглянути допис
а якщо так: 5 невдалих спроб і з'являється капча
потім якщо 5 невдалих спроб з капчею блокування логіну на 10 хв
Це вже як фантазія спрацює.

Востаннє редагував selb: 03.10.2016 о 16:41.
selb зараз поза форумом  
Офтопів до посту: 0  Офтоп  
Старий 15.10.2016, 11:00 #2658276   #11
Sir_Lyoshyk
 
Аватар для Sir_Lyoshyk
Типово Відповідь: Як Ви зберігаєте паролі в БД?

Цитата Взагалі-то на стороні форми не варто робити жодних серйозних перевірок — їх можна обійти.
На стороні коду форми не html, а бекенду (хто форму генерує і опрацьовує відповідь)... Перевірки на стороні користувача то чиста косметика...
Sir_Lyoshyk зараз поза форумом  
Офтопів до посту: 0  Офтоп  
Відповідь



Ваші права у розділі
Ви не можете створювати теми
Ви не можете писати дописи
Ви не можете долучати файли
Ви не можете редагувати дописи

BB-код є Увімк.
Усмішки Увімк.
[IMG] код Увімк.
HTML код Вимк.

Швидкий перехід


vBulletin 3.8.7 ; Переклад: © Віталій Стопчанський, 2003-2024 Форум Файного Міста Тернопіль
VBSilver style released under GPL by TC Port of subSilver released by and copyright of phpBB
е-mail адміністратора серверу
Часовий пояс GMT +2. Поточний час: 18:27.