Перейти к основному содержимому

Задание 2: Режим сквозной аутентификации

По итогам выполнения данной лабораторной работы вы научитесь:

  • понимать принцип работы сквозной аутентификации;
  • настраивать СУБД для ее поддержки;
  • конфигурировать Pangolin Pooler для работы в режиме прокси;
  • проверять работоспособность всей схемы сквозной аутентификации.

Изучение текущего состояния системы​

  1. Проверьте, прослушивается ли порт аутентификации в системе:

    [student@srv1 ~]$ sudo ss -tlnp | grep 5544
    LISTEN 0 364 0.0.0.0:5544 0.0.0.0:* users:(("postgres",pid=7608,fd=4))
  2. Проверьте параметры аутентификации в СУБД:

    postgres=# \dconfig auth*
    List of configuration parameters
    Parameter | Value
    ----------------------------+-------
    auth_activity_period | 1min
    authentication_max_workers | 16
    authentication_port | 5433
    authentication_proxy | off
    authentication_timeout | 1min
    auth_handshake_timeout | 10s
    auth_idle_period | 1min
    auth_resume_period | 5min
    (8 rows)

Настройка СУБД для сквозной аутентификации​

  1. Проверьте настройки сквозной аутентификации в кластере:

    [student@srv1 ~]$ sudo -u postgres grep 'authentication_proxy' /etc/pangolin-manager/postgres.yml
    authentication_proxy: '1'
  2. Проверьте порт аутентификации:

    [student@srv1 ~]$ sudo -u postgres grep 'authentication_port' /etc/pangolin-manager/postgres.yml
    authentication_port: '5544'
  3. Проверьте, прослушивается ли порт аутентификации:

    [student@srv1 ~]$ sudo ss -tlnp | grep 5544
    LISTEN 0 364 0.0.0.0:5544 0.0.0.0:* users:(("postgres",pid=7608,fd=4))
  4. Проверьте наличие процесса authproc:

    [student@srv1 ~]$ ps f -C postgres
    PID TTY STAT TIME COMMAND
    7608 ? Ss 0:01 \_ postgres: Pobeda: authproc

Настройка Pangolin Pooler для сквозной аутентификации​

Проверка конфигурации пользователей​

Убедитесь, что раздел [users] в конфигурации пулера пуст:

[student@srv1 ~]$ sudo -u postgres fgrep -A3 '[users]' /etc/pangolin-pooler/pangolin-pooler.ini

Включение режима прокси​

  1. Включите режим прокси:

    [student@srv1 ~]$ sudo -u postgres sed -i.legacy 's/^.*auth_proxy.*$/auth_proxy = on/' /etc/pangolin-pooler/pangolin-pooler.ini
    auth_proxy = on
  2. Перезагрузите пулер:

    [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

Проверка работы сквозной аутентификации​

  1. Проверьте открытые порты:

    [student@srv1 ~]$ sudo ss -tlnp | grep 5544

    Ожидаемый результат: должен отображаться порт 5544.

    [student@srv1 ~]$ sudo ss -tlnp | grep 6544

    Ожидаемый результат: должен отображаться порт 6544.

Тестирование сквозной аутентификации​

  1. Подключитесь через пулер пользователем, который отсутствует в userlist.txt:

    [student@srv1 ~]$ psql -h srv1 -p 6544 -U postgres
  2. После подключения получите PID обслуживающего процесса.

    postgres=# SELECT pg_backend_pid();
    pg_backend_pid
    ----------------
    96348
    (1 row)
  3. Проверьте сетевые соединения:

    [student@srv1 ~]$ ss -tnp | egrep ':[0-9]{2}44'
    ESTAB 0 0 <IP-Address1>:36802 <IP-Address1>:5544
    ESTAB 0 0 <IP-Address1>:36556 <IP-Address1>:6544
    ESTAB 0 0 <IP-Address1>:5544 <IP-Address1>:36802
    ESTAB 0 0 <IP-Address1>:6544 <IP-Address1>:36556

    Обратите внимание на наличие соединения на порт аутентификации 5544 - это подтверждает работу сквозной аутентификации.

Подведем итоги​

Вопрос 1

Вопрос 1: В режиме прокси:

Вопрос 2

Вопрос 2: Выберите верные утверждения: