Košík je prázdný

SELinux (Security-Enhanced Linux) je bezpečnostní modul Linuxu, který poskytuje mechanismus pro podporu správy přístupových práv bezpečnostní politiky. Výchozí nastavení SELinux na distribuci CentOS 7 může omezit přístup k databázovému serveru PostgreSQL z vzdálených počítačů. Pro umožnění vzdáleného přístupu k PostgreSQL je třeba provést několik konfiguračních kroků, které zajistí bezpečné připojení při zachování bezpečnostních vlastností SELinux.

Předpoklady

  • Nainstalovaný a běžící CentOS 7
  • Nainstalovaný PostgreSQL server
  • Základní znalost práce s terminálem a SELinux

1. Zkontrolování stavu SELinux

Prvním krokem je zjistit, zda je SELinux povolen a v jakém režimu pracuje. Toto lze zjistit pomocí příkazu:

getenforce

Pokud příkaz vrátí Enforcing, SELinux je aktivní a vynucuje bezpečnostní politiky. Permissive znamená, že SELinux loguje porušení politik, ale neblokuje je. Disabled znamená, že SELinux je vypnutý.

2. Konfigurace PostgreSQL pro vzdálený přístup

Před změnami v SELinux je nutné zajistit, že PostgreSQL umožňuje vzdálené připojení. V souboru postgresql.conf, který se obvykle nachází v /var/lib/pgsql/data/, nastavte:

listen_addresses = '*'

V souboru pg_hba.conf přidejte pravidla pro vzdálený přístup, například:

host    all             all             0.0.0.0/0               md5

3. Nastavení SELinux pro povolení vzdálených připojení

SELinux může potřebovat úpravu pro povolení vzdálených připojení k PostgreSQL. Následující kroky ukazují, jak toho dosáhnout:

  • Povolení síťové komunikace pro PostgreSQL

    SELinux musí dovolit PostgreSQL naslouchat na síťovém rozhraní. Použijte příkaz:

    setsebool -P postgresql_can_network_connect_db 1
    
  • Nastavení správných kontextů SELinux na soubory PostgreSQL

    Zajistěte, že soubory databáze mají správný SELinux kontext:

    semanage fcontext -a -t postgresql_db_t "/var/lib/pgsql/data(/.*)?"
    restorecon -Rv /var/lib/pgsql/data
    

 

4. Restartování služeb

Po konfiguraci SELinux a PostgreSQL je nutné restartovat službu PostgreSQL, aby se změny projevily:

systemctl restart postgresql

Správné nastavení SELinux a PostgreSQL je klíčové pro zabezpečení a správnou funkčnost vzdálených připojení k databázovému serveru. Dodržením výše uvedených kroků můžete umožnit bezpečné vzdálené přístupy k vaší instanci PostgreSQL na CentOS 7, přičemž zachováte bezpečnostní politiky poskytované SELinux. Je důležité si uvědomit, že každá změna v konfiguraci SELinux by měla být provedena s ohledem na bezpečnostní důsledky pro celý systém.