LINUX.ORG.RU

Есть ли альтернативы Netscaler aaa

 ,


0

2

Хочу открыть в Интернет один внутренний сервис, но сделать это более-менее безопасно. Видел кейсы, где подобное делалось с помощью Netscaler. При этом алогоритм следующий:

  • пользователь хочет зайти на GitLab-инстанс компании;
  • пользователь вводит в браузере gitlab.my-super-mega-corp.com;
  • его перекидывает на Netscaler;
  • Netscaler проверяет наличие какой-то куки и если её нет - предлагает пользователю авторизоваться с помощью логина/пароля/второго фактора (LDAP);
  • В случае успешного логина Netscaler проставляет куку и дальнейшие запросы пробрасывает в целевой сервис (GitLab).

В таком случае мы получаем защиту от перебора паролей, DDOS-атак и т.п. При этом никаких доработок на стороне целевого сервиса (GitLab) делать не требуется.

Замечу, что GitLab - это просто пример, вместо него может быть любая другая система, так что не хочется привязываться к решениям, которые подходят только для GitLab.

Есть ли похожее решение на базе Open Source технологий, например Nginx + что-нибудь? Пытался гуглить, но всё что попадалось имело мало общего с моими хотелками.

Раньше пользовался Keycloak + https://github.com/oauth2-proxy/oauth2-proxy. Сейчас переехал на https://goauthentik.io/. Защиты от ddos-атак это не даст, но через функционал outpost все неавторизованные запросы будут идти в авторизационную проксю.

l0stparadise ★★★★★
()
Последнее исправление: l0stparadise (всего исправлений: 1)

Я точно помню модули для натягиванием авторизации через ссо. Посмотри auth_request или что-то подобное. Правда что-то возможно придётся наконфигурять руками.

ya-betmen ★★★★★
()
Последнее исправление: ya-betmen (всего исправлений: 1)

Это можно сделать через nginx и ещё какой-нить обработчик запросов (например php-fpm). Делается так: все запросы попадают в твой обработчик, он либо показывает свою авторизацию, либо отдаёт какой-то кастомный код ошибки (например 333), а в nginx на него навешан обработчик в виде редиректа (внутреннего, не http) на именованную локацию, где уже настроен целевой сервис. Если делать с помощью пхп то там будет скрипт на пару страниц думаю (именно пару страниц, никаких фреймворков, композеров и прочего бреда который сейчас модно к пхп цеплять).

Таким образом, каждый входящий http запрос сначала показывается предварительному обработчику, который может проверять что хочет (айпи-адреса, http авторизацию, куки итд), а затем, если обработчик запрос одобряет, он показывается уже сервису как обычно.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 3)