Подключение и аутентификация
Обеспечение безопасного и контролируемого доступа к СУБД PostgreSQL является одной из ключевых задач администратора. В современных условиях, когда угрозы информационной безопасности становятся всё более изощрёнными, правильная настройка механизмов подключения и аутентификации приобретает особую важность.
Правильная настройка подключений критически важна для:
Способы подключения
-
Локальные подключения (через Unix-сокет)
-
Сетевые подключения (TCP/IP)
-
Удаленные подключения (через SSH-туннель)
Конфигурационные файлы
Файл | Назначение |
---|---|
postgresql.conf |
Основные параметры сервера |
pg_hba.conf |
Настройки аутентификации (Host-Based Authentication) |
pg_ident.conf |
Сопоставление системных и PostgreSQL пользователей |
Методы аутентификации
-
Trust - без пароля (только для доверенных подключений)
-
Password
-
md5
- хэшированный пароль -
scram-sha-256
- более безопасный метод (рекомендуется)
-
-
Ident - аутентификация через ОС
-
Peer - для локальных подключений
-
GSSAPI - для Kerberos
-
LDAP - интеграция с каталогами
Настройка pg_hba.conf
Формат записи:# TYPE DATABASE USER ADDRESS METHOD [OPTIONS] host all all 0.0.0.0/0 scram-sha-256
Примеры настроек:
Локальный доступ без пароля:local all postgres peerДоступ из сети с паролем:
host all all 192.168.1.0/24 scram-sha-256
SSL/TLS шифрование
Настройка в postgresql.conf:
ssl = on
ssl_cert_file = 'server.crt'
ssl_key_file = 'server.key'
Проверка подключения:
Упражнения для практики:
Задание 1: Настройка аутентификации
Добавьте в pg_hba.conf
правило для доступа пользователя app_user
только к БД app_db
с паролем:
host app_db app_user 192.168.1.100/32 scram-sha-256
Перезагрузите конфигурацию:
Задание 2: Проверка подключений
Попробуйте подключиться с разных IP-адресов:
Проверьте журнал (/var/log/postgresql.log
) на предмет попыток подключений.
Задание 3: Настройка SSL
Сгенерируйте самоподписанный сертификат:
Проверьте SSL-соединение:
Организация надёжной системы подключения и аутентификации в PostgreSQL требует комплексного подхода и понимания различных механизмов защиты данных.