Nackdelen med en VPS är att du själv administrerar den. Fördelen är också att det är du själv som administrerar den. Du kan göra vad du vill på servern, men du måste ha kunskapen för att drifta den. Ingen kommer ge dig en färdig konfiguration för hur du får servern så säker som möjligt. Det krävs att du har kunskapen för hur du säkrar servern.
Lite tips:
* mod_security skyddar mot vanliga injektionsattacker och liknande
* Kör webbservern som en annan användare än FTP-användaren, då kan du dela ut skrivrättigheter enbart till de filer som webbservern behöver kunna skriva till
* Använd överhuvudtaget inte FTP, använd SCP istället
* Aktivera query-cachen i MySQL.
* Kör SSH på en annan port
* Stäng alla portar i brandväggen som du inte behöver
* Stäng definitivt port 25 i brandväggen, och ställ in din MTA på att bara lyssna på localhost-gränssnittet
* Du kan köra en reverse-proxy på samma maskin. Då ställer du in Apache på att lyssna på en annan port och kör reverse-proxymjukvaran på port 80.
* Se till att bara du kan nå databasen. Om du använder ett programlokalt installerat på din dator bör du köra anslutningen genom en SSH-tunnel, eller allra minst ställa in iptables så att bara din IP kan ansluta till port 3306. Kör du phpMyAdmin så bör du inte köra det på adressen
http://domän.com/phpmyadmin/
* Dela inte ut sudo-rättigheter i onödan. Se till att man måste ange sitt lösenord för att köra sudo.
Det finns egentligen oändligt mycket man kan tänka på. Allt mynnar ut i att du ska ha ett grundläggande säkerhetstänk. Försök tänka som hackaren så att du ser potentiella säkerhetsrisker, och bygg bort säkerhetsriskerna. Utgå också från att du KOMMER bli hackad (någon kommer lyckas ladda upp ett skript, någon kommer komma åt din databas) och försök begränsa skadan som kan uppkomma i sådana situationer.
All sådan här kunskap hyr du om du köper dig ett webbhotellkonto. Det finns managed VPS-lösningar också, där du betalar för kunskapen, men dessa kostar givetvis mer pengar än en server du driftar själv.