Μετάβαση στο περιεχόμενο

Οδηγός

Ανήκει σε: Σύλλογος & λογαριασμός

Αυτόματη εξαγωγή: κρυπτογραφημένα αντίγραφα ασφαλείας

Με την αυτόματη εξαγωγή (πακέτο Pro) η πλήρης εξαγωγή του συλλόγου σας φτάνει σε εσάς τακτικά – την παραλαμβάνει ένα σενάριο ή την ανεβάζουμε εμείς στον δικό σας προορισμό. Είναι πάντα κρυπτογραφημένη με το δικό σας κλειδί: όποιος υποκλέψει το αρχείο δεν μπορεί να το διαβάσει, και σε εμάς παραμένει το πολύ 24 ώρες.

10 λεπτά ανάγνωσης

Πρώτα απ’ όλα: χωρίς ιδιωτικό κλειδί δεν υπάρχει αντίγραφο

  • Κάθε αυτόματη εξαγωγή κρυπτογραφείται με το age. Ανοίγει μόνο με το ιδιωτικό σας κλειδί (το αρχείο club-backup.key) ή με τον κωδικό πρόσβασής σας. Αν χαθούν και τα δύο, όλα τα αντίγραφα είναι αδιάβαστα – ούτε εμείς μπορούμε να τα ανακτήσουμε.
  • Φυλάξτε γι’ αυτό το ιδιωτικό κλειδί σε δύο ασφαλή μέρη (π.χ. κρυπτογραφημένο USB στο χρηματοκιβώτιο του συλλόγου και στον διαχειριστή κωδικών του διοικητικού συμβουλίου) – αλλά όχι στον υπολογιστή ή στο NAS όπου βρίσκονται τα αντίγραφα.
  • Την αυτόματη εξαγωγή τη ρυθμίζει μόνο ο κάτοχος. Κάθε ρύθμιση επιβεβαιώνεται με κωδικό που στέλνουμε στη διεύθυνση του κατόχου.

Πώς λειτουργεί

  • Πακέτο Pro: η αυτόματη εξαγωγή ανήκει στο πακέτο Pro. Η χειροκίνητη πλήρης εξαγωγή με κωδικό μίας χρήσης παραμένει δωρεάν σε κάθε βαθμίδα.
  • Δύο τρόποι: ένα κλειδί εξαγωγής επιτρέπει σε ένα σενάριο στη δική σας πλευρά (Χρονοδιάγραμμα εργασιών των Windows, Synology, Linux) να παραλαμβάνει την εξαγωγή. Ή ορίζετε έναν προορισμό (WebDAV/Nextcloud, SFTP, S3) και ανεβάζουμε εμείς την εξαγωγή σύμφωνα με χρονοδιάγραμμα.
  • Το πολύ μία αυτόματη εξαγωγή την ημέρα ανά σύλλογο – παραλαβή και ανέβασμα μαζί.
  • Πάντα κρυπτογραφημένη: η εξαγωγή κρυπτογραφείται ήδη σε εμάς, πριν αποθηκευτεί. Μετά την παραλαβή ή το ανέβασμα τη διαγράφουμε αμέσως, αλλιώς μετά από 24 ώρες.
  • Μετά από κάθε αυτόματη εξαγωγή ο κάτοχος λαμβάνει e-mail με ώρα, μέγεθος και διεύθυνση – αν θέλει, αντί γι’ αυτό μια εβδομαδιαία σύνοψη.
  • Η ρύθμιση γίνεται στη Διαχείριση (/admin) στο «Οργανισμός» → «Βασικά στοιχεία» → «Πλήρης εξαγωγή» → καρτέλα «Αυτόματα», στο WebApp ή στην εφαρμογή στο «Ρυθμίσεις» → «Περιοχή admin» → «Βασικά στοιχεία».

Εγκατάσταση του age

  1. Το age είναι ένα μικρό, ελεύθερο πρόγραμμα κρυπτογράφησης (age-encryption.org). Το χρειάζεστε στον υπολογιστή όπου δημιουργείτε το κλειδί και ανοίγετε τα αντίγραφα – όχι στο NAS που απλώς τα παραλαμβάνει.
  2. Windows: στη γραμμή εντολών ή στο PowerShell πληκτρολογήστε «winget install FiloSottile.age».
  3. macOS: «brew install age». Linux: μέσω της διαχείρισης πακέτων, π.χ. «sudo apt install age».
  4. Έλεγχος: το «age --version» δείχνει την εγκατεστημένη έκδοση.

Δημιουργία κλειδιού

age-keygen -o club-backup.key
Public key: age1…   ← αυτή τη γραμμή καταχωρείτε στη Διαχείριση

Ρύθμιση κρυπτογράφησης – βήμα προς βήμα

  1. Ανοίξτε την καρτέλα «Αυτόματα» της πλήρους εξαγωγής και κάντε κλικ στο «Ρύθμιση κρυπτογράφησης».
  2. Επιλέξτε «Δημόσιο κλειδί (συνιστάται)» και επικολλήστε τη γραμμή που αρχίζει με age1.
  3. Κάντε κλικ στο «Δημιουργία αρχείου δοκιμής». Αποθηκεύεται το μικρό αρχείο test-automatischer-export.txt.age.
  4. Αποκρυπτογραφήστε το στη δική σας πλευρά: «age -d -i club-backup.key test-automatischer-export.txt.age». Εμφανίζεται μια λέξη ελέγχου όπως K7Q4-M2XD.
  5. Πληκτρολογήστε τη λέξη ελέγχου και κάντε κλικ στο «Επιβεβαίωση λέξης ελέγχου». Στέλνουμε κωδικό στον κάτοχο· με τον κωδικό η κρυπτογράφηση ενεργοποιείται.
  6. Έτσι είναι βέβαιο ότι μπορείτε πράγματι να ανοίξετε τα αντίγραφά σας – ένα λάθος αντιγραμμένο κλειδί φαίνεται τώρα, όχι σε ώρα ανάγκης.

Κωδικός πρόσβασης αντί για κλειδί

Αντί για κλειδί μπορείτε να χρησιμοποιήσετε και κωδικό πρόσβασης με τουλάχιστον 12 χαρακτήρες. Το αρχείο ανοίγει τότε με «age -d αρχείο.zip.age»· το age ζητά τον κωδικό.

Λάβετε υπόψη: για να κρυπτογραφήσει, ο διακομιστής μας πρέπει να γνωρίζει τον κωδικό. Τον αποθηκεύουμε μόνο κρυπτογραφημένο, αλλά ο πάροχος θα μπορούσε τεχνικά να τον αποκρυπτογραφήσει. Με δημόσιο κλειδί αυτό αποκλείεται – γι’ αυτό συνιστούμε το κλειδί.

Δημιουργία κλειδιού εξαγωγής για σενάριο

  1. Στο «Κλειδιά εξαγωγής» πληκτρολογήστε μια ονομασία, π.χ. «NAS στην έδρα του συλλόγου», και επιλέξτε τη διάρκεια (το πολύ 12 μήνες).
  2. Προαιρετικά: αν έχετε σταθερή διεύθυνση IP, καταχωρίστε τη στο «μόνο από αυτές τις διευθύνσεις IP» – τότε το κλειδί λειτουργεί μόνο από εκεί.
  3. Κάντε κλικ στο «Δημιουργία κλειδιού εξαγωγής» και πληκτρολογήστε τον κωδικό από το e-mail.
  4. Το κλειδί εμφανίζεται μόνο μία φορά. Αποθηκεύστε το αμέσως σε ασφαλές μέρος για το σενάριο – όχι μέσα στο ίδιο το σενάριο.
  5. 30 και 7 ημέρες πριν από τη λήξη σάς υπενθυμίζουμε με e-mail. Το «Ανανέωση» δημιουργεί νέο κλειδί· το παλιό ισχύει ακόμη 7 ημέρες, ώστε να αλλάξετε το σενάριο με την ησυχία σας.

Windows: σενάριο για το Χρονοδιάγραμμα εργασιών (PowerShell)

# backup-export.ps1 – παραλαμβάνει την κρυπτογραφημένη πλήρη εξαγωγή
# Install-Module CredentialManager -Scope CurrentUser   (einmalig / once)
# New-StoredCredential -Target 'drinklist-export' -UserName export -Password '<Export-Schlüssel / export key>' -Persist LocalMachine
$key  = (Get-StoredCredential -Target 'drinklist-export').GetNetworkCredential().Password
$base = 'https://drinklist.app/api/v1'
$h    = @{ Authorization = "Bearer $key" }
$export = Invoke-RestMethod -Method Post -Uri "$base/exports" -Headers $h
do { Start-Sleep -Seconds 30; $state = Invoke-RestMethod -Uri "$base/exports/$($export.id)" -Headers $h } while ($state.status -in 'Waiting','Running')
if ($state.status -ne 'Ready') { throw "Export: $($state.status)" }
$file = "D:\Backup\Verein\komplettexport-$(Get-Date -Format yyyy-MM-dd).zip.age"
Invoke-WebRequest -Uri "$base/exports/$($export.id)/download" -Headers $h -OutFile $file
# Άνοιγμα μόνο όταν χρειάζεται, σε αξιόπιστο υπολογιστή: age -d -i club-backup.key -o export.zip <αρχείο>

Ρύθμιση του Χρονοδιαγράμματος εργασιών των Windows

  1. Αποθηκεύστε το σενάριο ως backup-export.ps1, π.χ. στο C:\Scripts. Αποθηκεύστε μία φορά το κλειδί εξαγωγής με New-StoredCredential στη Διαχείριση διαπιστευτηρίων των Windows (γραμμές 2 και 3 του σεναρίου).
  2. Ανοίξτε το Χρονοδιάγραμμα εργασιών → «Δημιουργία εργασίας» → όνομα «Αντίγραφο συλλόγου», «Εκτέλεση είτε ο χρήστης έχει συνδεθεί είτε όχι».
  3. Έναυσμα: καθημερινά, π.χ. 03:30. Ενέργεια: πρόγραμμα «powershell.exe», ορίσματα «-NoProfile -ExecutionPolicy Bypass -File C:\Scripts\backup-export.ps1».
  4. Εκτελέστε το μία φορά χειροκίνητα και ελέγξτε ότι εμφανίζεται ένα αρχείο *.zip.age στον φάκελο αντιγράφων.

Synology/NAS ή Linux: σενάριο για cron

#!/bin/sh
# backup-export.sh – παραλαμβάνει την κρυπτογραφημένη πλήρη εξαγωγή
set -eu
KEY=$(cat /volume1/scripts/.drinklist-export-key)   # chmod 600
BASE=https://drinklist.app/api/v1
ID=$(curl -fsS -X POST -H "Authorization: Bearer $KEY" "$BASE/exports" | sed -n 's/.*"id":\([0-9]*\).*/\1/p')
while :; do
  STATUS=$(curl -fsS -H "Authorization: Bearer $KEY" "$BASE/exports/$ID" | sed -n 's/.*"status":"\([A-Za-z]*\)".*/\1/p')
  [ "$STATUS" = "Ready" ] && break
  case "$STATUS" in Waiting|Running) sleep 30 ;; *) echo "Export: $STATUS" >&2; exit 1 ;; esac
done
curl -fsS -H "Authorization: Bearer $KEY" -o "/volume1/backup/verein/export-$(date +%F).zip.age" "$BASE/exports/$ID/download"
# Το NAS δεν χρειάζεται age – τα αρχεία ανοίγουν μόνο σε αξιόπιστο υπολογιστή

Synology: ρύθμιση του Χρονοδιαγράμματος εργασιών

  1. Γράψτε το κλειδί εξαγωγής σε ένα αρχείο (π.χ. /volume1/scripts/.drinklist-export-key) και κάντε το αναγνώσιμο μόνο για τον χρήστη αντιγράφων με «chmod 600».
  2. Αποθηκεύστε το σενάριο ως /volume1/scripts/backup-export.sh και κάντε το εκτελέσιμο («chmod 700»).
  3. Πίνακας ελέγχου → Χρονοδιάγραμμα εργασιών → Δημιουργία → Προγραμματισμένη εργασία → Σενάριο καθορισμένο από τον χρήστη· χρήστης: ο χρήστης αντιγράφων· χρονοδιάγραμμα: καθημερινά 03:30· εντολή: /volume1/scripts/backup-export.sh.
  4. Στο Linux αρκεί μια καταχώριση στο crontab: «30 3 * * * /volume1/scripts/backup-export.sh».

Χωρίς σενάριο: ανεβάζουμε εμείς στον προορισμό σας

  1. Στο «Προορισμός» επιλέξτε τον τύπο: WebDAV (Nextcloud, Synology με το πακέτο WebDAV Server, θύρα https 5006), SFTP ή S3.
  2. Nextcloud: χρησιμοποιήστε τη διεύθυνση του φακέλου, π.χ. https://cloud.club.org/remote.php/dav/files/backup/drinklist/, και έναν κωδικό εφαρμογής ενός ξεχωριστού χρήστη αντιγράφων. Δημιουργήστε πρώτα τον φάκελο.
  3. SFTP: καταχωρίστε διακομιστή, θύρα (22 ή 2222), φάκελο, χρήστη και κωδικό ή ιδιωτικό κλειδί SSH. Απομνημονεύουμε το κλειδί του διακομιστή στην πρώτη δοκιμή – αν αλλάξει, σταματάμε για λόγους ασφαλείας.
  4. S3: endpoint (κενό = Amazon), περιοχή, bucket και πρόσβαση που επιτρέπεται μόνο να γράφει (PutObject) – δεν χρειάζεται ούτε ανάγνωση ούτε διαγραφή.
  5. Επιλέξτε συχνότητα (καθημερινά ή εβδομαδιαία) και ώρα – ισχύει στη ζώνη ώρας του συλλόγου σας.
  6. «Έλεγχος σύνδεσης και ρύθμιση»: γράφουμε ένα μικρό αρχείο δοκιμής. Αν πετύχει, ο κωδικός πηγαίνει στον κάτοχο· με τον κωδικό ο προορισμός ενεργοποιείται.
  7. Αν το ανέβασμα αποτύχει, ξαναδοκιμάζουμε τρεις φορές και στέλνουμε e-mail. Μετά από τρεις αποτυχημένες εκτελέσεις στη σειρά θέτουμε τον προορισμό σε παύση, μέχρι να τον ενεργοποιήσετε ξανά.

Άνοιγμα αντιγράφου (αποκρυπτογράφηση)

age -d -i club-backup.key -o full-export.zip komplettexport-2026-10-07.zip.age
age -d -o full-export.zip komplettexport-2026-10-07.zip.age   # παραλλαγή με κωδικό

Η ασφάλεια με μια ματιά

  • Ένα κλειδί εξαγωγής μπορεί μόνο να παραλάβει την κρυπτογραφημένη εξαγωγή – όχι λογαριασμούς, όχι καταχωρίσεις, όχι άλλα δεδομένα.
  • Μόνο ο κάτοχος μπορεί να το δημιουργήσει, με επιβεβαίωση μέσω κωδικού στο e-mail· οι διαχειριστές και η υποστήριξη δεν μπορούν να δημιουργήσουν κλειδιά εξαγωγής.
  • Πρόσβαση από νέα χώρα ή επανειλημμένα απορριφθέντα αιτήματα θέτουν το κλειδί σε παύση· ο κάτοχος λαμβάνει e-mail και μπορεί να το επανενεργοποιήσει ή να το ανακαλέσει.
  • Αν ο οργανισμός μπλοκαριστεί λόγω παράβασης, η αυτόματη εξαγωγή τίθεται σε παύση· η χειροκίνητη εξαγωγή στη Διαχείριση παραμένει διαθέσιμη.
  • Αν αλλάξει ο κάτοχος, κλειδιά και προορισμοί παραμένουν. Ο νέος κάτοχος λαμβάνει e-mail και μπορεί να τα ανακαλέσει και να ρυθμίσει ξανά την κρυπτογράφηση.

Αν κάτι δεν λειτουργεί

  • 429 «only one automatic export per day»: σήμερα έγινε ήδη αυτόματη εξαγωγή – αύριο λειτουργεί ξανά.
  • 403 «export key paused»: ο εντοπισμός κατάχρησης έθεσε το κλειδί σε παύση. Ο κάτοχος το ενεργοποιεί στη Διαχείριση με «Επανενεργοποίηση».
  • 409 στη λήψη: η εξαγωγή έχει ήδη παραληφθεί ή διαγράφηκε μετά από 24 ώρες – ζητήστε νέα την επόμενη ημέρα.
  • 423: ο οργανισμός είναι μπλοκαρισμένος· επικοινωνήστε με την υποστήριξη.
  • Αντί για ερωτήματα από το σενάριο, ένα webhook μπορεί να αναφέρει το συμβάν «export.ready» (Διαχείριση → Ενσωματώσεις).

Κολλήσατε;

Αν ένας οδηγός αφήνει μια απορία ή κάτι φαίνεται διαφορετικό από την περιγραφή, ανοίξτε ένα αίτημα: απαντάμε μέσα σε αυτό. Η υποστήριξη γίνεται μόνο με αιτήματα, όχι με e-mail.