03.11 // Проект // Защита учетных записей пользователей сайта
Накануне произошел инцидент, связанный с безопасностью сайта. Просматривая сайт ночью, spinore'у по неизвестной причине была присвоена сеансовая идентификация администратора SATtva. Являясь добропорядочным участником проекта, он не нанес страницам каких-либо повреждений, а немедленно уведомил по телефону администратора, подняв его из постели.
К сожалению, недостаток фактических данных не позволяет однозначно установить источник проблемы, но, вероятно, случилось следующее. Завершив работу с сайтом, SATtva просто закрыл браузер, не произведя выход из системы; таким образом, сессия администратора и все сеансовые переменные остались на сервере. Когда spinore спустя некоторое время зашел на сайт, ему (что уникально) был присвоен тот же самый номер сессии, и система расценила его пользователем SATtva. Это лишь версия, не отвечающая на ряд вопросов.
Что бы ни являлось действительной причиной, незамедлительно были приняты меры, дабы не допустить аналогичной ситуации в будущем ни для одного пользователя сайта. Новые механизмы включают:
- регенерацию сессии как при выходе из системы, так и при входе (при этом, при логине номер сессии задается принудительно как хэш-значение от имени и пароля пользователя, времени завершения сессии и специального секретного показателя системы);
- возможность привязки сессии к IP-адресу пользователя; соответственно, при намеренном или случайном перехвате сессии с постороннего IP все данные сессии уничтожаются (эта функциональность по умолчанию выключена, чтобы не затруднять работу пользователей через сеть Tor, включить же ее можно в настройках).
Помимо этого, была усилена защита пользовательских cookie, хранящих информацию об авторизации на сайте. Так, пароль теперь размещается в cookie в неявном виде (пароль хэшируется с датой/временем завершения авторизации и секретным показателем системы), при этом обеспечивается его обратное восстановление на стороне системы. Таким образом, содержимое cookie не может применяться дольше, чем решит сам пользователь, авторизуясь на сайте (даже при захвате cookie, его данные не могут быть изменены для продления срока авторизации). Более того, разлогинившись, пользователь блокирует использование даже идентичных копий авторизующего cookie.
Источник: http://www.pgpru.com
комментариев: 53 документов: 3 редакций: 1
И ещё идея: можно при входе не просить пароль, а предлагать расшифровать строку, зашифрованную публичным ключом человека. Плюсы:
1) Нужно украсть не пароль к форуму, а закрытый ключ и пассфразу к нему, что сложнее. Да и пытаться защитить их пользователь будет сильнее, чем пароль к форуму.
2) При перехвате вопроса-ответа противник не сможет воспользоваться этими данными в следующий раз – каждый раз вопрос будет разным.
3) Можно установить задержку на смену ключа например 3 дня и возможность в любой момент отменить смену. Тогда злоумышленник, похитивший cookie не сможет лишить законного владельца доступа к ящику.
4) Возможность использовать один ключ для многих ресурсов, без понижения степени безопасности.
комментариев: 11558 документов: 1036 редакций: 4118
Проверьте настройки своего браузера, принимает ли он постоянные (а не только сеансовые, которые удаляются при закрытии) cookie от нашего сайта. Если стоит запрет на постоянные, сайт старается разместить нужные данные хотя бы в сеансовом, прежде чем сдаться.
комментариев: 53 документов: 3 редакций: 1
Сохранять cookies: до истечения срока их действия
Вроде бы не должен удалять.
комментариев: 11558 документов: 1036 редакций: 4118
комментариев: 53 документов: 3 редакций: 1
комментариев: 11558 документов: 1036 редакций: 4118
комментариев: 53 документов: 3 редакций: 1
Сайт перестает узнавать меня когда я закрываю последнюю вкладку, где открыт сайт. Самое интересное, что cookie и не удаляется, но сайт всё равно требует войти.
комментариев: 11558 документов: 1036 редакций: 4118
Проверяйте настройки браузера, переустановите его, ничего другого не предложу. Надеюсь, кстати, что Вы пользуетесь стабильной, а не бета- или альфа-версией.
комментариев: 11558 документов: 1036 редакций: 4118
http://www.vladmiller.info/blog/index.php?comment=61