Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

PG_HBA_RESTRICT_IP 1С:Предприятие и СУБД

Как ограничить доступ к базе PostgreSQL по IP-адресу: настройка pg_hba.conf

Обновлено: 26.08.2026 · Официальная документация ↗
  • Требуется защитить базу данных 1С от несанкционированного прямого подключения из внешней сети.
  • Необходимо запретить доступ к порту 5432 для всех устройств, кроме сервера приложений 1С и рабочего ПК администратора.
  • Аудит безопасности требует исключить анонимные и парольные подключения к СУБД с произвольных рабочих станций.

Как устроена безопасность PostgreSQL простыми словами?

Файл pg_hba.conf (Host-Based Authentication) — это главный «пропускной пункт» сервера PostgreSQL. В нем строгими правилами сверху вниз прописано: кому (пользователь), куда (к какой базе), откуда (с какого IP-адреса) и по какому методу проверки пароля разрешено подключаться. Все адреса, не попавшие в разрешающий список, сервер мгновенно отсекает.

Шаг 1. Находим файл pg_hba.conf

  • В Windows: путь по умолчанию: C:\Program Files\PostgreSQL\XX\data\pg_hba.conf (или в папке C:\ProgramData\...).
  • В Linux (Ubuntu/Debian/Rocky): путь: /etc/postgresql/XX/main/pg_hba.conf или /var/lib/pgsql/data/pg_hba.conf.

Шаг 2. Структура правила безопасности

Каждая строчка в файле состоит из параметров: ТИП БАЗА ПОЛЬЗОВАТЕЛЬ IP-АДРЕС/МАСКА МЕТОД

Шаг 3. Настройка ограничений (Пример безопасной конфигурации)

Откройте pg_hba.conf в текстовом редакторе. Найдите секцию сетевых подключений и настройте доступ строго по правилам:

# 1. Разрешаем полный локальный доступ самому серверу (localhost)
host    all             all             127.0.0.1/32            scram-sha-256
host    all             all             ::1/128                 scram-sha-256

# 2. Разрешаем подключение к базе 1С ТОЛЬКО с сервера приложений 1С (например, IP 192.168.1.50)
host    buh_db          usr1cv8         192.168.1.50/32         scram-sha-256

# 3. Разрешаем доступ администратору базы с его рабочего ПК (IP 192.168.1.100)
host    all             postgres        192.168.1.100/32        scram-sha-256

# 4. ВСЕМ ОСТАЛЬНЫМ ПОДКЛЮЧЕНИЯ ЗАПРЕЩЕНЫ (отклонять любые другие IP)
host    all             all             0.0.0.0/0               reject

Шаг 4. Применение настроек без остановки базы

Чтобы правила вступили в силу, перезагружать весь сервер не нужно. Достаточно отправить команду перечитывания конфига:

  • В Linux: sudo systemctl reload postgresql
  • В SQL-запросе (pgAdmin/psql): выполните команду SELECT pg_reload_conf();
💡 Практика специалистов: Никогда не указывайте метод аутентификации 'trust' для внешних IP-сетей. Метод trust разрешает вход в базу данных любому желающему вообще без ввода пароля.

Частые вопросы (FAQ)

Что означает маска /32 после IP-адреса?

/32 указывает на один конкретный IP-адрес хоста. Если вам нужно разрешить всю бухгалтерскую подсеть, используйте маску /24 (например, 192.168.1.0/24).

Почему после изменения pg_hba.conf меня перестало пускать в базу?

PostgreSQL читает правила строго сверху вниз до первого совпадения. Если запрещающее правило 'reject' оказалось выше разрешающего, подключение будет заблокировано.

Нужно ли открывать доступ к PostgreSQL для обычных пользователей 1С?

НЕТ! Обычные пользователи 1С подключаются к Серверу приложений 1С (порт 1541/1560), а уже сам сервер 1С подключается к PostgreSQL. Прямой доступ клиентов к порту 5432 СУБД категорически запрещен правилами безопасности.

Какой метод шифрования паролей лучше указывать: md5 или scram-sha-256?

Используйте современный стандарт scram-sha-256. Метод md5 считается устаревшим и уязвимым для перехвата хешей.

Полезные материалы
Рекомендуем