it-swarm-eu.dev

Kdy je vhodné připojení k šifrování databáze SSL?

Řekněme, že mám webový server, který nastavím, a poté databázový server.

Komunikují však lokálně a stojí za bránou firewall. Podle mého názoru zde není potřeba žádný SSL, ne?

Jediný čas, jak použít SSL k šifrování databázového připojení, by byl mezi webovým serverem, který existuje na serveru, který vzdáleně komunikuje s databázovým serverem, který je umístěn někde jinde, že?

Už jsem viděl pokyny pro zabezpečení před tím, než obhajuji zabezpečení připojení k databázi pomocí protokolu SSL, ale nebylo jasné, kdy jej použít.

20
Dexter

Vypadá to, že obě předchozí odpovědi na tuto otázku víceméně důrazně doporučují zapnout SSL, ale rád bych navrhl jiný úhel uvažování (i když nedoporučuji SSL nezapínat).

Dva klíčové body při posuzování, zda potřebujete SSL, nebo ne, jsou (a) to, co vás SSL chrání, a (b) jaký je model vlákna: výčet potenciálních hrozeb.

SSL/TLS chrání přenos informací mezi klientem (v tomto případě vaším webovým serverem) a serverem (v tomto případě vaším databázovým serverem) před neoprávněnou manipulací a odposlechem kohokoli v síti mezi nimi (včetně těch, kteří se k nim mohou dostat dva stroje).

Chcete-li posoudit, zda je SSL užitečný, musíte předpokládat, že útočník je schopen provést útok, který je navržen tak, aby vás chránil před. To znamená, že by útočník musel být schopen čichat pakety v síti nebo na obou počítačích.

  • Pokud někdo umí čichat pakety z databázového serveru, pravděpodobně bude mít na tento server přístup root/admin. Používání SSL/TLS v této fázi nijak nezmění.

  • Pokud je někdo schopen čichat pakety v síti mezi webovým serverem a databázovým serverem (vyjma těchto počítačů), použití SSL/TLS jim zabrání vidět/změnit obsah aplikace. Pokud si myslíte, že by to mohlo být možné, zapněte SSL. Způsob, jak to zmírnit, by bylo použití dvou síťových karet na webovém serveru: jedna do vnějšího světa a druhá do vnitřní LAN, kde je server DB (bez dalších strojů nebo způsobem, který byste s nimi mohli považovat za všechny jako jeden větší stroj). Tato síť tvořící celou webovou farmu nebo klastr (chcete-li ji nazvat) by byla fyzicky oddělena a měla by pouze zvnějšku jeden vstupní bod: samotný webový server (stejný princip pro zpětný proxy proxy uzel).

  • Pokud je někdo schopen čichat pakety na hlavním uzlu (webovém serveru) sám, je pravděpodobné, že tam bude mít přístup root (procesy spuštěné uživateli bez oprávnění root na počítači, neměli by být schopni číst pakety, které nejsou pro ně). V tomto případě byste stejně měli velký problém.

    Pochybuji, že povolení SSL skutečně vás v tomto scénáři hodně ochrání.

    Někdo s přístupem root na webovém serveru bude moci číst konfiguraci vaší aplikace, včetně hesel DB, a měl by být schopen se k serveru DB připojit legitimně, dokonce i pomocí SSL.

    V protějšku, pokud jste předpokládali, že to zaručuje použití SSL (protože by mohlo být těžší podívat se na to, co procesy skutečně dělají, než jen nahlížet na síť, i když máte na počítači kořenovou kontrolu), znamenalo by to také byste se chtěli obrátit na komunikaci s localhostem (např. pokud máte na vašem webovém serveru jiné služby, nebo v situaci, kdy byl DB server i webový server na stejném počítači).

Není to nutně špatná věc, abyste byli opatrní, ale musíte položit otázku v souvislosti s tím, co by útočníci mohli udělat, kdyby byli v pozici, aby mohli provést útok proti tomu, co vás chrání bezpečnostní opatření (SSL), a to, zda by jim toto bezpečnostní opatření bránilo v dosažení jejich cíle, jakmile bude v této pozici.

Myslím, že okno je tam vlastně docela úzké (za předpokladu, že vaše back-end síť je skutečně zabezpečená, fyzicky, nejen nějakým firewallem mezi několika počítači).

21
Bruno

Pokud místní síť, která zahrnuje databázový server a klienty, může zahrnovat další procesy, měli byste šifrovat spojení mezi nimi.

Je tomu tak téměř vždy, protože i když předpokládáte, že místní síť je neproniknutelná (neměli byste), kromě databázového klienta a serveru jsou obvykle

  1. administrátoři, kteří se potřebují přihlásit a opravit problémy nebo provádět aktualizace
  2. sběratelé protokolů, kteří potřebují chytit soubory bez citlivých dat a přesunout je někam jinam
  3. replikátory, které potřebují kopírovat databázový obsah pro zálohování mimo lokalitu nebo pro podávání velkých tabulek s nízkou citlivostí do systémů těžby dat
  4. monitorů, které musí zkontrolovat, zda jsou ostatní stále naživu

Z nich pouze replikátoři musí mít přístup k tabulkám s citlivými daty, ale kterýkoli z těchto procesů může být narušen špatnými aktéry ve vašem oddělení IT.

Šifrování všech kanálů, které přenášejí citlivá data, udržuje čestné lidi čestné, poskytuje vám hloubkovou obranu a pomáhá vám zúžit vyhledávání, když se vyskytnou problémy.

10
Mike Samuel

Nezapomeňte, že kdokoli, kdo je ve stejné síti jako váš server, by mohl být schopen čichat provoz nebo provádět útok typu člověk uprostřed. Protokol SSL by tomu měl zabránit, pokud bude správně nastaven. Měli byste také nastavit bránu firewall na databázovém serveru a povolit připojení pouze z důvěryhodných adres IP.

Mým návrhem je zapnout jej a poté vypnout pouze pokud si myslíte, že to způsobuje výkon (nebo jiné) problémy. Tímto způsobem jste výrazně snížili své útočné vektory.

Ve skutečnosti bude režie šifrování SSL v síti minimální, zejména ve srovnání se zatížením zpracováním dotazů SQL. Optimalizací dotazů a konfigurace výkonu serveru byste dosáhli vyššího výkonu než deaktivací SSL.

4
Polynomial

Řekněme, že mám webový server, který nastavím, a pak databázový server ... místně komunikující a za firewallem

Necháme stranou skutečnost, že tato architektura je z hlediska dostupnosti naštvaná ...

  • důvěřujete všem a všem „za firewallem“?
  • věříte, že váš firewall je dokonalý?
  • můžete předpovídat, že se nikdy nebudete muset vzdáleně připojit, abyste podporovali vyšší dostupnost, migrovali datové centrum nebo prováděli zálohu?
  • je výchozí mechanismus autentizace pro dbms tak bezpečný, že jej nelze rozvrátit?
  • máte proces nasazení, který zajišťuje, že pověření databáze nelze ohrozit?

Pokud vaše odpověď na některou z těchto odpovědí není jednoznačná, můžete využít další záruky použití vhodně nakonfigurovaného připojení SSL. Náklady na výkon jsou zanedbatelné, i když se nespoléhají na trvalá připojení (i když to může být vše kromě eliminace směrováním provozu přes trvalý tunel). Jde jen o jednoduché vypracování, pokud náklady na konfiguraci SSL (pár hodin práce) jsou více než odpovědnost.

0
symcbean