Помогите (подскажите, куда копать) сделать следующее:
-
Есть компания с несколькими филиалами. Каждый филиал: это оператор + 2..10 клиентских компов. Абсолютно все машины подключены к интернету.
-
Есть компьютер оператора, который через веб-интерфейс логинится к удалённой системе и вводит: 1) логин+пароль филиала 2) личный операторский логин+пароль. Оба логина и пароля вводятся на одной странице.
-
Удалённый сервер напрограммирован так, что ему пофиг, кто и с какого компа логинится. То есть оператор может знать логин+пароль другого филиала (где он не работает) и воспользоваться этим (введя на своём компе логин+пароль филиала и свой личный логин+пароль. То есть нет привязки «оператор->филиал».
-
Изменения на удалённом сервере делать нельзя. 4.1 База данных всех пользователей и филиалов (явки-пароли) есть. 4.2 Есть доступ и контроль над базой юзеров и паролей (как филиалов, так и операторов).
-
ЦЕЛЬ: построить свой «слой» между оператором и удалённым сервером, который будет чекать, к какому филиалу принадлежит оператор и если логинится со своего филиала.
-
Единственное, что мне пришло на ум, - это сделать базу данных, в которой будет прописано, какой оператор работает в каком филиале. И потом, когда оператор пытается подключиться к удалённому серверу, проверять по связке (MAC-адрес компа + логин-пароль филиала + личный логин-пароль). И, если эта связка корректна, пустить оператора к удалённому серверу. Технически сделать так: Сначала на своём сервере проверять всю эту троицу данных, а потом уже пускать юзера к удалённому серверу.
-
Откуда проблема? Проблема в том, что некоторые операторы узнали пароли (филиальные) от других филиалов и стали туда заходить (вводя филиальный логин+пароль и свой личный логин+пароль). Система это позволяет. И самое главное - удалённая система не умеет ограничить (привязать) операторов к своим филиалам, поэтому это хочу сделать я сам.
-
Рабочее место оператора - жёсткое. Он не может забирать домой компьютер. На операторских компьютерах установлен CentOS. Квалификация оператора в принципе не позволяет узнать МАК-адрес машины, подделать его. Операторы вообще не знают, что есть привязка к МАК-адресу его операторской машины.
-
Действие происходит в одной африканской стране. Филиалы и операторы - в Африке, удалённый сервер не в Африке.
Не знаю, если я хорошо объяснил, пожалуйста, задайте вопросы, что не ясно или каких данных не хватает.