sql >> Databáze >  >> RDS >> Sqlserver

Připojení Bastion Server k PostgreSQL serveru přes SSH tunel

PostgreSQL je známý systém pro správu relačních databází, který se může pochlubit bezpečným prostředím pro vývojáře a uživatele. Ale vzhledem k tomu, že práce na dálku je i nadále součástí nového standardu každého podniku, IT profesionálové čelí nové řadě výzev, pokud jde o správu zabezpečení a dostupnosti jejich serverů.

Použití bastion serveru pro přístup k databázi PostgreSQL přidává další vrstvu zabezpečení. Ale protože bastion servery by měly fungovat jako firewally, je nutné použít tunel Secure Shell (SSH), aby se snížila úroveň ohrožení privátní sítě.

Mnoho nástrojů pro správu databáze PostgreSQL může tento proces připojení automatizovat, ale interakce s prostředím vyžaduje ruční vytvoření tunelu SSH. Pochopení procesu a preventivních opatření může vaší společnosti jistě pomoci udržovat zabezpečené databáze.

Výhody vytvoření a používání zabezpečeného Shell tunelu SSH

SSH tunelování se používá v síťové komunikaci již více než třicet let a je stejně důležité pro dnešní počítačové potřeby.

Vývojáři důsledně využívají protokoly SSH Secure Shell, aby mohli spravovat přístup k databázi na všech typech serverů, včetně PostgreSQL. Zabezpečený vzdálený přístup je dnes kritický, zvláště když 50 % zařízení na pracovišti je mobilních (mobilní zařízení patří mezi nejzranitelnější vůči kybernetickým útokům). Díky tomu je ještě důležitější, aby organizace mohly vzdáleně spravovat zařízení a přístup uživatelů do svých sítí.

Společnosti, které nakládají s velkým množstvím dat, musí zaměstnancům umožnit expresní přístup k velkým databázím a zaujmout proaktivní přístup k zabezpečení databází. Používání protokolů SSH je číslo jedna v poskytování zabezpečeného přístupu uživatelům ze vzdálených serverů. Usnadňuje také ověřování automatických programů. Firmy tak mohou provádět své každodenní úkoly efektivněji.

Jak bezpečnostní standardy konečně dohánějí mobilní zařízení a vzdálené servery, můžeme očekávat, že se také zlepší šifrování a autentizační protokoly. Flexibilita a interoperabilita jsou budoucností zabezpečení internetu věcí. Přesto budou protokoly SSH v dohledné budoucnosti i nadále standardní součástí.

Jak SSH funguje?

Protokoly SSH vám umožňují vzdáleně řídit přístup k vašim serverům přes internet v zabezpečeném prostředí. Vysoce zabezpečené je nejen počáteční spojení, ale také celá komunikační relace mezi oběma stranami. Uživatelé se mohou přihlásit ke vzdálenému serveru pomocí otevřeného tunelu SSH Secure Shell nebo jiných klientů SSH Secure Shell.

Server hledá připojení k otevřenému portu. Jakmile server najde, musí připojení ověřit. Určuje, zda bylo vytvořeno bezpečné prostředí pro komunikaci a přenos souborů. Pokud je připojení iniciováno klientem, musí klient kromě poskytnutí svých přihlašovacích údajů také ověřit server.

Když jsou obě strany ověřeny a spojení je navázáno, šifrovací protokol SSH zajišťuje trvalé soukromí všech datových přenosů mezi serverem a klientem.

K zabezpečení připojení se používají tři typy šifrovacích tunelů SSH:

  • symetrické šifrování
  • asymetrické šifrování
  • haše.

Symetrické šifrování se používá po dobu trvání spojení, aby byla komunikace zabezpečena. Klient i server sdílejí stejný tajný klíč pro šifrování a dešifrování dat. Tento algoritmus je bezpečný, protože skutečný klíč není nikdy skutečně vyměněn. Obě strany spíše sdílejí veřejné informace, ze kterých mohou nezávisle odvodit klíč.

Asymetrické šifrování , na rozdíl od toho vyžaduje veřejný i soukromý klíč. Používá se na začátku procesu tunelování k ověření serverů. Server použije veřejný klíč k zašifrování těchto dat a klient je musí ověřit pomocí soukromého klíče. Vzhledem k tomu, že konkrétní soukromý klíč je jediná věc, která dokáže dešifrovat zprávy zašifrované veřejným klíčem, pomáhá to ověřit strany hledající spojení.

Kryptografické hašování vytvoří jedinečný podpis pro sadu dat. To je užitečné při připojení SSH, protože umožňuje serveru vědět, zda je MAC přijatelná. Odpovídající hash může být vytvořen pouze částí dat identickou s tím, která vytvořila originál. Hašování lze tedy použít ke kontrole vstupu, aby se zajistilo, že je správný.

Ověření SSH

Po vytvoření šifrování proběhne proces ověření. Nejjednodušší formou autentizace je použití hesla. Ačkoli je to snadný způsob pro klienty, je také velmi snadný pro škodlivé automatické skripty. I zašifrované heslo má omezenou složitost. Dělá to nejistotu. Používání asymetrických klíčů je běžným opatřením namísto používání hesel.

Jakmile je vytvořen veřejný klíč, klient musí poskytnout soukromý klíč, který je součástí veřejného klíče. Bez této kombinace se ověření nezdaří. To pomáhá zajistit, aby zašifrovaná data nemohla dešifrovat narušitel.

Celý proces ověřování je vyjednán během nastavení a komunikovat mohou pouze strany s doplňkovými klíči. Tento proces také urychluje proces přihlášení. Je tedy optimální pro automatizované postupy.

Proces ověřování se bude lišit v závislosti na následujících faktorech:

  • druh chráněné databáze
  • vztah a umístění serveru
  • uživatelská oprávnění na serveru.

Skvělá věc na používání protokolu SSH je, že celý proces je šifrovaný a vysoce zabezpečený.

Nastavení tunelu SSH

Pokud chcete komunikovat s databází pomocí shellu, musíte vědět, jak vytvořit tunel SSH. I když použití automatizované aplikace pro správu SSH může být pohodlné, mnoho správců databází dává přednost nastavení nástrojů pro správu databází od začátku, protože interakce s prostředím je nejlepší způsob ladění, auditu a maximální kontroly.

Použití tunelu SSH je velmi bezpečný způsob, jak otevřít relaci bez obav ze ztráty dat nebo napadení (pokud zavřete relace a monitorujete své servery).

Zde je návod, jak vytvořit tunel SSH:

Ověřte Bastion Server

Chcete-li vytvořit tunel SSH Secure Shell, potřebujete znát názvy hostitelů serveru bastion a databáze PostgreSQL a také své uživatelské jméno na serveru bastion. Spusťte příkaz:

$ ssh <username>@<bastion_server>

Poté zadejte své heslo, když se objeví příslušné okno.

Otevřete tunel SSH

Otevřete tunel pomocí tohoto příkazu:

$ ssh -L localhost:port_number:<sql_server>:port_number<username>@<bastion_server>

Pro zachování připojení ponechte okno otevřené. Čísla dvou portů jsou pro váš počítač a pro vzdálený server.

Ověřte své připojení

Abyste se ujistili, že je váš tunel otevřený a připojený k serveru PostgreSQL, použijte následující příkaz:

$ psql --port=X --host=localhost -c "SELECT * FROM pg_catalog.pg_tables"

Podívejte se, zda jsou tabulky vráceny. Pokud ano, pak bylo vaše připojení úspěšné a zabezpečené.

Několik volitelných kroků může zvýšit efektivitu vašeho přístupu od hostitele bastion k serveru SQL. Mějte však na paměti, že neustálá automatizace přístupu není bezpečnou strategií. Je moudré se vždy přihlásit, kdykoli chcete otevřít tunel SSH, aby byly relace zcela soukromé.

Vytvořit uživatelský profil

Abyste nemuseli pokaždé zadávat hesla, můžete si vytvořit profil na bastion serveru. Chcete-li to provést, musíte přidat klíč SSH na server pomocí následujícího příkazu:

$ ssh-copy-id <username>@<bastion_server>

Poté bude váš klíč automaticky použit, kdykoli se budete chtít přihlásit. Má to však pozitivní i negativní stránky. Je to pohodlnější, ale musíte zajistit používání jiných bezpečnostních protokolů, které ochrání počítač před malwarem nebo krádeží. Pokud někdo jiný získá přístup k vašemu počítači, možná se bude moci automaticky přihlásit k vašim serverům, protože váš klíč je uložen.

Aktualizujte svůj konfigurační soubor SSH

Může být sofistikované zapamatovat si přesná jména a čísla portů serverů, ke kterým se chcete připojit. Proto je součástí tunelového protokolu SSH Secure Shell.

Sledujete názvy hostitelů a ověřujete se svým uživatelským jménem. Je to součást toho, co dělá SSH připojení bezpečným na prvním místě. Existuje však způsob, jak nakonfigurovat svůj postup tak, aby byl přístup rychlejší a snazší, aniž by byl proces plně automatizován. Do konfiguračního souboru SSH můžete přidat položku:

Hostitelská bašta-výroba

  • Název hostitele
  • Uživatel
  • LocalForward localhost:port_number:port_number

Poté spusťte příkaz:

$ ssh bastion-production 

Nyní se můžete připojit v jediném kroku.

Tipy pro ochranu osobních údajů SSH

Je nutné udržovat databáze v bezpečí. Data jsou nejcennější měnou na světě as nárůstem ransomwaru a jiné kybernetické kriminality je selhání ochrany zákaznických dat nepřijatelné zpoždění.

Smyslem použití bastion serveru je především ochrana vaší databáze. Pár chybných kroků by však vaše servery nechalo otevřené, aby se k nim mohl kdokoli připojit.

Zde je několik tipů, jak zůstat v bezpečí při používání tunelů SSH pro připojení k serverům PostgreSQL:

Správně autentizovat vzdálené pracovníky

Pokud vaše organizace používá SSH ke vzdálenému připojení, pak každý musí znát základy digitální hygieny. Používejte ověřování na základě klíče, které je chráněno silným heslem. Dvoufázové ověření pro každé přihlášení je také dobrým místem, kde začít, a také zajistit, že veřejné klíče SSH jsou autentické.

Omezte přihlašování SSH pouze na ty, kteří je potřebují, a nastavte oprávnění, která odrážejí úkoly uživatelů.

Zakázat přesměrování portů

Pouze přibližně polovina vývojářů prosazuje postupy prevence předávání portů. Přesměrování portů vás může ponechat otevřené pro šifrovanou komunikaci s neschválenými uživateli a servery. Hackeři se tak mohou dostat přímo do vaší databáze. Filtrujte všechna svá připojení přes bastion server a před povolením připojení zvažte použití klepání portů.

Ujistěte se, že používáte nejnovější software a vaše připojení SSH odpovídají nejnovějším standardům shody.

Často kontrolujte

Kromě pravidelných manuálních auditů používejte nástroj průběžného monitorování. Omezte svá připojení pouze na ta, která jsou nezbytná, a nezapomeňte předem zkontrolovat, zda nedošlo ke změnám nastavení konfigurace, které nebyly schváleny.

Sledováním toho, kdo se přihlašuje a jakým druhem činnosti se zabývá, můžete omezit útočnou plochu a usnadnit hned od začátku určení zranitelnosti.

Závěr

Použití šifrovaných SSH tunelů je bezpečný způsob přístupu k databázím PostgreSQL ze vzdálených serverů. Proces zachovává šifrování po dobu trvání připojených relací. Přestože jsou automatizované programy SSH užitečné pro opakující se úkoly a další procesy administrativního systému, ruční otevření tunelu SSH může být výhodné. V takovém případě můžete snadno identifikovat veškerý provoz a komunikaci na rozdíl od použití automatizované verze nebo klienta.

Pokud používáte PostgreSQL nebo jakýkoli jiný systém správy databází SQL, musíte vědět, jak používat tunelování SSH. Může být zásadní pro monitorování a řízení systémových procesů a datových přenosů.

Protokoly SSH zajišťují vysoce zabezpečené připojení a dodržování zvláštních opatření pomůže zachovat integritu připojení k serveru.


  1. Aktualizace databázového poštovního účtu v SQL Server (T-SQL)

  2. Jak získat dotaz na atributy sloupců z názvu tabulky pomocí PostgreSQL?

  3. Chyba Postgres na insertu - CHYBA:neplatná sekvence bajtů pro kódování UTF8:0x00

  4. MayBeSQL přichází do Microsoft Access!