sql >> Databáze >  >> RDS >> PostgreSQL

Jak uzavřít mezeru ve zranitelnosti v PostgreSQL

Bez ohledu na to, jakou technologii nebo bezpečnostní systém používáte, vždy existuje riziko hacknutí, protože neexistuje žádný 100% zabezpečený systém. Protože data jsou pravděpodobně nejdůležitějším aktivem společnosti, musíte svůj systém co nejvíce zabezpečit, abyste toto riziko minimalizovali.

Tento blog zmíní některé důležité kontroly, které je třeba provést ve vašem prostředí PostgreSQL, abyste odstranili mezeru ve zranitelnosti a předešli některým z nejběžnějších bezpečnostních problémů.

Zabezpečení komunikace

Pokud používáte různé cloudové poskytovatele, kombinaci cloudového poskytovatele a On-Prem, nebo dokonce pouze prostředí On-Prem, komunikace ve všech vašich systémech musí být šifrována a musíte omezit provoz pouze ze známých zdrojů, abyste snížili riziko neoprávněného přístupu do vaší sítě.

Použití pravidel VPN, SSH nebo brány firewall nebo dokonce jejich kombinace jsou v tomto ohledu dobrým řešením.

Řízení přístupu k databázi

Musíte omezit fyzický i vzdálený přístup.

  • Fyzický přístup (on-prem):Omezte neoprávněný fyzický přístup k databázovému serveru.

  • Vzdálený přístup:Omezte vzdálený přístup pouze na nezbytné osoby az co nejmenšího množství zdrojů. Použití VPN pro přístup k němu je zde určitě užitečné, ale existují i ​​další možnosti, jako je SSH Tunneling. Měli byste najít nejlepší řešení pro vaši společnost.

Správa uživatelských účtů databáze

Existuje mnoho způsobů, jak zlepšit zabezpečení vašich uživatelských účtů v PostgreSQL.

  • Odeberte neaktivní uživatele. Za tímto účelem byste měli definovat období, po které se má uživatel považovat za neaktivního, a můžete naplánovat jeho automatické odstranění.

  • Při vytváření nového uživatelského účtu udělte pouze nezbytná oprávnění.

  • Omezte zdroj pro každé připojení uživatele pomocí konfiguračního souboru pg_hba.conf.

  • Definujte zásady bezpečného hesla (nebo k tomu povolte plugin, např. kontrolu hesel).

Bezpečné instalace a konfigurace

Pro zabezpečení instalace PostgreSQL je třeba provést několik změn.

  • Nainstalujte na server pouze nezbytné balíčky a služby.

  • Změňte výchozí uživatelské heslo správce a omezte použití pouze z místního hostitele.

  • Změňte výchozí port a určete rozhraní pro poslech.

  • Povolit plugin zásad zabezpečení hesel.

  • Nakonfigurujte certifikáty SSL pro šifrování dat při přenosu.

  • Šifrovat data v klidu.

  • Nakonfigurujte místní firewall tak, aby umožňoval přístup k databázovému portu pouze z místní sítě.

V případě, že používáte spravovanou databázi PostgreSQL, některé z výše uvedených bodů nebudou nutné.

Audit a protokolování

Příkazy protokolování vám mohou pomoci odhalit bezpečnostní problémy nebo se jim vyhnout, pokud je včas podchytíte.

Můžete použít standardní protokolovací zařízení PostgreSQL pomocí parametru log_statement, ale můžete také použít rozšíření jako pgAudit pro podrobnější protokolování relace a auditu objektů.

Implementujte WAF (Web Application Firewall)

Injekce SQL nebo útoky DoS (Denial of Service) jsou nejběžnějšími útoky na databázi a nejbezpečnějším způsobem, jak se jim vyhnout, je použití WAF k zachycení tohoto druhu SQL dotazů nebo SQL Proxy pro analýzu provozu.

Často kontrolujte CVE (běžná zranitelnost a ohrožení)

Každý den jsou pro váš databázový server detekovány nové chyby zabezpečení. Měli byste jej často kontrolovat, abyste věděli, zda nepotřebujete použít opravu nebo změnit něco ve vaší konfiguraci. Jedním ze způsobů, jak to zjistit, je projít si web CVE, kde najdete seznam zranitelností s popisem a můžete vyhledat verzi databáze a dodavatele, abyste si ověřili, zda je potřeba co nejdříve opravit.

Abyste byli konkrétnější, můžete se podívat do sekce PostgreSQL a pokusit se najít problémy pro verzi vaší databáze.

Udržujte svůj operační systém a databázi aktuální

Existuje několik oprav a vylepšení, které vydal dodavatel databáze nebo operační systém, aby opravila nebo se vyhnula zranitelnostem. Je důležité udržovat váš systém tak aktuální, jak je to jen možné, pomocí oprav a aktualizací zabezpečení.

Monitorování

Abyste znali stav svých systémů, budete potřebovat dobrý monitorovací systém. To by mohlo být užitečné k nalezení bezpečnostních problémů nebo dokonce k tomu, abyste se jim vyhnuli.

Za tímto účelem je ClusterControl dobrou volbou, protože je to systém pro správu a monitorování, který vám pomáhá nasazovat, spravovat, monitorovat a škálovat databáze z příjemného rozhraní. Podporuje špičkové technologie open source databází a můžete automatizovat mnoho databázových úloh, které musíte pravidelně provádět, jako je přidávání a škálování nových uzlů, spouštění záloh a obnovy a další.

ClusterControl vám umožňuje monitorovat vaše servery v reálném čase pomocí předem definované sady řídicích panelů pro analýzu některých nejběžnějších metrik.

Umožňuje vám přizpůsobit grafy dostupné v clusteru a můžete povolit monitorování založené na agentech, aby bylo možné generovat podrobnější řídicí panely.

Můžete také vytvářet výstrahy, které vás informují o událostech ve vašem clusteru, nebo je lze integrovat s různými službami, jako je PagerDuty nebo Slack.

V sekci sledování dotazů můžete najít nejčastější dotazy, spuštěné dotazy, odlehlé hodnoty dotazů a statistiky dotazů pro sledování provozu databáze.

S těmito funkcemi můžete vidět, jak vaše PostgreSQL databáze funguje.

Závěr

Výše uvedené body vám pomohou zacelit mezeru ve zranitelnosti ve vaší databázi PostgreSQL, ale jak jsme zmínili, vždy existuje riziko, že budete hackováni.

Také byste měli mít dobrý monitorovací systém, jako je ClusterControl, a pravidelně spouštět některé nástroje pro kontrolu zabezpečení, které hledají zranitelnosti, jako je Nessus, abyste ještě více minimalizovali bezpečnostní rizika.


  1. Připojení SAP Lumira k Microsoft Access

  2. Jak bych měl řešit --secure-file-priv v MySQL?

  3. Správa rolí a stavů v systému

  4. Jak RPAD() funguje v MariaDB