Хочу открыть в Интернет один внутренний сервис, но сделать это более-менее безопасно. Видел кейсы, где подобное делалось с помощью Netscaler. При этом алогоритм следующий:
- пользователь хочет зайти на GitLab-инстанс компании;
- пользователь вводит в браузере gitlab.my-super-mega-corp.com;
- его перекидывает на Netscaler;
- Netscaler проверяет наличие какой-то куки и если её нет - предлагает пользователю авторизоваться с помощью логина/пароля/второго фактора (LDAP);
- В случае успешного логина Netscaler проставляет куку и дальнейшие запросы пробрасывает в целевой сервис (GitLab).
В таком случае мы получаем защиту от перебора паролей, DDOS-атак и т.п. При этом никаких доработок на стороне целевого сервиса (GitLab) делать не требуется.
Замечу, что GitLab - это просто пример, вместо него может быть любая другая система, так что не хочется привязываться к решениям, которые подходят только для GitLab.
Есть ли похожее решение на базе Open Source технологий, например Nginx + что-нибудь? Пытался гуглить, но всё что попадалось имело мало общего с моими хотелками.