6.1. Инструкции по установке и настройке компонентов Postgres ProGate #

Устанавливайте компоненты Postgres ProGate только с носителей, входящих в комплект поставки Postgres ProGate, или из репозитория программного обеспечения https://repo.postgrespro.ru/.

6.1.1. Настройка служебной базы данных #

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

  • Длиннее 8 символов.

  • Должен содержать цифры и латинские буквы верхнего и нижнего регистров.

6.1.2. Ограничение доступа к конфигурации Postgres ProGate #

После установки серверной части ограничьте доступ непривилегированным пользователям, кроме пользователя, от имени которого запускается Postgres ProGate, на чтение и запись следующих файлов:

  • Файл окружения /opt/pgpro/progate/etc/env_progate.

  • Файл конфигурации Postgres ProGate, если он используется.

6.1.3. Настройка веб-сервера #

Для работы с графическим интерфейсом Postgres ProGate установите и настройте веб-сервер nginx, который поставляется как часть пакета операционной системы сервера, на который устанавливается Postgres ProGate. Настройте веб-сервер для работы по безопасному протоколу HTTPS.

В конфигурации веб-сервера настройте перенаправление запросов, получаемых по небезопасному соединению (HTTP) на безопасное соединение (HTTPS). См. пример конфигурации:

server {
    listen 80;
    server_name progate.example.com;

    location / {
        return 301 https://$host$request_uri;
    }
}

Конфигурация должна включать параметры для работы по безопасному протоколу HTTPS. Например:

server {
    listen 443 ssl default_server;
    server_name progate.example.com;
    ssl_certificate /path/to/cert.crt;
    ssl_certificate_key /path/to/cert.key;
    ssl_protocols TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
    ssl_prefer_server_ciphers off;
    ...
}

Конфигурация должна включать использование Content Security Policy (политика безопасности содержимого) и защиту от встраивания веб-страниц:

server {
    ...
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-Content-Type-Options "nosniff";
    add_header X-XSS-Protection "1; mode=block";
    add_header Strict-Transport-Security "max-age=31536000";
    add_header Content-Security-Policy "
	    default-src 'none';
    	script-src 'self' 'nonce-$request_id';
    	style-src 'self' 'nonce-$request_id';
		img-src 'self' data:;
		font-src 'self';
		connect-src 'self';
		form-action 'self';
		base-uri 'self';
		frame-ancestors 'none';
		frame-src 'none';
		object-src 'none';
    " always;
    ...
}

Конфигурация веб-сервера должна запрещать отображение используемой версии веб-сервера на автоматически создаваемых страницах ошибок 4xx, 5xx. Для этого в файле конфигурации nginx /etc/nginx/nginx.conf задайте следующие параметры:

http: {
    ...
    server_tokens off;
    ...
}