Безопасность - это не моя область знаний. Я работаю над легким административным Laravel
веб-приложением для внутреннего пользования сотрудниками компании (небольшими):
- Приложение предназначено для использования только сотрудниками
- Дистанционная работа (из дома) не редкость
- При удаленной работе обычно используются смартфоны и ноутбуки
Я бы хотел обеспечить его максимально возможную защиту - помимо аутентификации, контроля доступа или 2FA. Я пытаюсь придумать способы сделать его практически невидимым для публики, но все же доступным для сотрудников. Определение правильных правил для сканеров может сделать его немного более неясным, но я думаю, что можно было бы сделать больше. Сетевые ограничения будут ограничивать гибкость сотрудников.
Исходя из этого, я понял, что приложение может быть доступно только в том случае, если запрос сделан авторизованным устройством. Однако я не уверен, является ли это хорошим подходом. Я также не знаю, как решить проблему авторизации различных устройств и предоставления этой информации серверу во время связи.
т.е. Как я могу пометить устройство как авторизованное, чтобы я мог сделать это только один раз и мог надежно проверить информацию в веб-приложении? Регулярная аутентификация, а также доступ на основе ролей все еще были бы на месте, но приложение может вернуть ответ 404, если устройство доступа не занесено в белый список.
Есть ли способ достичь чего-то подобного, не делая это слишком ограничительным для пользователей или болезненным для настройки? Или есть лучший метод для достижения того же результата?