notsobadatall zei:
Akkoord. Maar waarom spring je minder "serieus" om met persoonlijke gegevens als je voor shared hosting kiest?
Een aantal redenen die direct bij me opkomen:
- Je database staat gedeeld met alle andere accounts op die server (ze gebruiken één MySQL met daaronder — weliswaar user granted — databases)
- Je maakt je security afhankelijk van het control panel dat je hoster gebruikt. Als er een security flaw in het control panel zit en die exploit wordt gevonden kan en zal die binnen de kortste keren misbruikt worden. Bovendien worden panels zoals cPanel, Plesk en DirectAdmin zoveel gebruikt dat ze allemaal met een heel groot doelwit rondlopen.
- Stel dat het control panel vliegensvlug security patches releaset (wat min of meer het geval is), dan nog ben je afhankelijk van de hoster om de updates uit te rollen. Vooral bij de grote (lees: supergoedkope) hosters gebeurt dit zelden tot nooit binnen de maand.
- Je legt voor een groot stuk de privacy van de gegevens bij een derde partij die heel veel accounts moet hosten om uit de kosten te raken. Jij bent in heel wat gevallen verantwoordelijk terwijl je zelf geen controle hebt over de zaken die jouw verantwoordelijkheid uitmaken.
- Ook het OS moet up-to-date gehouden worden (ook daar weer security patches). Ook dat gebeurt niet zo frequent als je zou willen. Op Windows hosts moet in heel wat gevallen bovendien de server herstart worden en dan gaat je site down. Op je VPS kan je zelf beslissen wanneer je dat doet ('s avonds laat bv), bij shared hosting kan dat gelijk wanneer gebeuren.
- Als de hosting company beslist om een package up te daten en jouw software is daar niet compatibel mee, dan ga jij niet moeten zeggen: "ow, wacht eens een week of twee gasten, ik moet zorgen dat mijn code er klaar voor is" of "wacht efkes tot er een nieuwe versie van software x is, want de huidige is niet compatibel".
- Je eigen documenten draaien in een sandboxed user, maar heel wat van de serverprocessen niet. Iedereen gaat met andere woorden diezelfde processen gebruiken (MySQL, Apache, IIS, …
. Stel dat er een exploit ontdekt wordt waarmee een sandboxed user access kan krijgen tot de volledige server… ik moet er geen tekeningetje bij maken. Sandboxed users zijn al binnen op de server, ze moeten zelfs niet meer inbreken.
En al het bovenstaande zal door heel wat hosters als een uitzondering en "bijna onmogelijk" worden afgedaan, maar ik heb ze ofwel zelf ofwel bij concullega's al mogen ondervinden, van de eerste tot de laatste.
Samenvatting: privacy belangrijk, jij mogelijk aansprakelijk = vertrouw niet op een ander.
Een VPS is een volledig gesandboxte omgeving: een andere VPS kan in principe op geen enkele manier aan jouw VPS, zelfs al staat die op dezelfde server. Bovendien kan je zelf alles doen wat nodig is om alles veilig te houden: snel updaten, betere software installeren, …
Nu, een VPS brengt een reeks andere verantwoordelijkheden met zich mee, of dat nu een Linux based VPS of een Windows VPS is. Tenzij je voor managed VPS gaat (waarbij je weer afhankelijk bent van de goodwill van de hosting provider) ga je zelf moeten instaan voor het toespijkeren van je VPS of DS. En op zich is dat niet zo eenvoudig, het is helemaal niet zoals je desktop gaming PC firewall aanzetten en uit.
Om je een beeld te geven van hoe wij werken onder Linux: wij gebruiken
Chef om de volledige server setup te doen (die we oneindig kunnen herreproduceren). Die serversetup wordt op een lokale virtual machine (via
Vagrant) gedeployd op het exacte systeem dat we op onze production server gaan draaien. Op die VPS laten we dan een gans aantal (geautomatiseerde) scripts los: port scanners, hack tools, … Telkens als er een nieuwe mogelijke vulnerability ontdekt wordt gaan we daar een extra script voor toevoegen om onze setup af te checken daarop. Indien nodig worden de nodige aanpassingen gedaan. Als de lokale checks groen licht geven wordt dat naar de production server gedeployd. Dat heeft twee voordelen:
- We zijn er zeker van dat onze server weer veiliger is
- Onze downtime blijft beperkt en we weten zeker dat onze server achteraf nog zal draaien
Bovendien kan je op een VPS heel wat mogelijke points of failure gewoon weglaten als je ze niet nodig hebt (FTP bv. en altijd via SFTP met private-public key werken of via Capistrano over SSH deployen).
notsobadatall zei:
Bovengenoemd hosting bedrijf biedt bij shared hosting ook "dedicated IP" aan voor een extra kost per jaar. Doet dit er iets toe?
Je blijft in die shared omgeving draaien. Je communicatie tussen server en klant is versleuteld, maar je data staat nog altijd open en bloot gedeeld op een server waar tientallen tot honderden andere accounts draaien.