it-swarm-eu.dev

Jaký je rozdíl v zabezpečení mezi připojením VPN a SSL?

Chtěl bych navrhnout aplikaci klient-server, kde je server umístěn na internetu. Předpokládám, že bych mohl nastavit připojení klient-server pomocí VPN (používá IPSec?) Nebo pomocí SSL připojení (možná https). Jaké jsou rozdíly mezi VPN/IPsec a SSL/https pro zabezpečení připojení klientského serveru přes internet?

65
Jonas

VPN znamená „virtuální privátní síť“. Jedná se o obecný koncept, který označuje část větší sítě (např. Internet obecně), která je logicky izolována od větší sítě pomocí hardwarových prostředků (což znamená „virtuální“): nejde o to, že používáme odlišné kabely a spínače; spíše se izolace provádí pomocí kryptografie.

SSL (nyní známý jako TLS) je technologie, která přijímá obousměrné transportní médium a poskytuje zabezpečené obousměrné médium. Vyžaduje, aby podkladové transportní médium bylo „většinou spolehlivé“ (pokud není napadeno, datové bajty jsou přenášeny v řádném pořadí, bez ztráty a opakování). SSL poskytuje důvěrnost, integritu (aktivní změny jsou spolehlivě detekovány) a některé ověřování (obvykle ověřování na serveru, případně vzájemné ověřování mezi klientem a serverem, pokud používáte certifikáty na obou stranách).

VPN a SSL tedy nejsou na stejné úrovni. VPN implementace vyžaduje v určitém okamžiku nějakou kryptografii. Některé implementace VPN skutečně používají SSL, což má za následek vrstvený systém: VPN přenáší pakety IP (virtuální sítě) jejich serializací na připojení SSL, které samo používá jako transportní médium TCP), který je postaven na IP paketech (na fyzické nechráněné síti). IPsec je další technologie, která je v paketech více integrována, což potlačuje některé z těchto vrstev, a je tedy o něco účinnější (méně režijní šířky pásma). ruka IPsec musí být spravována docela hluboko v síťovém kódu operačního systému, zatímco VPN založená na SSL potřebuje jen nějaký způsob, jak zachytit příchozí a odchozí provoz, zbytek může být v uživatelském softwaru.

Jak chápu vaši otázku, máte aplikaci, kde některé stroje musí komunikovat přes internet. Máte určité požadavky na zabezpečení a uvažujete o použití SSL (přes TCP přes IP) nebo možná HTTPS (což je HTTP-over-SSL-over-TCP-over-IP), nebo nastavení VPN mezi klientem a serverem a použití „plain“ TCP v této soukromé síti (bod VPN je to, že vám poskytuje zabezpečenou síť, kde se již nemusíte starat o důvěrnost)) „U SSL musí váš připojovací kód vědět o bezpečnosti, z programovacího hlediska neotevřete připojení SSL, jako by to bylo„ pouze soket “. Některé knihovny ho relativně zjednodušují, ale přesto musíte spravovat zabezpečení na úrovni aplikace: VPN je na druhé straně nakonfigurována na úrovni operačního systému, takže zabezpečení není mezi vaší aplikací v klientovi a vaší aplikací na serveru, ale mezi operačním systémem klienta a operačním systémem serveru : to není stejný bezpečnostní model, ačkoli v mnoha situacích se rozdíl ukáže jako nepodstatný.

V praxi VPN znamená, že v operačním systému klienta je třeba provést určitý krok konfigurace. Je to docela invazivní. Použití dvou aplikací založených na VPN na stejném klientovi může být problematické (z hlediska bezpečnosti, protože klient pak funguje jako most, který spojuje dvě VPN, které by měly být nominálně izolovány od sebe navzájem a také v praxi kvůli kolizím v adrese prostor). Pokud je klient zákazníkem, nechat ho nakonfigurovat VPN správně vypadá jako nemožný úkol. Nicméně, VPN znamená, že aplikace nemusí být informovány o zabezpečení, takže je mnohem snazší integrovat software třetích stran do vaší aplikace.

77
Thomas Pornin

Pokud nejsou správně nakonfigurovány, mají problémy se zabezpečením. Nejdříve ale začneme s některými definicemi:

Cisco má dobrou definici VPN:

VPN může mít několik podob. VPN může být mezi dvěma koncovými systémy nebo může být mezi dvěma nebo více sítěmi. VPN lze sestavit pomocí tunelů nebo šifrování (v podstatě na jakékoli vrstvě zásobníku protokolů), nebo obojí, nebo alternativně sestavit pomocí MPLS nebo jedné z metod „virtuálního směrovače“. VPN se může skládat ze sítí připojených k síti poskytovatele služeb prostřednictvím pronajatých linek, Frame Relay nebo ATM, nebo VPN se může skládat z účastníků vytáčeného připojení připojených k centralizovaným službám nebo jiných účastníků vytáčeného připojení. https://www.Cisco.com/c/en_in/products/security/vpn-endpoint-security-clients/what-is-vpn.html

Pokud jde o SSL:

Protokol SSL (Secure Sockets Layer), známý také jako TLS (Transport Layer Security), je protokol, který umožňuje dvěma programům vzájemně bezpečně komunikovat. Stejně jako TCP/IP, SSL umožňuje programům vytvářet „sokety“, koncové body pro komunikaci a navazovat spojení mezi těmito sokety. Protokol SSL, který je postaven na protokolu TCP, však přidává další možnosti šifrování. http://www.boutell.com/newfaq/definitions/ssl.html

Ve vztahu k vaší otázce je hlavní rozdíl v tom, že SSL často používá prohlížeč k šifrování dat mezi koncovým uživatelem a serverem a běžně se používá v oblastech webů, které vyžadují ochranu důvěrnosti a integrity dat.

VPN/IPSEC vyžaduje specifický software klienta VPN a obvykle slouží k poskytování vzdáleného přístupu k systémům nebo sítím. Existuje také možnost jít za L2TP nebo L2F místo IPSEC.

SSL VPN se však stále častěji vyskytují jako prostředek k zajištění přístupu k sítím/systémům prostřednictvím webového prohlížeče. Tento přístup má mnoho výhod, protože k zabezpečení zabezpečeného připojení používá běžný webový prohlížeč. Podrobnost tohoto přístupu je rovněž dobrým způsobem řízení přístupu ke konkrétním aplikacím.

Pokud jde o bezpečnostní otázky -

SSL -

  • Slabé bezpečnostní cyphery by mohly vést ke schopnosti provádět útoky typu „uprostřed“ na koncového uživatele, což by vedlo ke ztrátě důvěrnosti/integrity dat.

    • Špatně nakonfigurovaná kombinace obsahu HTTP/HTTPS by také mohla vést ke ztrátě důvěrnosti/integrity dat.

IPSEC -

15
David Stubley

Zde jsou velmi dobré odpovědi, nebudu opakovat to, co již bylo řečeno.
Jeden bod, o kterém jsem zjistil, že chybí - SSL je však mnohem jednodušší nastavit ad hoc, zejména pokud nemáte požadavek na klientské certifikáty.
IPsec, na druhé straně, vždy vyžaduje klientské certifikáty (za předpokladu normálního, typického nastavení) a také existují počáteční potíže s počátečním nastavením a distribucí.

Jako takový je IPsec obvykle vhodnější pro řízenou síť a méně přes divoký neznámý internet. Další informace najdete v této další otázce: „ fakta o IPsec (Internet Protocol Security) “.

Když se tedy vrátíme ke své skutečné otázce, téměř ve všech případech, kdy server uvádíte na internet, neočekáváte od svých uživatelů připojení pomocí VPN. (Výjimky samozřejmě existují.)
Místo toho prostě jednoduše nastavte SSL SSL na serveru, nasměrujte na ně své klienty a je dobré jít (pouze se ujistěte, že certifikát výslovně ověřujete, v závislosti na tom, jaký jazyk/technologie/knihovna ' znovu používám ...)

7
AviD

Díváte se na tyto možnosti, jak vytvořit bezpečnou VPN? Nasazení protokolu SSL je obecně snazší a lépe podporovatelné u typu VPN typu desktop-to-network, například když se zaměstnanec doma připojuje k podnikové síti. Pokud provádíte složitější nasazení, například VPN šifrovanou sítí mezi sítěmi (např. Mezi dvěma různými organizacemi), poskytne IPSEC lepší kontrolu a více možností přizpůsobení.

Existuje slušné bílá kniha na téma Juniper Networks, i když by to mohlo být zkresleno na silné stránky jejich produktů.

5
Eugene Kogan

Rozdíl je něco jako rozdíl mezi kruhem a čtvercem (oba jsou tvary, ale velmi se liší). Oba zabezpečují komunikaci, ale dělají to na různých úrovních a různými způsoby. IPSEC je bezdrátové šifrování a autorizace, zatímco SSL je specifické pro aplikaci.

IPSEC má řízení přístupu, zatímco SSL ne.

Můžete být konkrétnější s tím, na co se snažíte přijít?

2
Steve

To by mohla být velmi dlouhá odpověď, ale zkusím tu krátkou.

Při použití protokolu https váš prohlížeč (funguje jako klient SSL) zašifruje toto připojení pouze k webovému serveru.

Pokud používáte VPN, potřebujete speciálního klienta a vytvořte tunel mezi klientem a serverem. Poté můžete nakonfigurovat, který provoz prochází tunelem. Může to být všechno nebo jen váš provoz http.

Pokud chcete nastavit pouze aplikaci klient/server, která může komunikovat s http, nejjednodušším řešením by měl být provoz https, pokud je třeba jej zašifrovat. Je mnohem složitější nastavit a udržovat VPN.

2
Christian

Závisí to na modelu vaší hrozby, na povaze protokolu klientského serveru, který potřebujete, a na vašich zákaznících.

Je to určeno pro nepřehledné koncové uživatele? Poté použijte SSL - v tomto okamžiku složitost VPN jen vypne mnoho potenciálních uživatelů.

Chcete nasadit klienta jako aplikaci prohlížeče (perahps s javascriptem)? Poté se https/ssl znovu jeví jako cesta.

Potřebuje server někdy asynchronně informovat klienta o něčem? HTTPS pak nemusí být to, co chcete (i když to lze učinit).

Jak velké riziko je phishing? Pokud by útočníci mohli snadno přilákat lidi jako MITM, SSL je pravděpodobně lepší, protože autentizuje každý server vůči klientovi. Typická VPN, jakmile je nastavena, uživateli nepomůže vyhnout se útočníkovi, který se dostal do jiných počítačů na VPN. To by pravděpodobně nebylo velké riziko, ale opět záleží na tom, co děláte.

Pokud to nasazujete v cloudu (klient i server), můžete získat téměř takovou síť VPN, která může řešit některé velmi běžné hrozby.

2
nealmcb

Nejsem daleko od odborníka na bezpečnost, ale myslím si, že nejdůležitější rozdíl mezi nimi není v ostatních odpovědích.

Komunikace přes VPN probíhá takto:

HTTP client <-[raw]-> VPN client
  <-[encrypted]-> 
VPN server <-[raw]-> HTTP server

HTTPs to takto:

HTTP client
  <-[encrypted]-> 
HTTP server

Díky VPN mohou tedy nechráněná data cestovat v místní síti klientů a v místní síti serverů. Pokud těmto sítím zcela nedůvěřujete, je rozumné používat HTTPs. Uvědomte si, že páry VPN a HTTP klient-klient, pár server-server nemusí být nutně na stejných počítačích, např. směrovače lze nakonfigurovat jako servery VPN nebo klienty.

Protože tyto technologie fungují na jiné úrovni, vzájemně se nevylučují, takže můžete použít obě možnosti, pokud chcete jinou vrstvu ochrany a nevadí vám pokles výkonu, nebo můžete použít pouze jednu z nich, která lépe vyhovuje vašim potřebám. Pokud vím, obě technologie jsou považovány za bezpečné, pokud jsou správně nakonfigurovány.

0
inf3rno