Backup och säkerhet

Aug 29th, 2009 by Erik in Säkerhet

Nu ska jag reda ut ett “problem” som jag inte trodde jag hade förens jag tänkte till. Hur man gör backups säkert.

Fram tills nu så har jag kört med ett litet bashskript som heter backupmysql-2.sh, scriptet är ganska lätt:

  1. Dumpa valda databaser mha. mysqldumptval
  2. gzip:a .sql-filerna
  3. Ladda upp dom på en annan backup-server (ftp)
  4. Lägg också kopior lokalt, och ta bort de som är > x antal dagar gamla.

Detta verkar ju ganska bra, men faktum är att om någon skulle bryta sig in på server och gå in för att sabba så kan man lika gärna köra utan backup. Denna metod är bra backup mot t.ex. diskcrasher och liknande, men får man intrång på servern är man körd, varför då detta? Jo, i bashfilen lagras nämligen lösenord och inloggningsuppgifter till servern dit kopiorna blir uppladdade. Hittar den som gör intrång detta kan den alltså gå in och ta bort även dessa kopior, och därför är backupen värdelöst.

Hur löser man detta då? Jo, det är enkelt, vi börjar med samma steg igen:

  1. Dumpa valda databasertval
  2. gzip:a .sql-filern
  3. Ta bort gamla filer

Sen, på den andra servern som ska ha backuperna

  1. Hämta kopiorna med hjälp av t.ex. ftp
  2. Ta bort gamla filer.

Detta är alltså en lösning som kräver att båda servrarna har varsitt cronjob inlagt (förslagsvis en liten tid emellan så första servern är klar). Men med denna teknik så har man kvar kopiorna även om den första servern blir hackad och kopiorna därifrån tas bort.

Nackdelen är att om backupservern blir hackad så kan man komma åt huvudservern, men om man inte kör massa intrångsvänlig skit så borde inte det hända. Dessutom kan man ju strypa åt rättigheterna för användaren som backupservern loggar in med.

No Comments