Открыть главное меню

Изменения

Безопасность в Nemo.Travel

5311 байт добавлено, 02:47, 6 апреля 2017
Нет описания правки
В системе Немо налажены бронирования {{NameSystem}} используются общепринятые механизмы поддержания безопасности безопасного хранения, передачи и защиты пользовательских учетных записей. Система предусматривает несколько способов верификации пользователей и дополнительной защиты для безопасной аутентификации и надежной защиты пользовательских использования данных.
=== Верификация пользователя =Аутентификация и авторизация ==
Для подтверждения авторизации пользователю необходимо пройти процедуру верификации. Верификация осуществляется при помощи подтверждения email адреса или телефонного номера, указанных в профиле пользователя. Запрос на подтверждение можно отправить из раздела в панели администрирования '''Профиль пользователя''' или из личного кабинета, вкладки '''Мой профиль'''. Рядом с названием полей ''Адрес электронной почты'' и ''Телефон'' расположены ссылки «Подтвердить», при нажатии на которые вам будет отправлено сообщение содержащее одноразовый код, действующий в течении 15 минут, на указанный адрес электронной почты или на телефонный номер из поля «Телефон». Далее пользователю предлагается ввести полученный код. После успешного введения кода, около поля отобразится символ указывающий на то, что номер или почтовый адрес был успешно подтвержден. При смене почтового адреса или телефонного номера статус верификации обнуляется и потребуется провести процедуру еще раз.При первом входе в систему пользователю предлагается подтвердить свой электронный адрес или телефон (если у агентства заданы реквизиты для рассылки SMS-сообщений), а после выбрать тип защиты при входе в систему. Данный шаг можно пропустить 5 раз, далее вход в систему будет невозможен без подтверждения своих данных.=== Безопасное хранение паролей ===
=== Защита пароля===В системе реализована система защиты Пароль, который указывается при создании новых учетных записей через административную панель, является временным. При попытке первого входа в систему конечному пользователю будет предложено изменить пароль на отличный от перебора пароля. После 10 неудачных вводов паролей с одного IP адреса пользователь получит пятиминутную блокировку доступа. По истечению этого времени счётчик неудачных вводов сбрасываетсявведенного раннее.
=== Подтверждение IP адреса ===Для безопасной авторизации пользователя рекомендуется использовать подтверждение IP адресаВ базе данных пароли хранятся в виде [https://ru. Если при включенной проверке IP адреса пользователь попытается авторизоваться с неизвестного IP адреса, то пользователю будет предложено добавить текущий IP адрес в список разрешенных адресовwikipedia. Для тогоorg/wiki/%D0%A5%D0%B5%D1%88%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5 хешей], чтобы добавить текущий IP в список разрешенных, пользователю необходимо перейти полученных по специальной одноразовой ссылке, которую он получит на свой почтовый адресалгоритму SHA256 с добавлением случайной [https://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D0%BB%D1%8C_(%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%8F) "соли"]. Письмо с темой «Подтверждение IP адреса» отправляется автоматически в моментЭто является гарантией того, когда пользователь пытается авторизоваться с неизвестного адреса и соглашается на добавление текущего IP адреса в список разрешенных. После перехода по специальной ссылке текущий адрес пользователя что ваш пароль не будет добавлен в список разрешенных и последующие авторизации с этого адреса возможны без запроса подтверждениядоступен для чтения ни злоумышленникам, ни сотрудникам {{NameSystemLink}}.
== Настройка безопасности В случае, если вы забыли пароль, вы можете воспользоваться функцией изменения пароля. В рамках нее на адрес вашей персональной электронной почты, указанный в {{NameSystem}}===== Настройка авторизации разделе настроек '''Аккаунт менеджмент → Агенты и пользователи → Профили пользователей ===''', будет выслана ссылка для одноразовой попытки изменения пароля.
Режим защиты агентства/субагентства/определенного пользователя настраивается в разделе '''Профиль пользователя'''В нашей системе предусмотрена защита от подбора пароля перебором, доступном менеджеру агентствано для максимальной безопасности вашего аккаунта рекомендуется использовать длинный уникальный пароль, содержащий не менее 8 символов, среди которых должны быть использованы цифры, строчные и заглавные буквы латинского алфавита.
*'''Дополнительная защита при авторизации''':**''Не определено'' - режим дополнительной защиты соответствует выбранному пользователем при первой авторизации,**''Нет'' - не использовать дополнительную защиту,**''Да'' - использовать дополнительную защиту. При выборе опции ниже появляется параметр настройки режима дополнительной защиты:***''Подтверждение через браузер'' - использует cookie. После подтверждения с помощью одноразового кода отправленного на почтовый адрес или телефонный номер, данные об успешной авторизации будут сохранены в браузере пользователя в cookie файлах. Подтверждение через браузер необходимо периодически проходить повторно, время существования данных об успешном подтверждении через браузер может быть ограниченным и может задаваться менеджером в разделе '''Управление сайтом → Домены и протоколы''' в поле ''Время жизни cookie === Двухэтапная аутентификация для дополнительной авторизации'', значение задается в часах. Для неограниченного времени существования cookie файла необходимо задать 0. ***''Подтверждение через IP'' - после подтверждения пользователя при попытке входа на сайт, будет сохранен текущий IP адрес пользователя. При последующем входе на сайт не потребуется повторное подтверждение если у пользователя не сменится IP адрес. Возможно сохранение неограниченного количества IP адресов, что позволит заходить на сайт с различных устройств без подтверждения. Более безопасный способ. <br/>Пользователям, у которых происходит частая смена IP адреса, подойдет вариант с подтверждением через cookie файлы, но в таком случае следует быть уверенным, что на устройстве пользователя отсутствует вредоносное ПО.сотрудников агентств ===
В шаблонах отправляемых при подтверждении сообщений (e-mail или телефонного номера) в разделе '''Настройки системы → Нотификации → Шаблоны Аутентификация только по логину и паролю недостаточно безопасна, так как злоумышленник может получить ваш логин и пароль от вас напрямую, например, через [https://ru.wikipedia.org/wiki/%D0%A4%D0%B8%D1%88%D0%B8%D0%BD%D0%B3 фишинг]. При получении электронных писем''' менеджер может указать ссылку для подтверждения e-mail/телефона, перейдя по которой пользователь авторизуетсяпроверяйте адреса в ссылках, указанных в них. Не вводите ваш логин и пароль в формы на подозрительных сайтах, даже если они выглядят как сайты, привязанные {{NameSystem}}.
В разделе '''Аккаунт менеджмент → Профиль пользователя'''Для обеспечения дополнительной защиты в нашей системе была добавлена возможность проводить двухэтапную аутентификацию для ваших сотрудников:*'''Включить проверку IP адресов''' - включает дополнительную защиту через проверку IP адреса. <br /> В поле '''Разрешённые IP адреса''' можно добавить IP адреса, для которых не требуется подтверждение адреса при авторизации.
=== CSRF защита ===* Первый этап — ввод логина и пароля * Второй этап — подтверждение через код, отправленный в виде SMS сообщения на номер мобильного телефона или в письме по адресу электронной почты
Для включения двухэтапной аутентификации нужно: # Включить функциональность в разделе настроек '''Управление сайтом → Домены и протоколы''' пользователям с определенными правами# При последующем входе в систему этим пользователям будет предложено подтвердить адрес своей электронной почты или номер мобильного телефона через отправку одноразового кода.  Данный шаг можно пропустить 5 раз, далее вход в систему будет невозможен без подтверждения указанных выше данных.# В целях повышения надежности дальнейшем при входе с нового устройства (браузера) или IP-адреса необходимо будет пройти процедуру верификации, введя код, отправленный при этом на номер телефона или адрес электронной почты Самостоятельно поменять ранее подтвержденный адрес электронной почты или телефон, возможно только после входа в личный кабинет. При изменении этих данных необходимо будет верифицировать номер телефона или адрес электронной почты повторно. === Ограничения для аккаунтов сотрудников {{NameSystem}} === Административные аккаунты сотрудников {{NameSystem}} максимально защищены. Авторизоваться с помощью них можно только с определенных IP-адресов и с прохождением обязательной процедуры двухэтапной аутентификации по номеру личного телефона или корпоративной почты.У сотрудников {{NameSystem}} существуют ограничения на некоторые действия. К примеру, они не могут изменять правила ценообразования агентства. === Протокол HTTPS === Система {{NameSystem}} полноценно поддерживает работу веб-сайтов с использованием протокола HTTPS. Этот протокол обеспечивает безопасную передачу данных по открытым каналам связи, используя механизмы асимметричного шифрования. Для корректной работы по этому протоколу вы должны приобрести SSL-сертификат для домена вашего веб-сайта и передать его нашим системным администраторам. Строго рекомендуется вводить персональные данные покупателей для оформления заказов или логин и пароль для прохождения аутентификации только по ссылкам открытым по HTTPS протоколу. === Авторизация === Права пользователей определяются их ролью и дополнительными параметрами, установленными в административной части {{NameSystem}}. Для выполнения всех действий в системе, которые могут прямо или косвенно нанести вред или финансовый ущерб, требуется авторизация. == Защита персональных данных == Для получения доступа к своим персональным данным или данным ранее заполненных профилей пассажиров, пользователь должен авторизоваться в системе и перейти в личный кабинет.Для обеспечения безопасного хранения все персональные данные записываются в базу данных в зашифрованном виде.Сотрудники {{NameSystem}} не имеют доступа к профилям пассажиров, созданных через личный кабинет другими пользователями системы. Пользователь по собственному желанию может полностью удалить свой аккаунт из системы, после чего все его персональные данные и данные его профилей будет удалены из системы без возможности восстановления. == Защита данных о заказах == Получить доступ к ранее сделанному заказу можно несколькими безопасными способами:  # Авторизоваться в системе Nemo Travel реализована (если заказ был сделан авторизованным пользователем)# Введя уникальный код доступа (обычно код отправляется на адрес электронной почты, указанный при бронировании)# Вход через форму с указанием номера заказа и фамилии первого пассажира# По секретной ссылке из QR-кода на маршрут-квитанции (если QR-код предусмотрен шаблоном документа) В системе предусмотрена защита от подбора кода доступа и фамилии первого пассажира перебором. Код доступа и фамилия первого пассажира хранятся в базе в виде SHA256 хеша с "солью" и, по аналогии с паролем, не могут быть восстановлены в исходный вид. Все данные по заказу, заказчику, пассажирам, а также ссылка для QR-кода хранятся в базе данных в зашифрованном виде. Получить доступ к маршрут-квитанциям и другим документам, относящимся к заказу, можно только после прохождения процедуры получения доступа к основному заказу (по методам описанным выше).Все документы хранятся в базе в зашифрованном виде. == Безопасность {{NameSystem}} как веб-приложения ===== Защита от инъекций ===Все входные данные валидируются как средствами JavaScript, так и на уровне сервера. Все запросы к базам данных в системе написаны с использованием плейсхолдеров и экранированием параметров, подставляемых в них.=== Защита от XSS ===Все данные перед вводом и выводом проверяются на предмет наличия JS-инъекций. Это гарантирует безопасность использования COOKIE в нашей системе. Если злоумышленник всё же получает COOKIE из чужого браузера (к примеру, с помощью зараженного вирусами программного обеспечения), он не сможет ими воспользоваться для аутентификации в нашей системе под учетными записями ваших сотрудников. Их идентификаторы сессий привязаны к IP-адресам. === Защита от CSRF ===В целях повышения надежности системы реализован механизм защиты от [https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D0%B6%D1%81%D0%B0%D0%B9%D1%82%D0%BE%D0%B2%D0%B0%D1%8F_%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D0%BB%D0%BA%D0%B0_%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0 CSRF] атак. Так Ограничены переходы по ссылкам (или автоматические перенаправления) со сторонних сайтов на страницы административной панели {{NameSystem}} или на страницы, при выполняющие операции с заказами. В этом случае предварительно у пользователя будет запрошено подтверждение о переходе с другого сайта .=== Проверка по IP ===Важные запросы от сторонних сервисов, например, от платежных шлюзов, проверяются на допустимость IP-адреса отправителя по ссылке"белому списку". Таким образом запрос практически невозможно подделать злоумышленникам Важные запросы от API пользователей, ведущей в панель администрирования Nemo Travelнапример, будет произведено перенаправление на специальную защитную страницувыписку билетов, также проверяются по допустимым IP-адресам.=== Блокировки по IP ===В системе предусмотрены механизмы как ручной, так и автоматической блокировки злоумышленников по IP-адресу=== Логирование и мониторинг ===Все операции с которой пользователь сможет попасть заказами и действия пользователей системы логируются. Логи индексируются (для быстрого обращения к ним) и хранятся в базе данных в течение длительного времени.  Сокращенный вариант логов доступен для просмотра менеджеру агентства в административной панели. Полный вариант доступен только сотрудникам {{NameSystem}} и может быть предоставлен по запросу в техническую поддержку. Обо всех критических программных ошибках и подозрительных действиях (которые могут трактоваться как попытка взлома) сотрудники {{NameSystem}} автоматически получают уведомления по электронной почте или на интересующую его страницутелефон 24x7.
'