[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Безопасность админки
igor717
Всем добрый вечер.

Вот встала такая задача: после неправильного ввода пользователем пароля 3 раза - блокировка по IP на сутки.

Я уже в принцепе закончил, сделал следующим образом: в файл записываю массив с IP пользователя и временем окончания блокировки, потом этот массив считываю и проверяю есть ли пользователь в "черном списке". По окончанию времени блокировки - из этого массива удаляю.

С подобной задачей до этого не сталкивался и поэтому прошу совета у профи: на сколько это рационально и верно, и как Вы решаете подобную задачу.

Спасибо



Спустя 26 минут, 21 секунда (17.07.2010 - 00:17) Ice написал(а):
А у меня динамический айпи. Мне такая блокировка по барабану.

Спустя 8 минут, 9 секунд (17.07.2010 - 00:25) igor717 написал(а):
Но не у всех же ip динамический... Да и после 3-х неправильных попыток ввода, Вам браузер придется перезапустить. Это тоже мне кажется тормозит здорово злоумышленника. Вообще я просто не успел еще доделать: хочу после 3-х капчу подсовывать, а уже после 6-ти - бан.

Хотя конечно интересно как с динамическими ip еще бороться?

Спустя 2 минуты, 13 секунд (17.07.2010 - 00:27) Ice написал(а):
Сейчас контингента с динамическими айпи становится все больше

Спустя 3 минуты, 51 секунда (17.07.2010 - 00:31) igor717 написал(а):
Кстати, Ice, динамический ip меняется при подключении к интернету? И вроде последняя цифра...

Спустя 28 секунд (17.07.2010 - 00:32) KaFe написал(а):
Как то подозрительно, только что в смсках писали о данной теме, и вот создают ее dry.gif , это не спроста не спроста smile.gif
Цитата (igor717 @ 16.07.2010 - 21:25)
хочу после 3-х капчу подсовыват

Я уже такое решение применил wink.gif вроде бы всего 4 строчки кода, а действует

Спустя 45 секунд (17.07.2010 - 00:32) KaFe написал(а):
igor717 в зависимости от диапазона ip адресов провайдера

Спустя 1 минута, 1 секунда (17.07.2010 - 00:33) Ice написал(а):
какие цифры меняются зависит от класса сети: А, В или С. В моем айпи меняются последние два триплета (95.31.ххх.ххх), а следовательно моя сеть класса В.

Спустя 1 минута, 15 секунд (17.07.2010 - 00:35) igor717 написал(а):
Так, а бан по ip выходит что бессмысленный? Я уже теперь даже не уверен, он хоть на вредить не сможет, с этими динамическими ip? smile.gif

Спустя 4 минуты, 40 секунд (17.07.2010 - 00:39) Ice написал(а):
Если правильно разработать условие бана и включить в него дополнительные параметры, кроме айпишника, то можно забанить скажем не по всему айпи, а по его части, например первым двум триплетам.
Но в этом случае нужно ответственно подойти к задаче, иначе из-за ошибки могут быть забанены совершенно невинные люди, находящиеся в той же сети с нарушителем.

Спустя 6 минут, 59 секунд (17.07.2010 - 00:46) igor717 написал(а):
Не мне кажется по части ip дело совсем рискованное - могут и побить smile.gif .
Вообще, если забанить, то даже с динамическим ip человеку придется 1. Переподключиться к нету 2. Перезапустить браузер. Что уже как бы напряжно и время... К этому прибавить закодированный логин/пароль и капчу после трех неудачных попыток....

А Вы случайно не в курсе эти динамические ip у разных пользователе могут пересекаться (быть одинаковыми)?

Спустя 52 секунды (17.07.2010 - 00:47) Ice написал(а):
браузер не обязательно. Просто перезайти на страницу.

Конечно могут. Это уже тема маршрутизации.

Если к примеру есть один маршрутизатор и к нему подключена внутреняя LAN, то все пользователи LAN будут выходить в интернет с одного IP-адреса, но иметь при этом разные порты для установления соединения. Не будем забывать, что при соединении узлов между собой ВСЕГДА фигурирует порт. Что касается большинства интернета, то порты часто не указываются, потому что все сервера открыты через 80 умолчальный порт, но с таким же успехом можно было бы написать, например, http://site.ru:80

Спустя 4 минуты, 19 секунд (17.07.2010 - 00:51) igor717 написал(а):
ну да не обязательно...

Спустя 6 минут, 6 секунд (17.07.2010 - 00:57) igor717 написал(а):
Вот кто-то писал...

Цитата
Последние 3 знака IP, имеют 255 вариаций, если через один модем в сеть выходят несколько компьютеров то IP в настройках должен быть динамичным, тогда если 001 занят то следующий компьютер бкдет 002 и так далее, нет ни какого алгоритма


Следовательно, злоумышленник попытался проникнуть - я его забанил. А затем добросовестный пользователь получил его ip и страдает из-за него.

Или я что-то не так понимаю?



Спустя 30 секунд (17.07.2010 - 00:58) Ice написал(а):
Было и такое smile.gif

Спустя 1 минута, 30 секунд (17.07.2010 - 00:59) igor717 написал(а):
Во блин rolleyes.gif . Ладно, спасибо, есть над чем подумать...

Спустя 21 минута, 40 секунд (17.07.2010 - 01:21) Reflex написал(а):
Поставь хороший пароль и забей на бан по IP.

PS: правда вспоминая какую то пословицу: когда строишь ворота, которые невозможно разрушить, то всегда забываешь про то, что легко разрушить стены. Ну и наоборот.

Спустя 10 минут, 49 секунд (17.07.2010 - 01:32) igor717 написал(а):
Reflex, да дело в ненадежности ворот, в смысле пароля, просто любой пароль можно подобрать, а если прерывать работу злоумышленника каким-небудь образом - то подобрать будет во много раз сложнее. Безопасность лишней не бывает. Как говориться, береженого Бог бережет.

Да и у моего друга раз заказчик был, так он сказал: после разработки сайта вообще админку нафиг снести smile.gif - не буду я там ничего править, вдруг кто залезет. Так вот я и подумал, сделать по надежнее...


Спустя 2 минуты, 47 секунд (17.07.2010 - 01:35) Ice написал(а):
Цитата (igor717 @ 17.07.2010 - 02:32)
просто любой пароль можно подобрать

Это верно, но сколько времени может занять подбор грамотного админского пароля и какие ресурсы для этого нужно привлечь. Даже без бана.

Спустя 4 минуты, 52 секунды (17.07.2010 - 01:40) igor717 написал(а):
Да, Вы наверное правы от бана стоит отказаться, достаточно той же капчи...

Спустя 3 минуты, 11 секунд (17.07.2010 - 01:43) Ice написал(а):
Достаточно даже просто делать паузу в несколько сот миллисекунд между каждой попыткой авторизации. Пользователь не заметит такой разницы, а вот автомат брутфорсера сразу накроется.

Спустя 7 минут, 31 секунда (17.07.2010 - 01:50) igor717 написал(а):
Хм, как вариант кстати, спасибо, стоит попробовать

Спустя 6 минут, 1 секунда (17.07.2010 - 01:56) igor717 написал(а):
Даже, не знаю, разве задержка поможет от автомата? Мне кажется просто страница сгенерируется на n миллисекунд позже...

Спустя 5 часов, 4 минуты, 34 секунды (17.07.2010 - 07:01) Kuzya написал(а):
Бан по IP сейчас действительно фактически бесполезен. Если кто задастся целью, он найдёт программу переборщик и купит за 15$ большой список прокси-серверов. Тут хоть заблокируйтесь smile.gif
Если я всё правильно понял, то вы хотите оградить админку от перебора паролей. Для этого есть простой железный способ - при неправильной авторизации вызывать sleep(5). И пусть хоть заперебираются smile.gif Веков через цать может подберут smile.gif

Спустя 3 часа, 8 минут, 30 секунд (17.07.2010 - 10:09) igor717 написал(а):
Kuzya, да Вы правильно поняли, я просто в предыдущем посте как раз и спрашивал, поможет ли sleep(). А да кстати, задержку нужно вызывать перед началом скрипта (в случаи ошибки) или в том месте месте (else), где указали не верный пароль?

Спустя 9 минут (17.07.2010 - 10:18) KaFe написал(а):
Kuzya задержка? У меня вот тоже возник вопрос, а если у меня информация сначала обрабатывается в модуле, а потом отправляется в шаблонизатор, то каждый вызов sleep(5) будет для пользователя очень не хорошей вешью то есть место страницы с сообщением он будет получать пустую страницу на 5 секунд mellow.gif

Спустя 1 минута, 45 секунд (17.07.2010 - 10:20) igor717 написал(а):
Извините, а скажите, если не сложно, как это помогает, ведь sleep() просто тормознет выполнение скрипта и страница сгенерируется просто позже. Что это даст?

Да одновременно написали, я о том же...

Спустя 1 час, 50 минут, 42 секунды (17.07.2010 - 12:11) Kuzya написал(а):
Смотрите. sleep() нужно вызывать только тогда, когда вы точно знаете что введёный пароль не является верным. Современные программы для подбора пароля могут перебирать огромное количество оных в секунду на 1 поток (если речь идёт о многопоточном переборе). В идеале, они перебирают гигантские словари в десятки тысяч записей за час.
А этим sleep`ом вы урезаете всю их эффективность до 1 пароля в 5 секунд на поток. Такая задержка делает подбор пароля очень не выгодным. Никто не захочет ждать несколько месяцев или пару лет чтоб узнать ваш пароль.
А на легальных пользователей это не окажет почти никакого влияния. Во-первых, при верно введёном пароле никакой задержки не будет, а во-вторых, даже если пользователь пару раз введёт свой пароль ошибочно, лишние 10 секунд ожидания ему жизнь не испортят.

Спустя 1 час, 35 минут, 53 секунды (17.07.2010 - 13:47) igor717 написал(а):
Kuzya, спасибо

Спустя 12 дней, 5 часов, 2 минуты, 16 секунд (29.07.2010 - 18:49) Makcym написал(а):
Для админки нормально. Еще можно поставить фильтр по диапазону ИП. Скажем только ваш город.

У меня работает примерно так
-ИП с предупреждением 5 - блокируем
-Проверка на диапазоны ип если нет Black=5 и блокируем
-Проверка логин пароль - если нет Black++ sleep(10);
-Очистка ип из базы при успешной авторизации

Работает уже 5 лет на разных проектах и нормально smile.gif

Спустя 14 дней, 22 часа, 35 минут, 46 секунд (14.08.2010 - 17:25) phpdreamer написал(а):
если блокировать - только на сутки.


если проект личный, не помешает фейковая админка - ее пусть и брутят.

Спустя 5 дней, 22 часа, 19 минут, 2 секунды (20.08.2010 - 15:44) Белый Тигр написал(а):
Фейковая админка это да, полезная вещь smile.gif Можно отслеживать всю пользовательскую активность, связанную с ней - будет интересно.
Вообще админ-часть желательно располагать на отдельном поддомене и жёстко контролировать к ней доступ (ограничения по IP)

Спустя 8 минут, 37 секунд (20.08.2010 - 15:52) Dingo написал(а):
Белый Тигр
Цитата (Белый Тигр @ 20.08.2010 - 12:44)
Вообще админ-часть желательно располагать на отдельном поддомене и жёстко контролировать к ней доступ (ограничения по IP

вахахахах))) А еще лучше нормально разрабатывать веб-приложения.

Я делаю так, есть капча, логин пароль, не правильно введен пароль или логин, код капчи, прибавляем слип на 1 секунду, а если сессии отключены вообще админка не работает laugh.gif Так и пишет что доступ закрыт wink.gif Конечно PHPSID можно сбросить, но для дополнительной защиты есть капча.

Спустя 21 минута, 57 секунд (20.08.2010 - 16:14) Белый Тигр написал(а):
вахахахах))) А еще лучше нормально разрабатывать веб-приложения.

Расположение админки отдельно - обязательная рекомендация связанная с безопасностью во многих серьёзных стандартах. Например OWASP ASVS. И на "нормальность" веб-приложения это никак не влияет.

Спустя 11 минут, 14 секунд (20.08.2010 - 16:26) Dingo написал(а):
Цитата (Белый Тигр @ 20.08.2010 - 13:14)
OWASP ASVS.

Что за стандарт, дай линк.

Спустя 5 минут, 30 секунд (20.08.2010 - 16:31) Белый Тигр написал(а):
blink.gif Вы ещё поди не знаете что такое OWASP вообще?
Если да то очень рекомендую ознакомится т.к. каждый веб-разработчик должен знать эту организацию и её основные (хотя бы) труды.
http://www.owasp.org/
http://www.owasp.org/index.php/Category:OW...tandard_Project
http://www.lulu.com/product/file-download/...tandard/5168391 (скомпонованый pdf с ASVS)

Спустя 44 минуты, 51 секунда (20.08.2010 - 17:16) Dingo написал(а):
Цитата (Белый Тигр @ 20.08.2010 - 13:31)
Вы ещё поди не знаете что такое OWASP вообще?

Конечно не знаю. Какой то забугорный малоизвестный сайт. Да и кто они такие вообще? Чтобы писать стандарты??? У них есть официальные полномочия???

Спустя 15 часов, 36 минут, 56 секунд (21.08.2010 - 08:53) Белый Тигр написал(а):
Цитата
Конечно не знаю. Какой то забугорный малоизвестный сайт. Да и кто они такие вообще? Чтобы писать стандарты??? У них есть официальные полномочия???

Вот вы прежде чем такие вещи писать воспользовались бы поисковиком и проверили бы достоверность своих суждений. Если вы не знаете какой-то ресурс, это не значит что он не известный. Это значит что вы о нём не знаете. А то вы наверное с таким рвением с CERT запишите в категорию малоизвестных и "кто они вообще такие" huh.gif
OWASP - организация мирового масштаба, в ней задействовано огромное количество людей со всего света. И все они уже несколько лет под ряд занимаются разработками в области веб-безопасности. Пишут соответствующий софт, статьи, книги, устраивают огромные конференции. И каждый веб-разработчик обязан быть знаком с их трудами хотябы поверхностно.

Спустя 2 часа, 37 минут, 21 секунда (21.08.2010 - 11:30) Dingo написал(а):
Белый Тигр а полномочия по составлению стандартов у них есть? Если нет то плевал я жирным харчком в ихнюю сторону.

Спустя 1 минута, 7 секунд (21.08.2010 - 11:31) Белый Тигр написал(а):
Вы просто непробиваем sad.gif

Спустя 19 минут, 51 секунда (21.08.2010 - 11:51) Dingo написал(а):
Белый Тигр а то, я бы верил вот этим людям http://www.zend.com/store/education/certif...VUE_Search_Form laugh.gif что они скажут, потому что тест на знания всего там зверский.... жжуть ...

Спустя 10 дней, 19 часов, 9 минут (2.09.2010 - 07:00) Xpund написал(а):
У меня динамичесикй ИП. И меняються последние 2 разряда. Я знаю один топ, в ктором раз в сутки голосуешь с одного ИП. Я там как то за 1 день раз 200 проголосовал, и не разу не совпал пароль.

Спустя 5 часов, 40 минут, 10 секунд (2.09.2010 - 12:40) Белый Тигр написал(а):
Какой пароль? blink.gif

Спустя 20 дней, 32 минуты, 57 секунд (22.09.2010 - 13:13) ASerputko написал(а):
igor717 почему бы не банить сам логин/пароль на сутки так ведь наверняка wink.gif ?

Спустя 1 час, 38 минут, 12 секунд (22.09.2010 - 14:52) Белый Тигр написал(а):
Кто-нибудь из злых побуждений может вызвать массовый бан

Спустя 2 часа, 57 минут, 16 секунд (22.09.2010 - 17:49) DmitryOpalev написал(а):
А если у меня есть комп, за которым сижу только я, поставить проверку IP? Т.е. надо вводить и пароль и логин, н если IP не совпадает с моим, то...
то чтонибудь надо придумать biggrin.gif
Можно так сделать, или это не разумно?
P.S. Вполне логично, что заходить в админку я смогу только со своего компа - это не минус smile.gif

Спустя 18 часов, 25 минут, 52 секунды (23.09.2010 - 12:15) Белый Тигр написал(а):
Это называется привязкой аккаунта к IP.
Хорошее решение.

Спустя 4 часа, 57 минут, 35 секунд (23.09.2010 - 17:12) DmitryOpalev написал(а):
Т.е. это уже до меня изобрели????
Жаль biggrin.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.