Не разрешать несколько сеансов, если у пользователя разные IP
Я использую Red Hat Enterprise Linux 6.6, и для аутентификации мы используем аутентификацию LDAP. У нас запущено приложение на сервере (не имеет значения, какой именно), и способ работы приложения заключается в том, что оно в основном использует ОС только для аутентификации пользователя, а все остальное обрабатывается в приложении.
Вот проблема, с которой я сталкиваюсь: иногда пользователи сообщают свои имена пользователей и пароли, что противоречит нашей политике, но я не знаю, когда это произойдет (некоторые из них признались, и вскоре их отключили). То, с чем я столкнулся, когда пользователь проходит аутентификацию, приложение сообщает ОС "аутентифицировать этого пользователя", ОС настроена на использование LDAP, а LDAP использует модуль PAM.
На уровне аутентификации я хочу запустить скрипт, чтобы проверить входящий IP-адрес пользователя и проверить, есть ли у него несколько сеансов, если у пользователя несколько сеансов, проверьте IP-адрес из сеанса и посмотрите, совпадают ли они. Это лучшее, что я могу придумать, так как пользователь не может одновременно находиться на двух машинах.
Я знаю, что существует способ ограничения пользователей по IP, но у некоторых пользователей есть ноутбуки, и они перемещаются, поэтому их IP назначается динамически и постоянно меняется. В то же время было бы кошмарно поддерживать более 600 пользователей и адресов IP.
Какие-либо предложения?