Token servises

0 голосов
спросил 02 Фев, 10 от Vetlugin_Artem (160 баллов) в категории Программные продукты Esri
Всем привет) Вопрос такой: как организуется защита с помощью Token servises? заранее спасибо)
    

10 Ответы

0 голосов
ответил 04 Фев, 10 от TDenis (42,620 баллов)
0 голосов
ответил 17 Март, 10 от User (380 баллов)
Вся защита организованная с помощью разграничение доступа сделана. А как сделать так чтобы грубо говоря вылетало окно с запросом на имя и пароль и сам ключ токен???
0 голосов
ответил 17 Март, 10 от TDenis (42,620 баллов)
Зачем "окно с запросом на имя и пароль и сам ключ токен"?
Вы что, хотите, чтобы пользователь вводил имя, пароль и токен?
0 голосов
ответил 18 Март, 10 от User (380 баллов)
День добрый)) если я правильно понял, то токен служба организуется след образом: если я хочу открыть серис то мне необходимо ввести логин и пароль, затем служба проверяет мои данные и отсылает мне ключ токен, я заново ввожу логин и пароль но уже вместе с токеном, и только затем мне позволяют доступ))) Может я просто чего то не понимаю?
0 голосов
ответил 18 Март, 10 от TDenis (42,620 баллов)
Похоже что нет.

Поскольку веб-сервер не хранит состояние, то при каждом запросе нужно проверять заново - кто этот запрос делает. Посылать каждый раз (при каждом перемещении карты) свои логин и пароль, очевидно, небезопасно. Особенно если у вас канал без SSL. Не добавляет безопасности и тот факт, что учетные данные придётся хранить в клиентском приложении на протяжении всего сеанса.

Поэтому делают вот так:
1. Пользователь вводит логин и пароль.
2. Логин и пароль (возможно и IP-адрес) передаются на сервер, в службу токенов.
3. Служба токенов проверяет учетные данные, если они корректные, то пользователю возвращается сгенерированный токен (каждый раз новый - сегодня один, завтра другой).
4. И теперь при каждом запросе к сервисам пользователь передаёт уже не логин и пароль, а передаёт этот сгенерированный сервером токен.
5. Получив токен, сервис сам обращается к службе токенов, чтобы выяснить кто к нему обратился. Служба токенов проверяет, что это тот самый токен, который она недавно выдала. И после этого возвращает сервису учетные данные соответствующего пользователя.

Тем самым исключается необходимость хранить на стороне клиента и передавать конфиденциальные данные при каждом запросе. Даже если токен перехватят и умыкнут, то это не так страшно, потому что токен имеет ограниченный срок действия (а возможно и привязку к IP). Защита не идеальная, но взломать становится немного сложнее, потому что пароль передаётся по сети только один раз за сеанс, и потому что сервисы вместе со службой токенов находятся на стороне сервера (можно считать, что между ними канал гораздо более защищенный, чем между клиентом и сервером).

Имя и пароль вводятся один раз (!) при старте приложения. Всё остальное делается прозрачно для пользователя. Он даже не должен знать, какой токен ему выдали (хотя при желании он может его выяснить, если токенами не занимается прокси).
0 голосов
ответил 18 Март, 10 от User (380 баллов)
Огромное спасибо)) теперь многое становится ясным...
Единственный вопрос который теперь мучает так это как это все организуется? Службу токенов я подключил, но вот почему то окошко не появляется для ввода пароля и логина((( Это зависит от того использую я просто пользователей windows или БД SQL??? Заранее спасибо)))
0 голосов
ответил 18 Март, 10 от TDenis (42,620 баллов)
Вам нужно чтобы пользователи вводили данные именно для получения токенов для работы с сервисами? Такого окошка нет.

Параметры для доступа к защищенным сервисам задаются при создании web-приложения, на этапе подключения слоёв (точнее на этапе создания подключения к гис-серверу). Все пользователи web-приложения будут использовать эти одинаковые указанные учетные данные для доступа к сервисам.

Но при этом вы можете защитить само ваше стандартное .net или java web adf приложение (если вы работаете через него). В менеджере напротив каждого приложения нарисован замочек - это и есть кнопка для настройки доступа. В этом случае будет появляться окошко для ввода логина и пароля. Но это два не связанных эшелона защиты.

Вот то, что есть из коробки.
Для реализации более сложных сценариев придумали программистов.
0 голосов
ответил 18 Март, 10 от User (380 баллов)
благодарю)
0 голосов
ответил 21 Март, 10 от User (380 баллов)
TDenis к вам еще один вопрос)))
а если к сервису будет обращаться flex приложение, то каким образом будет происходить защита и аутентификация ??
заранее спасибо)
0 голосов
ответил 21 Март, 10 от TDenis (42,620 баллов)
Как сделаете, так и будет происходить :)

- Можно поставить защиту на уровне сервисов. ArcGIS Server Flex API поддерживает защиту с помощью токенов;
- Можно поставить защиту на уровне веб-сервера - http-авторизацию или, в случае IIS, Windows-авторизацию;
- Можно защитить само flex-приложение. Но это очень сомнительная защита, потому что обычно защищать надо не приложение, а данные. Ведь злоумышленник может обратиться к сервису напрямую, а не через это конкретное приложение;
- Канал можно защитить с помощью SSL (https). Это позволит защититься от пассивной атаки, когда кто-то прослушивает сеть. Причем говорят, что это актуально даже в том случае, когда сеть на коммутаторах (свитчах), а не концентраторах (хабах). Защита будет и от активных атак (man-in-the-middle), в этом случае браузер выдаст пользователю предупреждение (IE8 пишет что-то вроде "возможно вас пытаются обмануть"). Проверить легко тем же Fiddler (кто у вас там будет делать flex-приложение - тот знает, что это), он как раз такую атаку и проводит :)

Ну и конечно можно реализовать любую комбинацию из перечисленного.

http://resources.esri.com/help/9.3/ArcGISServer/apis/Flex/help/index.html
/Understanding ArcGIS Server/Secured Services (что-то не выходит у меня прямую ссылку получить)

С сильверлайтом всё тоже самое.

И зря вы персонально ко мне обращаетесь, я вовсе не специалист по защите данных. Но надеюсь, меня поправят более компетентные камрады, если что.
По таким серьёзным вопросам, как безопасность, думаю, что надо обращаться напрямую к профессионалам (например, в ту же Дата+).
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...