1. Koti
  2. /
  3. Aktuellt
  4. /
  5. Opas: Pilvipalvelun varmuuskopioinnin suojaus

Opas: Pilvipalvelun varmuuskopioinnin suojaus

Vi har utvecklat en guide för att våra Binero Cloud-kunder ska skydda säkerhetskopior med säker molnlagring. Denna guide gäller alla cloud-användare som vill säkerställa att deras säkerhetskopior inte kan raderas av misstag eller av obehöriga. I guiden beskriver vi en lösning som använder Binero Clouds objektlagring, som är API-kompatibelt med AWS S3, för att skapa en säker och låst backup-miljö.

Vertaa nykyistä kokoonpanoasi prosessiimme – ehkä voitte tehdä vielä jotain lisää varmuuskopioiden suojaamiseksi. Seuraa alla olevia ohjeita nähdäksesi, miten voit ottaa saman ratkaisun käyttöön ja parantaa tietojesi turvallisuutta.

Tausta

Asiakkaamme etsivät ratkaisua varmuuskopioiden turvalliseen säilyttämiseen. Vaatimuksena oli, että varmuuskopiot on suojattava niin, että niitä ei voi poistaa vahingossa tai että järjestelmään pääsevät henkilöt eivät voi poistaa niitä.

Turvallinen pilvitallennus objektitallennuksella Binero Cloudissa

Osana pyrkimystämme varmistaa asiakkaillemme aina turvallinen pilvitallennus, Binero Cloud tarjoaa AWS S3:n kanssa API-yhteensopivan objektitallennuksen. Tämä mahdollistaa objektien lukitsemisen. Toiminto edellyttää, että tiedostojen tallennuspaikka on konfiguroitu tätä varten.

Alla olevien vaiheiden avulla pystyimme varmistamaan, että pilvipalvelussa olevat tiedot olivat tallennettu turvallisesti – ja varmuuskopioissa oli ylimääräinen turva.

Esimerkki

Tässä on esimerkki siitä, miten poistetut kohteet jatkavat olemassaoloaan näkymättöminä käyttöliittymässä, eikä niitä voi poistaa ennen kuin määritetty määräaika on kulunut umpeen. Binero Cloudin kanssa vuorovaikutuksessa olevat komennot merkitään palauttamaan dataa JSON-muodossa jq-työkalun avulla.

Valmistelut

Luo todennustiedot

Todentamistiedot luodaan EC2-muodossa käytettäväksi aws-asiakasohjelmassa ja ne määritetään ympäristömuuttujiksi vuorovaikutusta varten objektivarastoon.

$ read -r AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY \
<<<$(jq -r '"\(.access) \(.secret)"' \
<(openstack ec2 credentials create -f json))

Lue API-osoite

Objektivaraston API-osoite haetaan Binero Cloudin palveluluettelosta. URL-osoitteen viimeinen osa poistetaan, koska se viittaa Swift-API:hin, joka ei ole ajankohtainen.

$ AWS_ENDPOINT_URL=$(openstack catalog list -f json \
| jq -r '.[] |select(.Type=="object-store") |.Endpoints[] |select(.interface=="public").url' \
| cut -d/ -f1-3)

Vie ympäristömuuttujat

Alla variabler görs tillgängliga för aws-klienten som måste vara installerad.
Även bucket-namnet lagras i en variabel.
Notera att aws endast används som en klient för att interagera med S3 i Binero Cloud ((AWS_ENDPOINT_URL -där all data lagras).

$ export AWS_ENDPOINT_URL AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY
$ export BACKUP_BUCKET=bup

Varmista valmistelut

För framtida manuell interaktion eller automation kan de tre AWS-specifika värdena lagras på filsystemet. Säkerställ att filrättigheterna inte är öppna. Filsystemskonfiguration ignoreras om den aktiva miljön är korrekt konfigurerad.

  1. API:n tiedot
    $ openstack ec2 credentials show $AWS_ACCESS_KEY_ID -c access
    -c secret
    +--------+----------------------------------+
    | Field | Value |
    +--------+----------------------------------+
    | access | d7855ef4cce44ec692c966e6cc10262d |
    | secret | fd3004c7e25240b2b07a931b76b757e5 |
    +--------+----------------------------------+
  2. Ympäristöön liittyvät tiedot:
    $ env | grep AWS
    AWS_SECRET_ACCESS_KEY=
    AWS_ACCESS_KEY_ID=
    AWS_ENDPOINT_URL=https://object-eu-se-1a.binero.cloud

    $ env |grep BACKUP
    BACKUP_BUCKET=bup
  3. Tiedot asiakkaassa
    $ aws configure list
    Name Value Type Location
    ---- ----- ---- --------
    profile None None
    access_key ****************262d env
    secret_key ****************57e5 env
    region None None

Luo bucket

En bucket skapas som vanligt, med en lagringspolicy och LocationConstraint. Vi väljer europe-se-1 i vårt exempel för att aktivera replikering om en policy som stöder det har valts.

$ aws s3api create-bucket \
--bucket $BACKUP_BUCKET \
--create-bucket-configuration LocationConstraint=europe-se-1 \
--object-lock-enabled-for-bucket

Konfigurointi lukitusmekanismi

Tallennustila voidaan määrittää kahteen eri vaihtoehtoon: COMPLIANCE tai GOVERNANCE. COMPLIANCE tarjoaa korkeimman turvallisuustason, sillä edes järjestelmänvalvojat eivät voi poistaa kohteita asetetun määräajan kuluessa, joka tässä tapauksessa on yksi vuorokausi.

$ aws s3api put-object-lock-configuration --bucket $BACKUP_BUCKET \
--object-lock-configuration '{"ObjectLockEnabled": "Enabled", "Rule": {"DefaultRetention": {"Mode": "COMPLIANCE", "Days": 1}}}'

Vahvista säiliö

Objektien lukitseminen perustuu objektien versiohallintaan.

Olemassaolo

$ aws s3api list-buckets | jq '.Buckets[] | select(.Name == env.BACKUP_BUCKET)'
{
"Name": "bup",
"CreationDate": "2024-04-10T10:28:18.146000+00:00"
}

Versiohallinta

$ jq .Status <(aws s3api get-bucket-versioning --bucket $BACKUP_BUCKET)
"Enabled"

Lataa tiedosto

Tiedosto tux.svg tallennetaan bucketiin.

$ aws s3 cp tux.svg s3://$BACKUP_BUCKET
upload: ./tux.svg to s3://bup/tux.svg

Vahvista objektin olemassaolo

Varmista, että objekti palautetaan ainoana objektina varastossa.

$ aws s3 ls $BACKUP_BUCKET
2024-04-10 12:31:11 49983 tux.svg

Sen jälkeen tarkastamme API:n tallentaman metadatan.

$ aws s3api list-objects --bucket $BACKUP_BUCKET
{
"Contents": [
{
"Key": "tux.svg",
"LastModified": "2024-04-10T10:31:11.177000+00:00",
"ETag": "\"8a6487c7872a9b825c8f2d4533067c6d\"",
"Size": 49983,
"StorageClass": "STANDARD",
"Owner": {
"DisplayName": "*******",
"ID": ""
}
}
],
"RequestCharged": null
}

Poista kohde

Kun objekti poistetaan, luodaan DeleteMarker. Objekti näyttää olevan poistettu, mutta on itse asiassa piilotettu. Huomaa VersionId, joka viittaa varmuuskopioon.

$ aws s3api delete-object --bucket $BACKUP_BUCKET --key tux.svg
{
"DeleteMarker": true,
"VersionId": "mc-Yai46SHaLrf4xqeJGgT1.3ry6bUZ"
}

Luetteloida kohteet säiliössä, joko alla tai muussa rajapinnassa, niin kohdetta ei ole enää olemassa – kohde tux.svg on ilmeisesti poistettu. Mitään ei palauteta – ei myöskään API:sta.

$ aws s3 ls $BACKUP_BUCKET 
$ aws s3api list-objects --bucket $BACKUP_BUCKET
{
"RequestCharged": null
}

Varmuuskopio on ehjä

Jos objektien versiot sen sijaan on lueteltu, voimme nähdä, että objekti on edelleen olemassa. Objekti poistettaessa luotiin siis DeleteMarker.

$ aws s3api list-object-versions --bucket $BACKUP_BUCKET
{
"Versions": [
{
"ETag": "\"8a6487c7872a9b825c8f2d4533067c6d\"",
"Size": 49983,
"StorageClass": "STANDARD",
"Key": "tux.svg",
"VersionId": "-IrCCqAYQt5ySttlBnI6VEw2jpw6f2.",
"IsLatest": false,
"LastModified": "2024-04-10T10:31:11.177000+00:00",
"Owner": {
"DisplayName": "*******",
"ID": ""
}
}
],
"DeleteMarkers": [
{
"Owner": {
"DisplayName": "*******",
"ID": ""
}
"Key": "tux.svg",
"VersionId": "mc-Yai46SHaLrf4xqeJGgT1.3ry6bUZ",
"IsLatest": true,
"LastModified": "2024-04-11T08:25:42.985000+00:00"
}
],
"RequestCharged": null
}

Palauttaa poistetut kohteet

DeleteMarkerin hieno ominaisuus on, että jos se poistetaan, tiedosto palautuu!

$ aws s3api delete-object --bucket $BACKUP_BUCKET --key tux.svg \
--version-id "mc-Yai46SHaLrf4xqeJGgT1.3ry6bUZ"
{
"DeleteMarker": true,
"VersionId": "mc-Yai46SHaLrf4xqeJGgT1.3ry6bUZ"
}
$ aws s3api list-objects --bucket $BACKUP_BUCKET
{
 "Contents": [
  {
 "Key": "tux.svg",
 "LastModified": "2024-04-10T10:31:11.177000+00:00",
 "ETag": "\"8a6487c7872a9b825c8f2d4533067c6d\"",
 "Size": 49983,
 "StorageClass": "STANDARD",
 "Owner": {
 "DisplayName": "*******",
 "ID": ""
  }
  }
 ],
 "RequestCharged": null
}

Jos tekijä yrittäisi poistaa varmuuskopion, vaikka hän tietäisi versioiden hallinnasta, yritys epäonnistuisi. Aikarajan umpeuduttua versio voidaan poistaa, mutta ei koskaan ennen sitä!

$ aws s3api delete-object --bucket $BACKUP_BUCKET \
 --key tux.svg \
 --version-id "\-IrCCqAYQt5ySttlBnI6VEw2jpw6f2\."

An error occurred (AccessDenied) when calling the 
DeleteObject operation: forbidden by object lock

Johtopäätös: varmuuskopioiden turvallinen pilvitallennus

Esimerkki osoittaa, kuinka varmuuskopiot voidaan tallentaa turvallisesti Binero Cloudin objektitallennustilaan ja varmistaa, että varmuuskopiot pysyvät ehjinä, vaikka niihin pääsisi käsiksi sivulliset. Turvallinen pilvitallennus – maailmanluokkaa!

Haluatko tietää lisää?

Meitä motivoi auttaa asiakkaitamme parantamaan innovaatiokykyään ja IT-kustannustehokkuuttaan. Ota yhteyttä asiantuntijoihimme, niin kerromme lisää.

Aiheeseen liittyvät artikkelit