Задание 2: Режим сквозной аутентификации
По итогам выполнения данной лабораторной работы вы научитесь:
- понимать принцип работы сквозной аутентификации;
- настраивать СУБД для ее поддержки;
- конфигурировать Pangolin Pooler для работы в режиме прокси;
- проверять работоспособность всей схемы сквозной аутентификации.
Изучение текущего состояния системы
-
Проверьте, прослушивается ли порт аутентификации в системе:
[student@srv1 ~]$ sudo ss -tlnp | grep 5544LISTEN 0 364 0.0.0.0:5544 0.0.0.0:* users:(("postgres",pid=7608,fd=4)) -
Проверьте параметры аутентификации в СУБД:
postgres=# \dconfig auth*List of configuration parametersParameter | Value----------------------------+-------auth_activity_period | 1minauthentication_max_workers | 16authentication_port | 5433authentication_proxy | offauthentication_timeout | 1minauth_handshake_timeout | 10sauth_idle_period | 1minauth_resume_period | 5min(8 rows)
Настройка СУБД для сквозной аутентификации
-
Проверьте настройки сквозной аутентификации в кластере:
[student@srv1 ~]$ sudo -u postgres grep 'authentication_proxy' /etc/pangolin-manager/postgres.ymlauthentication_proxy: '1' -
Проверьте порт аутентификации:
[student@srv1 ~]$ sudo -u postgres grep 'authentication_port' /etc/pangolin-manager/postgres.ymlauthentication_port: '5544' -
Проверьте, прослушивается ли порт аутентификации:
[student@srv1 ~]$ sudo ss -tlnp | grep 5544LISTEN 0 364 0.0.0.0:5544 0.0.0.0:* users:(("postgres",pid=7608,fd=4)) -
Проверьте наличие процесса
authproc:[student@srv1 ~]$ ps f -C postgresPID TTY STAT TIME COMMAND7608 ? Ss 0:01 \_ postgres: Pobeda: authproc
Настройка Pangolin Pooler для сквозной аутентификации
Проверка конфигурации пользователей
Убедитесь, что раздел [users] в конфигурации пулера пуст:
[student@srv1 ~]$ sudo -u postgres fgrep -A3 '[users]' /etc/pangolin-pooler/pangolin-pooler.ini
Включение режима прокси
-
Включите режим прокси:
[student@srv1 ~]$ sudo -u postgres sed -i.legacy 's/^.*auth_proxy.*$/auth_proxy = on/' /etc/pangolin-pooler/pangolin-pooler.iniauth_proxy = on -
Перезагрузите пулер:
[student@srv1 ~]$ sudo systemctl restart pangolin-pooler.service
Настройка подключения к порту аутентификации
Проверьте текущие настройки подключения:
[student@srv1 ~]$ sudo -u postgres fgrep -A1 '[databases]' /etc/pangolin-pooler/pangolin-pooler.ini
[databases]
* = host=<IP-Address1> port=5433 auth_port=5544 auth_pool_size=1
Проверка работы сквозной аутентификации
-
Проверьте открытые порты:
[student@srv1 ~]$ sudo ss -tlnp | grep 5544Ожидаемый результат: должен отображаться порт
5544.[student@srv1 ~]$ sudo ss -tlnp | grep 6544Ожидаемый результат: должен отображаться порт
6544.
Тестирование сквозной аутентификации
-
Подключитесь через пулер пользователем, который отсутствует в
userlist.txt:[student@srv1 ~]$ psql -h srv1 -p 6544 -U postgres -
После подключения получите PID обслуживающего процесса.
postgres=# SELECT pg_backend_pid();pg_backend_pid----------------96348(1 row) -
Проверьте сетевые соединения:
[student@srv1 ~]$ ss -tnp | egrep ':[0-9]{2}44'ESTAB 0 0 <IP-Address1>:36802 <IP-Address1>:5544ESTAB 0 0 <IP-Address1>:36556 <IP-Address1>:6544ESTAB 0 0 <IP-Address1>:5544 <IP-Address1>:36802ESTAB 0 0 <IP-Address1>:6544 <IP-Address1>:36556Обратите внимание на наличие соединения на порт аутентификации
5544- это подтверждает работу сквозной аутентификации.