Voordat u IPsec door Shadowsocks vervangt, schrijf de ontbrekende taken op
Vergelijk doorsturen, private bereikbaarheid, autorisatie en beheer voordat u Shadowsocks als vervanging van IPsec voor een klein team ziet.
Drie diensten, één tunnel: een webapp, een database en een bestandsshare. Iemand stelt voor IPsec in te ruilen voor Shadowsocks, omdat dat eenvoudiger te beheren is. Het encryptiedebat dat volgt mist het punt, want de tunnel doet meerdere taken tegelijk en slechts één daarvan gaat over cijfers. Schrijf die taken op voordat u producten vergelijkt. De lijst is kort, en elk afzonderlijk punt kan de ruil ongeldig maken.
Begin met hoe verkeer wordt opgevangen
Het protocol heeft twee helften. Een lokaal component neemt een verbinding aan, versleutelt een stroom die met het bestemmingsadres begint en stuurt die naar een extern component. De externe helft opent een verbinding naar die bestemming en geeft de bytes door. UDP volgt dezelfde vorm met datagrammen. Dit is doorsturen voor de stromen die het opvangt, en het zegt niets over de stromen die het niet opvangt. Een toepassing die expliciet proxy spreekt is eenvoudig; al het andere heeft een adapter of routeringsregels nodig om überhaupt opgevangen te worden.
Documenteer de opvangmethode per toepassing voordat u iets anders vergelijkt. Verkeer dat niet wordt opgevangen, verlaat het netwerk via de gewone weg, en niemand merkt het tot een dienst zich buiten kantoor anders gedraagt.
Benoem elke bestemming en elk protocol
De externe helft moet elke interne dienst kunnen bereiken. Een werkende versleutelde sessie naar die host voegt geen route van daar naar de database toe, en laat interne namen niet op de client resolven. Noem adressen, poorten en protocollen in plaats van op te schrijven dat het LAN is inbegrepen.
Voeg de gevallen toe die nette ontwerpen breken: interne DNS, toepassingen die proxyinstellingen negeren, en elke stroom die vanaf de server richting de client moet worden gestart. Elk daarvan vraagt een uitdrukkelijke regeling, geen aanname.
Versleuteling is geen autorisatie
De gedocumenteerde AEAD-methoden in Shadowsocks bieden geauthenticeerde versleuteling, dus de hele familie als onveilig afdoen is onjuist. Even onjuist is het om dat feit de toegangsvraag te laten beantwoorden. Iemand moet beslissen wie welke dienst bereikt, hoe toegang wordt ingetrokken als iemand vertrekt, waar geheimen worden bewaard en welk component de grens handhaaft. Eén gedeeld geheim geeft elke houder dezelfde reikwijdte, en het vertrek van één persoon wordt een rotatie voor iedereen.
Leg de huidige IPsec-opstelling langs dezelfde meetlat. Het label bewijst niet dat de regels juist zijn, en een gepolijste versie van het ene ontwerp met een vage versie van het andere vergelijken beslist niets.
Noem de controles die er vandaag aan beide kanten zijn, en beoordeel dan met welke gaten u kunt leven.
Tel het beheerwerk
Elke vervanging heeft een eigenaar nodig voor clientpakketten, serverupdates, het roteren van inloggegevens en het afhandelen van storingen. Let op wat elke toepassing doet als de tunnel niet beschikbaar is: falen, opnieuw proberen via de lokale weg of wachten. Dat gedrag komt uit de uitrol, niet uit de protocolnaam.
Voor één webapp kan een smalle proxy genoeg zijn. Voor toegang tot het hele netwerk met rechten per persoon kosten de extra onderdelen meestal meer dan de tunnel die ze vervingen.
De beslissing is niet welk product veiliger klinkt. Het is welk ontwerp de genoemde taken afmaakt met controles die het team echt zal onderhouden.