Обратный прокси-сервер Apache Kerberos - PullRequest
0 голосов
/ 24 сентября 2018

У меня есть рабочий внутренний сервер Apache, настроенный с помощью mod_auth_kerb.У меня также есть внешний сервер Apache, который проксирует соединения с внутренними.

Когда пользователи подключаются внутренне со своими учетными записями домена, SSO с использованием kerberose работает.При внешнем доступе им предлагается ввести имя пользователя и пароль.Эта настройка работала до тех пор, пока мы не внедрили второй домен (он же область).

Внутренне пользователи любого домена могут проходить аутентификацию.Но внешне, после ввода учетных данных, внутренний сервер сообщает

[Mon Sep 24 11:17:17.482681 2018] [auth_kerb:error] [pid 10547:tid 140441496266496] [client 10.200.3.36:49484] failed to verify krb5 credentials: Server not found in Kerberos database, referer: https://server.com/

, а прокси-отчеты

Mon Sep 24 11:17:18.127581 2018] [proxy_http:error] [pid 2539] (70014)End of file found: [client xxx.xxx.xxx.xxx:60926] AH01102: error reading status line from remote server server.com:443, referer: https://server.com/

Я знаю, что упускаю что-то очевидное.

ВотКонфиг с прокси

<VirtualHost *:443>
ServerName server.com
SSLEngine On
SSLCertificateFile /etc/pki/tls/certs/server.com.crt
SSLCertificateKeyFile /etc/pki/tls/private/server.com.key
SSLCertificateChainFile /etc/pki/tls/certs/server.com.inter.crt
SSLProxyEngine On
ProxyPass "/" "https://server.com/"
ProxyPassReverse "/" "https://server.com/"
</VirtualHost>

Конфиг с внутреннего сервера

<VirtualHost *:443>
ServerName server.com
DocumentRoot /var/www/html/wordpress
SSLEngine on
SSLCertificateFile "/etc/pki/tls/certs/server.com.crt"
SSLCertificateKeyFile "/etc/pki/tls/private/server.com.key"
SSLCertificateChainFile /etc/pki/tls/certs/server.com.inter.crt
SSLProtocol +TLSv1.2
SSLCipherSuite RSA:HIGH:-LOW:-RC4

<IF "'%{REMOTE_ADDR}' != '10.200.3.35' && '${REQUEST_URI}' != '/wp-admin'">
AuthType Kerberos
AuthName "Kerberos authenticated intranet"
KrbAuthRealms REALM1 REAM2
KrbServiceName Any
Krb5KeyTab /etc/httpd/merged.keytab
KrbMethodNegotiate On
KrbMethodK5Passwd On
require valid-user
</IF>

<Directory "/var/www/html/wordpress">
AllowOverride All
</Directory>
</VirtualHost>

Пример таблицы ключей

slot KVNO Principal
---- ---- ---------------------------------------------------------------------
   1    1 HTTP/server.com@REALM1
   2    1 HTTP/server.com@REALM1
   3    1 HTTP/server.com@REALM1
   4    1 HTTP/server.com@REALM1
   5    1 HTTP/server.com@REALM1
   6    1          HTTP/server.com@REALM2
   7    1          HTTP/server.com@REALM2
   8    1          HTTP/server.com@REALM2
   9    1          HTTP/server.com@REALM2
  10    1          HTTP/server.com@REALM2
...