SlideShare une entreprise Scribd logo
1  sur  80
Télécharger pour lire hors ligne
Mettre ses backups automatiques en
sécurité dans le cloud sur Amazon S3
avec Akeeba Backup
UNE BONNE STRATÉGIE DE BACKUP IMPLIQUE NON SEULEMENT DE LANCER DES BACKUPS
AUTOMATIQUES À INTERVALLES RÉGULIERS, MAIS AUSSI DE LES METTRE À L’ABRI D’UN PROBLÈME
TECHNIQUE, D’UNE MAUVAISE MANIPULATION… OU D’UN HACKEUR !
1
MARC DECHÈVREV 3
Table des matières
 Introduction
 Objectif
 Les outils
 Procédure générale
 En super bref (un cas simplifié) | version vidéo
 En bref | version texte
 Procédure détaillée | captures d’écran étape par étape
 Configuration Amazon S3
 Configuration Akeeba Backup
 Récupérer le backup depuis Amazon S3 avec Akeeba
 Cryptage
 Aller plus loin avec Amazon S3
 Interface / Permissions / Logging / Events / Versioning / LifeCycle
 Applications pour gérer les fichiers au quotidien > Cyberduck
 Créer des notifications
 Sources
 Conclusion
2
Introduction
 Marc Dechèvre | marc woluweb.be | www.woluweb.be
 Membre de la Fédération des Métiers du Web
 Membre actif de la Communauté Joomla®
 1er de la francophonie, 16e au monde à obtenir la Certification Administrateur Joomla!®
 Co-organisateur du Joomla User Group (JUG) Wallonie
 Fondateur et co-organisateur du Joomla User Group (JUG) Ouagadougou
 Membre de l’Association Francophone des Utilisateurs de Joomla!TM
 Intervenant régulier
 lors des JoomlaDays France et JoomlaDays Pays-Bas
 lors des JUG Wallonie et JUG Vlaanderen
 Auteur d’articles sur www.cinnk.com et sur slideshare.net/woluweb
3
Objectif > share a best practice
 L’objectif de cette présentation est de partager une meilleure pratique en matière de BACKUP
 Vous faites des backups réguliers (et vous les testez) ? Super !
 Ces backups sont exécutés automatiquement ? Encore mieux !
 Mais est-ce suffisant ? NON !
 Quid si votre hébergeur connaît un problème technique ?
 Quid si la date de renouvellement a été oubliée et que l’hébergeur a supprimé votre compte ?
 Quid si vous faites une fausse manœuvre ?
 Et surtout : Quid si un hackeur s’introduit sur votre site et y détruit tous vos backups ?
Dans tous ces cas, vous perdez non seulement votre site… mais aussi dans le même temps tous ses backups !
Des Backups automatiques et réguliers dans le Cloud sont donc un complément indispensable.
Mais encore faut-il bien penser et configurer le tout, pour ne pas risquer de compromettre tous ses sites et
d'accroître le risque plutôt que de le diminuer. C’est l’objet de cette présentation.
4
Objectif > share Joomla love
 Pourquoi partager mon expérience ?
 En quelques mots-clés : #OpenSource #Joomla #Jpositive #JoomlaUserGroups #JoomlaDays #Community
Bref, Joomla se caractérise et se différencie précisément d’autres CMS par… sa Communauté active ☺
 Tout ce qui peut contribuer à améliorer la qualité globale des sites a une retombée positive sur la
Communauté Joomla
 Vous aussi, partagez votre expérience ! ☺
NB :
Et je n’ai absolument aucun intérêt ni chez Akeeba Backup ni chez Amazon S3 ☺
Simplement, dans leurs domaines respectifs, ce sont des références
5
Objectif > backup… mais aussi sécurisation
 Dernière précision avant de rentrer dans le vif du sujet
 Une bonne stratégie de backup (sur le serveur ET dans le cloud) est indispensable…
 … mais c’est complémentaire avec une stratégie de sécurisation (ça ne la remplace pas !)
 En effet, si un site est infecté, votre backup sera lui aussi infecté…
 Or, en général, un hackeur aime travailler en deux temps
 D’abord s’introduire sur le site
 Mais seulement quelque temps plus tard activer l’attaque
… si bien que même un backup du mois précédent, que vous pensez a priori « sain », a de fortes chances d’être déjà infecté
 NB : comment vérifier que votre site est sain ?
Voyez p.ex. la présentation « Est-ce que mon site a été hacké ? Est-il propre ? Comment m’en assurer » donnée
lors du JoomlaDay France 2016
https://slides.aesecure.com
6
Les outils
JOOMLA!
AKEEBA BACKUP PRO
AMAZON S3
7
Vous aurez besoin de…
 Akeeba Backup est plus que probablement le meilleur outil de Backup pour Joomla
 La version gratuite permet déjà de faire beaucoup de choses
 Mais pour le Cloud Backup (FTP, Dropbox, Amazon S3, …), la version PRO est nécessaire
 Comparaison générale des versions free/pro :
 https://www.akeebabackup.com/products/akeeba-backup.html > Feature Comparison
8
Vous aurez besoin de…
 Amazon S3 est un service de stockage dans le Cloud, une référence
 L’avantage par rapport à d’autres possibilités (FTP ou certaines solutions concurrentes)
 Permet la gestion des droits utilisateurs (“write-only”, pour plus de sécurité) et d’autres choses
 Est “scalable” à l’infini : absolument aucune limite de volume (on paie en fonction du volume)
 Description > https://aws.amazon.com/fr/s3
 Compte gratuit > https://aws.amazon.com/fr/free
 Tarif > https://aws.amazon.com/fr/s3/pricing
 Tarif selon Région, Volume et type de stockage choisis (max. $ 0,03 par Go / mois)
 Mais version gratuite (« free tier ») valable 12 mois avec 5G gratuits
 Lien direct vers la Console > https://console.aws.amazon.com/s3
9
Vous aurez besoin de…
 Alternatives à Amazon S3
 Bien sûr, Akeeba Backup est compatible non
seulement avec Amazon S3, mais également
avec DropBox, Microsoft OneDrive, Google
Drive, etc (voir capture d’écran ci-contre)
 Si votre service Cloud de prédilection permet
également de créer un Utilisateur “write-only”,
alors vos backups dans le Cloud seront à l’abri
de toute personne ayant gagné (légitimement
ou pas) un accès à votre site
 Sinon, nous vous recommandons Amazon S3
pour les raisons de sécurité évoquées ci-avant
 Dans tous les cas, cette présentation pourra vous
servir de référence
10
Procédure
générale
EN SUPER BREF
(UN CAS SIMPLIFIÉ)
VERSION VIDÉO
11
Cas simplifié (si un seul site)
 La vidéo suivante donne un excellent survol de la configuration du Cloud Backup
 https://www.akeebabackup.com/videos/1213-akeeba-backup-for-joomla-pro/1628-abtp07-remote-
backup-amazon-s3.html
Néanmoins, il s’agit d’un cas simplifié, dans le sens où n’aborde pas la question des droits d’accès
 Si on gère un seul site (ou si on crée autant de comptes Amazon S3 que de sites), c’est parfait
 Mais si on gère plusieurs sites, il faut absolument éviter qu’un utilisateur (et a fortiori un pirate !) d’un site
donné puisse, grâce aux codes d’accès à Amazon S3 mentionnés sur le site*, accéder / lire / télécharger
/ effacer les backups de tous les autres sites !
* Ce code d’accès est forcément en clair (si pas à l’écran, en tout cas dans la base de données), sinon le site ne pourrait pas accéder à Amazon S3
12
Procédure
générale
EN BREF
(VERSION TEXTE SANS
CAPTURES D'ÉCRAN)
13
1. Configurer Amazon S3
1. Créer un compte sur Amazon Web Services (AWS)
pour Amazon Simple Storage Service (Amazon S3)
2. Dans l’interface, créer un « bucket » (un « compartiment » dans la terminologie S3, càd
l'équivalent d'un dossier) et lui donner un nom (sans majuscules, de point, ni d’underscore)
3. Choisir la « Amazon S3 Region », par exemple « EU-Frankfurt »
4. Aller dans la « AWS Management Console », dans la rubrique IAM
5. Créer un utilisateur et générer ses clés (Access Key ID et Secret Access Key)
6. Créer un groupe d’utilisateurs (Group) et y assigner l’utilisateur voulu
7. Pour ce groupe, attacher une « Policy » (qui donne à l’utilisateur uniquement le droit d’écrire,
pas de télécharger ni d’effacer ni quoi que ce soit d’autre), en utilisant le générateur de Policy
ou manuellement en utilisant la Policy reprise plus loin dans cette présentation
14
2. Configurer Akeeba Backup
 Créer un nouveau profil
1. S’assurer que le profil existant correspond bien à ce que l’on souhaite
(notamment pour l’exclusion éventuelle de dossiers, …)
2. Cliquer sur « profiles management »
3. Cocher le profil existant et cliquer sur le bouton Copy pour le dupliquer
 Cliquer sur le bouton Configuration du profil fraîchement créé
15
2. Configurer Akeeba Backup
 Configurer le nouveau profil
1. Cliquer sur le bouton Configuration
2. Changer le nom du Profil (« Profile Description »), par exemple : Amazon S3
3. Cocher (si on le souhaite) l’option « one-click backup icon »
4. A la rubrique « Post-processing Engine », choisir « Upload to Amazon S3 »
5. Cliquer sur le bouton “Configure” à côté
1. Introduire l’Access Key et la Secret Key de l’utilisateur « en écriture seule »
2. Veiller à ce que l’option « Use SSL » soit cochée (pour plus de sécurité)
3. Indiquer le nom du « Bucket » créé ci-avant
4. Spécifier la « Amazon S3 Region »
5. Si on veut que le backup soit dans un sous-dossier du Bucket, spécifier le « Directory », sinon laisser le champ vide
6. Le cas échéant, cocher « Delete archive after processing » et/ou « Disable Multipart Upload »
6. Le cas échéant, cocher « Archive Integrity Check » comme contrôle qualité supplémentaire
16
2. Configurer Akeeba Backup
 Enregistrer et fermer la configuration
 Tester en lançant un backup avec ce nouveau profil
 Vérifier dans Akeeba Backup et sur Amazon S3 que le backup a été exécuté et transféré
 Comme pour n’importe quel backup : télécharger le backup et faire une installation en local pour
vérifier que tout fonctionne bien
17
3. Gestion ultérieure des fichiers sur Amazon S3
 Il est possible aussi d’utiliser des fonctionnalités plus avancées d’Amazon S3
1. Permissions
2. Logging
3. Events
4. Versioning
5. Lifecycle
 Si on veut gérer de temps à autre ses backups, …
1. On peut se rendre dans la Console d’Amazon S3
2. Ou installer par exemple Cyberduck pour pouvoir plus facilement trier et manipuler ses fichiers
18
Procédure
détaillée
Configuration
Amazon S3
VERSION LONGUE
(AVEC CAPTURES D’ÉCRAN
ÉTAPE PAR ÉTAPE)
19
Amazon S3 > créer un compte
 Aller sur le site d’Amazon S3
 https://aws.amazon.com/s3 (English)
 https://aws.amazon.com/fr/s3 (Français)
 Cliquer sur le bouton "Créer votre compte"
("Sign In to the Console")
 Indiquer l’email et le mot de passe
 Conseil : choisissez un mot de passe robuste
Pour se convaincre de l’importance d’un mot de passe
robuste, jouer quelques instants avec
https://howsecureismypassword.net
20
Amazon S3 > créer un Bucket
 Dans le menu, sélectionner "Services > S3"
 Cliquer sur le bouton "Create Bucket" ("Créer un
compartiment")
 Indiquer le nom de votre choix
 Vu notre stratégie d’un compte “write-only” (voir
ci-après), nous faisons le choix de mettre les
backups de tous les sites dans le même Bucket…
mais vous pouvez choisir une autre organisation
 Choisir la Région de votre choix
 attention, le tarif peut être très légèrement
différent selon la Région. Si vous souhaitez pour
des raisons juridiques ou personnelles un serveur
au sein de l’Union Européenne, choisissez p.ex.
Frankfurt
 Cliquer sur "Create"
21
Amazon S3 > IAM
 Afin de ne pas utiliser son propre compte
racine (“root access keys”, qui donnent donc
tous les pouvoirs) lors de la configuration
d’Akeeba Backup, on va créer des “sous-
comptes”
 Dans le vocabulaire Amazon S3, cela
s’appelle les IAM Users (IAM = “Identity and
Access Management”). Bref, la gestion des
droits
 Pour y accéder, aller dans Services > IAM
(ou comme sur l’écran ci-contre, cliquer sur
la suggestion “Get Started with IAM Users”)
22
Amazon S3 > créer un Utilisateur
 Sur la page Services > IAM, cliquer sur le
menu latéral "Users"
 Cliquer sur le bouton "Create New Users"
 Introduire le nom de l’Utilisateur et cocher
l’option “Generate an access key for each
user” (écran ci-contre)
 Cliquer sur le bouton "Create"
23
Amazon S3 > conserver les “Credentials”
 Bien noter (dans un endroit sécurisé *)
 L’Access Key ID
 Le Secret Access Key
 (ou cliquer sur “Download Credentials” pour
télécharger les codes d’accès dans un fichier)
* Utiliser par exemple un Gestionnaire de Mots de Passe,
tels que https://lastpass.com ou https://1password.com
24
Amazon S3 > créer la Policy
 Cliquer sur le menu latéral "Policies"
 Cliquer sur le bouton “Get Started”
25
Amazon S3 > configurer la Policy
 A l’étape “Set Permissions”, cocher
 Effect > Allow
 AWS Service > Amazon S3
 Action > PutObject
 ARN > arn:aws:s3:::mybucket/site-*
où vous adaptez l’appellation mybucket
(et où site-* suppose que tous nos backups ont
un nom qui commence par “site-”)
 De la sorte, l’utilisateur créé pourra uniquement
ajouter des backups de nos sites internet… et ne
pourra donc pas
 les lister
 les télécharger
 ou les effacer !
26
Amazon S3 > valider la Policy
 On obtient alors l’écran ci-contre
 Cliquer sur le bouton “Next Step”
27
Amazon S3 > éditer ultérieurement la Policy
On peut voir et éditer une Policy via le menu latéral Policies
Exemple de Policy « write-only » ci-contre, avec
"arn:aws:s3:::mybucket/site-*"
où mybucket est le nom du bucket et site-* signifie que
seuls des fichiers dont le nom commence par « site-»
pourront être uploadés
NB : cette “policy” peut être adaptée (même par la suite)
selon vos besoins. Par exemple, vous pourriez souhaiter
octroyer plus de droits (comme le droit d’effacer si on veut
exploiter le système de quota automatique d’Akeeba
Backup, qui ne conserve alors p.ex. que les X derniers
backups). Mais attention : dans ce cas, un hackeur pourrait
très bien accéder à votre Bucket et effacer les fichiers…
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowUploadOfMyBackups",
"Effect": "Allow",
"Action": [
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::mybucket/site-*"
]
}
]
}
28
Amazon S3 > créer Groupe + associer Policy
 Toujours sur la page Services > IAM
 Cliquer sur le menu latéral "Groups"
 Cliquer sur le bouton "Create New Group"
 Poursuivre la création en attachant la Police
créée à l’étape précédente
 … et bien sûr, associer l’Utilisateur créé à ce
Groupe
29
Configuration
générale
Akeeba
Backup
CAPTURES D’ÉCRAN
ÉTAPE PAR ÉTAPE
30
Akeeba Backup > Cloud Backup (profil)
 Créer un nouveau Profil dans Akeeba Backup permettra d’avoir le choix entre lancer
 Le backup “traditionnel”, enregistré sur le serveur même
 Le backup “dans le nuage”, dans le cas présent vers Amazon S3
 Dans l’Administration de votre site, aller dans le menu Composants > Akeeba Backup
 Cliquer sur le bouton "Profiles Management" ("Gestion de Profils"). Puis, au choix
 Cliquer sur le bouton "New" pour partir d’un profil vierge
 Ou sélectionner un Profil de départ et cliquer sur "Copy"
 Choisir un nom pour ce Profil
31
Akeeba Backup > Cloud Backup (config)
 Voir ensuite ci-dessus l’explication textuelle de la configuration d’Akeeba Backup pour le Cloud
Backup
 En savoir plus sur le Cloud Backup ?
Voyez ci-après le slide “Sources” pour les liens vers les pages générales d’explication de la
Configuration sur le site d’Akeeba
32
Akeeba Backup > Cloud Backup (config)
 Concrètement, la configuration ressemble
donc à l’écran ci-contre
33
Akeeba Backup > Cloud Backup (détails)
 Testez si le fichier s’uploade correctement à la fin du
lancement du backup
Si vous avez un message d’erreur à cette étape, tentez
de cocher l’option "Disable Multipart uploads"* dans la
Configuration du profil Akeeba Backup
 Une option qui peut être intéressante (pour vos backups
classiques et a fortiori pour vos backups dans le cloud) :
cocher l’option "Archive Integrity Check", qui va
consommer de la mémoire et du CPU, mais vous donne
une assurance complémentaire que votre fichier est
intègre
Mais n’oubliez pas : in fine, il vous revient toujours de
vérifier régulièrement que vos backups sont fonctionnels
(un backup peut être intègre… mais être configuré pour
ne prendre que certains dossier et/ou certaines tables !)
* Extrait du Manuel : If you get a RequestTimeout warning while Akeeba Solo / Akeeba
Backup is trying to upload your backup archive to the cloud, you MUST go to the
Configuration engine and enable the "Disable multipart uploads" option of the S3 engine. If
you don't do that, the upload will not work. You will also have to use a relatively small part size
for archive splitting, around 10-20Mb (depends on the host, your mileage may vary).
NB : lors d’un échange personnel, Akeeba me conseille plutôt 50Mb
34
Akeeba Backup > Cloud Backup (détails)
 Il existe une option plus bas sur la page de
Configuration permettant de gérer les quotas
(par exemple de ne garder que les X derniers
backups et d’effacer les plus anciens)
 Pour vos backups qui restent sur le serveur, cela a
tout son sens
 Mais pour les backups envoyés sur Amazon S3,
cela n’a pas de sens puisque, pour des raisons de
sécurité, nous utilisons un User qui peut
uniquement envoyer des fichiers… mais pas les
télécharger ni les effacer
Ainsi, dans notre cas de figure, il faut veiller à ce
que l’option "Enable remote file quotas" soit bien
désactivée
35
Akeeba Backup & Amazon S3 > troubleshooting
 Un souci avec l’envoi de vos backups sur Amazon S3 ?
 Voyez la page suivante de la documentation d’Akeeba Backup
“My backup files are not being uploaded to Amazon S3”
https://www.akeebabackup.com/documentation/troubleshooter/abamazons3.html
36
Cas particulier du Backup OK / Upload NOK
 Si un backup Amazon S3 est exécuté mais pas uploadé (pour une raison ou une autre, cf
supra), la tâche cron “checkbackup” ne donne pas de message d’erreur, ni le Control Panel.
C’est seulement quand on va sur la liste des backups qu’on peut le voir (si on est attentif au
texte sur les boutons “upload to (…)”).
 Lors d’un échange avec Akeeba, il nous a été confirmé qu’il n’y a pas de tâche CRON qui
puisse être mise en place pour détecter un backup qui n’aurait PAS été uploadé
https://www.akeebabackup.com/support/akeeba-backup-3x/26190-backups-to-amazon-
s3.html
 QUESTION : The only question left : could a CRON job be created (probably a new feature I guess) in
order to check those sites with
- backup OK
- but upload to cloud NOK
 ANSWER : No. We had very very few reports about this issue (about 2-3) on all the thousands of
installation we have. Implementing such script could cause more issues instead of removing them.
37
Récupérer
le backup
depuis
Amazon S3
avec
Akeeba
REMPLACER LE SITE
LIVE PAR LE BACKUP
SITUÉ DANS
AMAZON S3
38
Récupérer le backup depuis le Cloud
 Besoin de réinstaller
le site à partir d’un
backup situé sur
Amazon S3 ?
 Facile : sur la page
qui liste les backups,
il suffit de cliquer sur
le bouton bleu
“Manage remotely
stored files”
39
Récupérer le backup depuis le Cloud
 Cela fait apparaître
une fenêtre modale,
permettant au choix
de
 Rapatrier le backup
sur le serveur
 Supprimer le
backup
 Télécharger sur son
ordinateur
40
Récupérer le backup depuis le Cloud
 Mais forcément, si on a bien fait les choses, les
“credentials” qu’on a mis dans la configuration ont
uniquement le droit d’écrire sur Amazon S3
 Dès lors, si on clique sur “Fetch back to server”, on
aura un message d’erreur (écran ci-contre)
 Comment faire ? Voici 3 méthodes :
1. La plus simple et la plus rapide : cliquer sur le bouton
“Import Archives from S3” (slide suivant)
2. Simplement changer les “credentials” dans la
Configuration du Profil, le temps de la récupération du
Backup (puis remettre les credentials « write-only » !)
3. Ou bien télécharger puis uploader manuellement le
fichier de backup
41
Récupérer le backup depuis le Cloud
 Récupérer le backup depuis le Control Panel d’Akeeba
https://www.akeebabackup.com/documentation/akeeba-backup-
documentation/ch03s02s05s03.html
 Cliquer sur le bouton "Import Archives from S3"
 Sur la page qui apparaît, introduire les “credentials” d’un
Utilisateur ayant tous les droits
 Voir plus loin la section Cyberduck pour voir comment créer un
tel Utilisateur
 En tout cas, par principe, toujours éviter d’utiliser les “credentials”
de l’Utilisateur “root”
 Cliquer sur le bouton "Connect to S3"
 On peut alors naviguer dans les Buckets et les fichiers (choisir
Bucket, puis cliquer sur le bouton "Change bucket")
 Cliquer sur le fichier de votre choix pour le rapatrier
 Le fichier est alors disponible dans la liste des backups
disponibles en local
 NB : Comment effacer/réinitialiser les Access Key et Secret Key
après utilisation ? Facile : rien à faire : les clés sont sauvegardées
dans la Session. Elles sont donc automatiquement effacées dès
qu’on se déconnecte…
42
Encryption
43
Encryption via Akeeba Backup
 Un backup classique réalisé avec Akeeba
Backup est au format “.jpa”
 Le format “.jpa” étant non encrypté, tout qui
met la main sur votre fichier (qu’il soit sur votre
ordinateur, votre serveur ou sur Amazon S3)
peut le décompresser, le lire, l’installer
 Dès lors, pour aller plus loin dans la sécurité,
vous pouvez utiliser le format encrypté “.jps”,
qui requiert donc un mot de passe (… qu’il
faudra donc avoir sous la main le jour où)
 https://www.akeebabackup.com/documentatio
n/akeeba-backup/archiver-engines.html
 https://www.akeebabackup.com/documentatio
n/akeeba-backup-documentation/jps-archive-
format.html
44
Encryption via Akeeba Backup
 Attention, ne pas confondre le format encrypté “.jps” avec
le “ANGIE Password”
 ANGIE est le script de restauration d’un backup
 https://www.akeebabackup.com/documentation/akeeb
a-backup/angie-joomla.html
 Si vous êtes p.ex. en train de restaurer un backup en « live »
sur un site, ce mot de passe évite qu’un visiteur puisse vous
doubler et accéder aux écrans de réinstallation
 Le ANGIE Password n’encrypte donc pas votre fichier
 D’ailleurs, si vous avez-vous-même oublié votre ANGIE
Password requis lors de la restauration, il suffit d’effacer le
fichier suivant pour faire sauter la protection !
 installationpassword.php
45
Encryption via Amazon S3
 A noter qu’Amazon S3 offre aussi des possibilités d’encryption
 http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingEncryption.html
46
Aller plus loin
avec
Amazon S3
INTERFACE
PERMISSIONS
LOGGING
EVENTS
VERSIONING
LIFECYCLE
47
AWS > Personnaliser l’interface
 Amazon Web
Services, c’est
plusieurs dizaines de
Services
 Pour avoir vos
raccourcis vers vos
Services les plus utiles
 Cliquer sur le
bouton Edit
 Faire glisser les
icônes dans la
barre de menu
48
Bucket > Logging, Events, Versioning, Lifecycle
 Une fois le Bucket
ouvert, cliquer sur
Properties
 On peut configurer
 Permissions
 Logging
 Events
 Versioning
 Lifecycle
 Essayez !
49
AS3 > Lifecycle rules
 Très utile : les
Lifecycle Rules
 On peut p.ex.
Spécifier qu’après X
jours, les fichiers sont
automatiquement
effacés
 On peut aussi passer
par des Stockages
intermédiaires (p.ex.
Glacier, moins cher
mais avec un délai
de quelques heures
pour y accéder)
50
AS3 > rendre public un/des fichier(s)
 Pour donner accès à
un fichier :
 Sélectionner le(s)
fichier(s)
 Aller dans le menu
Actions > Make
Public
 A droite, lorsque le
bouton Properties
est activé, on
trouve l’url d’accès
direct au fichier
51
Aller plus loin
avec
Amazon S3
APPLICATIONS POUR
GÉRER LES FICHIERS
AU QUOTIDIEN
CYBERDUCK
52
Gestion plus efficace des fichiers
 L’interface web d’Amazon S3 est conçue principalement pour configurer les Buckets, mais pas
tellement pour gérer au quotidien les fichiers qui s’y trouvent
Par exemple, on ne sait même pas trier les fichiers par date ou par nom…
 Pour gérer son Amazon S3 (càd uploader/trier/effacer/changer les droits/…), il est donc préférable
d’utiliser des applications adaptées :
 Soit des logiciels (FileZilla ou WinSCP, les clients FTP bien connus, ne gèrent en effet pas le protocole S3)
 http://cyberduck.io (Mac & Windows)
 http://www.cloudberrylab.com/free-amazon-s3-explorer-cloudfront-IAM.aspx (free/pro)
 Soit éventuellement des Extensions pour navigateurs FireFox
 Sur FireFox, s3fox semble assez connu, mais il faut vérifier s’il est toujours suivi
 http://www.s3fox.net
 https://www.youtube.com/watch?v=L1cqzEYYUB0 (démo)
 Mais dans tous les cas, veillez à créer le cas échéant un IAM User avec les droits appropriés
(lecture/écriture/…) selon ce que vous voulez faire avec votre application
53
Cyberduck > créer un nouvel utilisateur
 Forcément, si on
utilise une
application, c’est
qu’on va vouloir
lister, ajouter, effacer
des fichiers
 Il faut donc d’abord
créer un nouvel
utilisateur auquel on
donnera les droits
voulus
54
Cyberduck > nouvel Utilisateur > credentials
 Bien noter les
credentials
55
Cyberduck > nouvel Utilisateur > Policy
 Aller dans le menu
Services > Users
 Ouvrir l’Utilisateur
créé pour
Cyberduck
 Cliquer sur l’onglet
"Permissions"
 Cliquer sur le bouton
"Attach Policy"
56
Cyberduck > nouvel Utilisateur > Policy > détail
 Une (très) longue liste
de Polices standards
sont proposées
 Pour faire simple, on
va cocher
AmazonS3FullAccess
et valider
 Pour le trouver
rapidement, utiliser le
filtre de recherche
57
Cyberduck > configuration
 Dans Cyberduck,
cliquer sur le bouton
Ouvrir une
Connexion
 Choisir S3
 Introduire les
credentials
 Connecter
58
Cyberduck > création d’un Signet
 La liste des fichiers apparaît
 On peut
 Trier (ce que ne permet pas l’interface
web d’Amazon S3…)
 Ajouter
 Effacer
 Configurer le Bucket
 Etc
 Aller dans le menu Signet > Nouveau
Signet si on veut éviter de devoir
remettre les codes à chaque fois
59
Cyberduck > accès au Signet
 Grâce au Signet, la connexion sera
directement accessible dans le futur
60
Cyberduck > configuration avancée de S3
 NB : on peut aussi configurer les
Permissions, le Lifecycle etc
directement depuis Cyberduck
61
Aller plus loin
avec
Amazon S3
CRÉER DES
NOTIFICATIONS
62
Amazon S3 > créer des notifications (SNS)
 Vous souhaitez être alerté p.ex. lorsqu’un de vos sites a effectivement envoyé son backup sur
Amazon S3 ?
 cela n’a évidemment rien d’obligatoire…
 … mais c’est possible
 C’est l’objet de ce chapitre, avec un exemple simple de notification par email, que vous pourrez affiner
 Mais vous pourriez très bien vouloir aller encore plus loin, en utilisant les API ou en intégrant les notifications dans
vos applications
63
SNS > créer un nouveau topic
 Aller dans
Services > SNS
 Créer un nouveau
Topic
 Lui donner un nom
 Valider
64
SNS > éditer le topic
 Toujours depuis
Services > SNS, on
peut éditer les topics
65
SNS > associer une Topic Policy
 Pour que le Bucket
ait l’autorisation de
poster vers SNS, il faut
créer une Topic
Policy
 Pour faire simple, on
peut choisir
“Everyone” pour les
Utilisateurs qui
peuvent publier sur
ce Topic
66
SNS > souscrire au Topic
 Inscrivez-vous à votre
Topic (Subscription)
 Choisir Email comme
Protocol
 Indiquer votre email
comme Endpoint
67
SNS > envoi d’un message de confirmation
 Un message de
confirmation
automatique est
envoyé
68
SNS > message de confirmation
 Exemple de ce
message de
confirmation reçu
par le destinataire
69
SNS > confirmation de souscription validée
 En cliquant sur le lien
de validation, le
destinataire obtient
la confirmation de la
souscription
70
SNS > ajouter une notification
 Retourner dans le
Bucket
 Appuyer sur le
bouton Properties
 Dans Events, cliquer
sur Add Notification
71
SNS > créer un Event pour le Bucket
 Compléter
 Choisir quels
évènements
déclenchent (ici,
seulement “Put”)
 Pour le champ “SNS
Topic”, on trouve
directement dans le
menu déroulant le
nom des Topics
qu’on a créés
(pas besoin d’écrire
l’ARN à la main…)
72
SNS > exemple de notification
 Ci-contre, exemple d’email
de notification envoyé
automatiquement lors de
l’upload d’un document
dans le Bucket
 Ceci étant dit, un tas
d’autres choses sont aussi
possibles avec Amazon Web
Services, comme
 Une notification via SMS
 Une intégration avec
d’autres services (SQS, …)
73
Sources
74
Sources > Documentation et Support Akeeba
 Explications générales du Cloud Backup
 https://www.akeebabackup.com/documentation/akeeba-backup-documentation/step-by-step-guides.html
 https://www.akeebabackup.com/documentation/akeeba-solo/how-to-cloud-backup-s3.html
 Explications particulières liées à la sécurisation et lorsqu’on gère plusieurs sites
 https://www.akeebabackup.com/support/akeeba-backup-3x/8694-is-amazon-s3-secret-key-a-secret.html
 https://www.akeebabackup.com/support/akeeba-backup-3x/9084-secure-back-ups-with-amazon-s3.html
 https://www.akeebabackup.com/support/akeeba-backup-3x/8835-how-is-amazon-key-info-saved.html
 Un « open guide » sur AWS
 https://github.com/open-guides/og-aws
 + tous les liens mentionnés au fil des slides
75
Extraits les plus intéressants tirés de ces sources
 That post describes how to give only the PutObject privilege to the user. You should also add
the DeleteObject privilege for quotas to work :)
 The other possibility is to create a write-only Amazon S3 user and use that instead. As you
observed, that would render the quotas ineffective, as the user would be unable to delete old
backups. However this is the most secure option, as a potential hacker can never access your
backups (download or delete).
 The only thing you can't do is to transfer the backup archives from S3 to your server for easy
restoration. But this is easy to work around; just go to the Configuration page and enter your
regular access credentials before using the Manage Remote Files feature of Akeeba Backup :)
76
Conclusion
77
Une stratégie de backup complète
 Voilà ! Vous êtes maintenant fin prêt pour améliorer la stratégie de backup et donc la sécurité
de votre site en disposant de backups qui sont tout à fait indépendants de votre hébergement
 Au niveau backups, vous voici donc à l’abri d’un problème technique, d’une mauvaise
manipulation… ou d’un hackeur !
 Mais n’oubliez pas que la sécurité d’un site comporte aussi beaucoup d’autres dimensions que
la stratégie de backup. Voyez par exemple à cet égard
https://slides.aesecure.com
 Une suggestion, une amélioration, une correction à apporter à cette présentation ?
Qu’elle soit majeure ou mineure, n’hésitez pas à me contacter !
78
Merci
 N’hésitez pas à me contacter
 Marc Dechèvre
 +32 474 37 13 12
 marc woluweb.be
 Skype : woluweb
 woluweb.be
 twitter.com/woluweb
 facebook.com/marc.dechevre
 linkedin.com/in/marc-dechevre-68b8172a
79
Ah oui, encore une chose…
80
Hidden heart in the Joomla!® logo – sources
Joomla! Magazine – august 2014

Contenu connexe

Tendances

Java - JEE - servlets
Java - JEE - servletsJava - JEE - servlets
Java - JEE - servletsNoël
 
Pensez Web-Performances avec WordPress - Une conférence de Julien Oger et Pie...
Pensez Web-Performances avec WordPress - Une conférence de Julien Oger et Pie...Pensez Web-Performances avec WordPress - Une conférence de Julien Oger et Pie...
Pensez Web-Performances avec WordPress - Une conférence de Julien Oger et Pie...pierredargham
 
Présentation de EasyAdmin, le bundle d'admin de Symfony
Présentation de EasyAdmin, le bundle d'admin de SymfonyPrésentation de EasyAdmin, le bundle d'admin de Symfony
Présentation de EasyAdmin, le bundle d'admin de SymfonyRaphaël Kueny
 
Installation Sp2010
Installation Sp2010Installation Sp2010
Installation Sp2010UGAIA
 
Ateliers d’une application Web vulnérable
Ateliers d’une application Web vulnérable Ateliers d’une application Web vulnérable
Ateliers d’une application Web vulnérable Ayoub Rouzi
 
WordPress en tant que CMS
WordPress en tant que CMSWordPress en tant que CMS
WordPress en tant que CMSAurélien Denis
 
Enrichir vos contenus Wordpress avec les API - WPTech 2015
Enrichir vos contenus Wordpress avec les API - WPTech 2015Enrichir vos contenus Wordpress avec les API - WPTech 2015
Enrichir vos contenus Wordpress avec les API - WPTech 2015PXNetwork
 
Rapport DVWA: CSRF
Rapport DVWA: CSRFRapport DVWA: CSRF
Rapport DVWA: CSRFAyoub Rouzi
 
Java - JEE - Introduction aux JSP
Java - JEE - Introduction aux JSPJava - JEE - Introduction aux JSP
Java - JEE - Introduction aux JSPNoël
 
Alphorm.com Formation Active Directory 2016 : Le Guide complet de l'architecture
Alphorm.com Formation Active Directory 2016 : Le Guide complet de l'architectureAlphorm.com Formation Active Directory 2016 : Le Guide complet de l'architecture
Alphorm.com Formation Active Directory 2016 : Le Guide complet de l'architectureAlphorm
 
MESSAGERIE EXCHANGE 2013 SOUS WINDOWS SERVEUR 2012
MESSAGERIE EXCHANGE 2013 SOUS WINDOWS SERVEUR 2012MESSAGERIE EXCHANGE 2013 SOUS WINDOWS SERVEUR 2012
MESSAGERIE EXCHANGE 2013 SOUS WINDOWS SERVEUR 2012Manassé Achim kpaya
 
Comment désinstaller oracle sous windows 7 et 8
Comment désinstaller oracle sous windows 7 et 8Comment désinstaller oracle sous windows 7 et 8
Comment désinstaller oracle sous windows 7 et 8Manassé Achim kpaya
 
Alphorm.com Formation PostgreSQL, la Haute Disponibilité
Alphorm.com Formation PostgreSQL, la Haute DisponibilitéAlphorm.com Formation PostgreSQL, la Haute Disponibilité
Alphorm.com Formation PostgreSQL, la Haute DisponibilitéAlphorm
 
Mise en place d’un serveur proxy : Cas du CCProxy
Mise en place d’un serveur proxy : Cas du CCProxyMise en place d’un serveur proxy : Cas du CCProxy
Mise en place d’un serveur proxy : Cas du CCProxyJeff Hermann Ela Aba
 
TD : 12 Logiciels libres pour contruire vos sites web
TD : 12 Logiciels libres pour contruire vos sites webTD : 12 Logiciels libres pour contruire vos sites web
TD : 12 Logiciels libres pour contruire vos sites webStéphane Rouilly
 
Les bases de l'HTML / CSS
Les bases de l'HTML / CSSLes bases de l'HTML / CSS
Les bases de l'HTML / CSSSamuel Robert
 
[Tuto] Web burst : Débordement Web vers Windows Azure
[Tuto] Web burst : Débordement Web vers Windows Azure[Tuto] Web burst : Débordement Web vers Windows Azure
[Tuto] Web burst : Débordement Web vers Windows AzureMicrosoft Technet France
 

Tendances (20)

Java - JEE - servlets
Java - JEE - servletsJava - JEE - servlets
Java - JEE - servlets
 
Rapport sp
Rapport spRapport sp
Rapport sp
 
Pensez Web-Performances avec WordPress - Une conférence de Julien Oger et Pie...
Pensez Web-Performances avec WordPress - Une conférence de Julien Oger et Pie...Pensez Web-Performances avec WordPress - Une conférence de Julien Oger et Pie...
Pensez Web-Performances avec WordPress - Une conférence de Julien Oger et Pie...
 
Présentation de EasyAdmin, le bundle d'admin de Symfony
Présentation de EasyAdmin, le bundle d'admin de SymfonyPrésentation de EasyAdmin, le bundle d'admin de Symfony
Présentation de EasyAdmin, le bundle d'admin de Symfony
 
Installation Sp2010
Installation Sp2010Installation Sp2010
Installation Sp2010
 
Ateliers d’une application Web vulnérable
Ateliers d’une application Web vulnérable Ateliers d’une application Web vulnérable
Ateliers d’une application Web vulnérable
 
WordPress en tant que CMS
WordPress en tant que CMSWordPress en tant que CMS
WordPress en tant que CMS
 
Enrichir vos contenus Wordpress avec les API - WPTech 2015
Enrichir vos contenus Wordpress avec les API - WPTech 2015Enrichir vos contenus Wordpress avec les API - WPTech 2015
Enrichir vos contenus Wordpress avec les API - WPTech 2015
 
Rapport DVWA: CSRF
Rapport DVWA: CSRFRapport DVWA: CSRF
Rapport DVWA: CSRF
 
Java - JEE - Introduction aux JSP
Java - JEE - Introduction aux JSPJava - JEE - Introduction aux JSP
Java - JEE - Introduction aux JSP
 
Alphorm.com Formation Active Directory 2016 : Le Guide complet de l'architecture
Alphorm.com Formation Active Directory 2016 : Le Guide complet de l'architectureAlphorm.com Formation Active Directory 2016 : Le Guide complet de l'architecture
Alphorm.com Formation Active Directory 2016 : Le Guide complet de l'architecture
 
MESSAGERIE EXCHANGE 2013 SOUS WINDOWS SERVEUR 2012
MESSAGERIE EXCHANGE 2013 SOUS WINDOWS SERVEUR 2012MESSAGERIE EXCHANGE 2013 SOUS WINDOWS SERVEUR 2012
MESSAGERIE EXCHANGE 2013 SOUS WINDOWS SERVEUR 2012
 
Comment désinstaller oracle sous windows 7 et 8
Comment désinstaller oracle sous windows 7 et 8Comment désinstaller oracle sous windows 7 et 8
Comment désinstaller oracle sous windows 7 et 8
 
Réaliser le site web de son cabinet en
Réaliser le site web de son cabinet enRéaliser le site web de son cabinet en
Réaliser le site web de son cabinet en
 
Alphorm.com Formation PostgreSQL, la Haute Disponibilité
Alphorm.com Formation PostgreSQL, la Haute DisponibilitéAlphorm.com Formation PostgreSQL, la Haute Disponibilité
Alphorm.com Formation PostgreSQL, la Haute Disponibilité
 
Mise en place d’un serveur proxy : Cas du CCProxy
Mise en place d’un serveur proxy : Cas du CCProxyMise en place d’un serveur proxy : Cas du CCProxy
Mise en place d’un serveur proxy : Cas du CCProxy
 
TD : 12 Logiciels libres pour contruire vos sites web
TD : 12 Logiciels libres pour contruire vos sites webTD : 12 Logiciels libres pour contruire vos sites web
TD : 12 Logiciels libres pour contruire vos sites web
 
Les bases de l'HTML / CSS
Les bases de l'HTML / CSSLes bases de l'HTML / CSS
Les bases de l'HTML / CSS
 
Tp1 wp etud
Tp1 wp etudTp1 wp etud
Tp1 wp etud
 
[Tuto] Web burst : Débordement Web vers Windows Azure
[Tuto] Web burst : Débordement Web vers Windows Azure[Tuto] Web burst : Débordement Web vers Windows Azure
[Tuto] Web burst : Débordement Web vers Windows Azure
 

Similaire à Joomla : Akeeba Backup et Amazon S3

Découverte d'aeSecure, sécurisation et optimisation sites Apache
Découverte d'aeSecure, sécurisation et optimisation sites ApacheDécouverte d'aeSecure, sécurisation et optimisation sites Apache
Découverte d'aeSecure, sécurisation et optimisation sites ApacheChristophe Avonture
 
Accroître la sécurité de son site internet et de Joomla! plus spécifiquement
Accroître la sécurité de son site internet et de Joomla! plus spécifiquementAccroître la sécurité de son site internet et de Joomla! plus spécifiquement
Accroître la sécurité de son site internet et de Joomla! plus spécifiquementChristophe Avonture
 
[Tuto] Sql backup : Comment sauvegarder une base de données SQL Server dans l...
[Tuto] Sql backup : Comment sauvegarder une base de données SQL Server dans l...[Tuto] Sql backup : Comment sauvegarder une base de données SQL Server dans l...
[Tuto] Sql backup : Comment sauvegarder une base de données SQL Server dans l...Microsoft Technet France
 
Solutions backup dans le cloud : un tour d'horizon
Solutions backup dans le cloud : un tour d'horizonSolutions backup dans le cloud : un tour d'horizon
Solutions backup dans le cloud : un tour d'horizonSerge Paulus
 
Webinar - Maintenance d'un site WordPress en agence.pdf
Webinar - Maintenance d'un site WordPress en agence.pdfWebinar - Maintenance d'un site WordPress en agence.pdf
Webinar - Maintenance d'un site WordPress en agence.pdfJulien Dereumaux
 
Performance et optimisation de PrestaShop
Performance et optimisation de PrestaShopPerformance et optimisation de PrestaShop
Performance et optimisation de PrestaShopPrestaShop
 
Spring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrineSpring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrineSyrine Ben aziza
 
Sécuriser un site Wordpress
Sécuriser un site WordpressSécuriser un site Wordpress
Sécuriser un site Wordpressbestyuna
 
Share point 2013 distributed cache
Share point 2013 distributed cacheShare point 2013 distributed cache
Share point 2013 distributed cacheMichael Nokhamzon
 
Sécuriser un site WordPress - Semaine du web
Sécuriser un site WordPress - Semaine du webSécuriser un site WordPress - Semaine du web
Sécuriser un site WordPress - Semaine du webIZZA Samir
 
Sécurité WordPress
Sécurité WordPressSécurité WordPress
Sécurité WordPressChi Nacim
 
Mise en place de Nagios3 pas à pas
Mise en place de Nagios3 pas à pas Mise en place de Nagios3 pas à pas
Mise en place de Nagios3 pas à pas yassine87
 
Sécuriser un site WordPress - Semaine du web
Sécuriser un site WordPress - Semaine du webSécuriser un site WordPress - Semaine du web
Sécuriser un site WordPress - Semaine du webNour El Houda
 
Site web fonctionnel et élastique sur Azure
Site web fonctionnel et élastique sur AzureSite web fonctionnel et élastique sur Azure
Site web fonctionnel et élastique sur AzureMicrosoft Technet France
 
Comment securiser votre annuaire Active Directory contre les attaques de malw...
Comment securiser votre annuaire Active Directory contre les attaques de malw...Comment securiser votre annuaire Active Directory contre les attaques de malw...
Comment securiser votre annuaire Active Directory contre les attaques de malw...Sylvain Cortes
 
Comment mettre en place un plan de sauvegarde et de reprise après sinistre qu...
Comment mettre en place un plan de sauvegarde et de reprise après sinistre qu...Comment mettre en place un plan de sauvegarde et de reprise après sinistre qu...
Comment mettre en place un plan de sauvegarde et de reprise après sinistre qu...Wiiisdom
 
Spring 3 en production
Spring 3 en productionSpring 3 en production
Spring 3 en productionJulien Dubois
 

Similaire à Joomla : Akeeba Backup et Amazon S3 (20)

Découverte d'aeSecure, sécurisation et optimisation sites Apache
Découverte d'aeSecure, sécurisation et optimisation sites ApacheDécouverte d'aeSecure, sécurisation et optimisation sites Apache
Découverte d'aeSecure, sécurisation et optimisation sites Apache
 
Accroître la sécurité de son site internet et de Joomla! plus spécifiquement
Accroître la sécurité de son site internet et de Joomla! plus spécifiquementAccroître la sécurité de son site internet et de Joomla! plus spécifiquement
Accroître la sécurité de son site internet et de Joomla! plus spécifiquement
 
[Tuto] Sql backup : Comment sauvegarder une base de données SQL Server dans l...
[Tuto] Sql backup : Comment sauvegarder une base de données SQL Server dans l...[Tuto] Sql backup : Comment sauvegarder une base de données SQL Server dans l...
[Tuto] Sql backup : Comment sauvegarder une base de données SQL Server dans l...
 
Solutions backup dans le cloud : un tour d'horizon
Solutions backup dans le cloud : un tour d'horizonSolutions backup dans le cloud : un tour d'horizon
Solutions backup dans le cloud : un tour d'horizon
 
Webinar - Maintenance d'un site WordPress en agence.pdf
Webinar - Maintenance d'un site WordPress en agence.pdfWebinar - Maintenance d'un site WordPress en agence.pdf
Webinar - Maintenance d'un site WordPress en agence.pdf
 
Sécuriser son site wordpress
Sécuriser son site wordpressSécuriser son site wordpress
Sécuriser son site wordpress
 
Performance et optimisation de PrestaShop
Performance et optimisation de PrestaShopPerformance et optimisation de PrestaShop
Performance et optimisation de PrestaShop
 
Sécuriser un site Wordpress
Sécuriser un site WordpressSécuriser un site Wordpress
Sécuriser un site Wordpress
 
Spring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrineSpring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrine
 
Sécuriser un site Wordpress
Sécuriser un site WordpressSécuriser un site Wordpress
Sécuriser un site Wordpress
 
Share point 2013 distributed cache
Share point 2013 distributed cacheShare point 2013 distributed cache
Share point 2013 distributed cache
 
Sécuriser un site WordPress - Semaine du web
Sécuriser un site WordPress - Semaine du webSécuriser un site WordPress - Semaine du web
Sécuriser un site WordPress - Semaine du web
 
Sécurité WordPress
Sécurité WordPressSécurité WordPress
Sécurité WordPress
 
Mise en place de Nagios3 pas à pas
Mise en place de Nagios3 pas à pas Mise en place de Nagios3 pas à pas
Mise en place de Nagios3 pas à pas
 
Sécuriser un site WordPress - Semaine du web
Sécuriser un site WordPress - Semaine du webSécuriser un site WordPress - Semaine du web
Sécuriser un site WordPress - Semaine du web
 
Drupal Performance
Drupal PerformanceDrupal Performance
Drupal Performance
 
Site web fonctionnel et élastique sur Azure
Site web fonctionnel et élastique sur AzureSite web fonctionnel et élastique sur Azure
Site web fonctionnel et élastique sur Azure
 
Comment securiser votre annuaire Active Directory contre les attaques de malw...
Comment securiser votre annuaire Active Directory contre les attaques de malw...Comment securiser votre annuaire Active Directory contre les attaques de malw...
Comment securiser votre annuaire Active Directory contre les attaques de malw...
 
Comment mettre en place un plan de sauvegarde et de reprise après sinistre qu...
Comment mettre en place un plan de sauvegarde et de reprise après sinistre qu...Comment mettre en place un plan de sauvegarde et de reprise après sinistre qu...
Comment mettre en place un plan de sauvegarde et de reprise après sinistre qu...
 
Spring 3 en production
Spring 3 en productionSpring 3 en production
Spring 3 en production
 

Joomla : Akeeba Backup et Amazon S3

  • 1. Mettre ses backups automatiques en sécurité dans le cloud sur Amazon S3 avec Akeeba Backup UNE BONNE STRATÉGIE DE BACKUP IMPLIQUE NON SEULEMENT DE LANCER DES BACKUPS AUTOMATIQUES À INTERVALLES RÉGULIERS, MAIS AUSSI DE LES METTRE À L’ABRI D’UN PROBLÈME TECHNIQUE, D’UNE MAUVAISE MANIPULATION… OU D’UN HACKEUR ! 1 MARC DECHÈVREV 3
  • 2. Table des matières  Introduction  Objectif  Les outils  Procédure générale  En super bref (un cas simplifié) | version vidéo  En bref | version texte  Procédure détaillée | captures d’écran étape par étape  Configuration Amazon S3  Configuration Akeeba Backup  Récupérer le backup depuis Amazon S3 avec Akeeba  Cryptage  Aller plus loin avec Amazon S3  Interface / Permissions / Logging / Events / Versioning / LifeCycle  Applications pour gérer les fichiers au quotidien > Cyberduck  Créer des notifications  Sources  Conclusion 2
  • 3. Introduction  Marc Dechèvre | marc woluweb.be | www.woluweb.be  Membre de la Fédération des Métiers du Web  Membre actif de la Communauté Joomla®  1er de la francophonie, 16e au monde à obtenir la Certification Administrateur Joomla!®  Co-organisateur du Joomla User Group (JUG) Wallonie  Fondateur et co-organisateur du Joomla User Group (JUG) Ouagadougou  Membre de l’Association Francophone des Utilisateurs de Joomla!TM  Intervenant régulier  lors des JoomlaDays France et JoomlaDays Pays-Bas  lors des JUG Wallonie et JUG Vlaanderen  Auteur d’articles sur www.cinnk.com et sur slideshare.net/woluweb 3
  • 4. Objectif > share a best practice  L’objectif de cette présentation est de partager une meilleure pratique en matière de BACKUP  Vous faites des backups réguliers (et vous les testez) ? Super !  Ces backups sont exécutés automatiquement ? Encore mieux !  Mais est-ce suffisant ? NON !  Quid si votre hébergeur connaît un problème technique ?  Quid si la date de renouvellement a été oubliée et que l’hébergeur a supprimé votre compte ?  Quid si vous faites une fausse manœuvre ?  Et surtout : Quid si un hackeur s’introduit sur votre site et y détruit tous vos backups ? Dans tous ces cas, vous perdez non seulement votre site… mais aussi dans le même temps tous ses backups ! Des Backups automatiques et réguliers dans le Cloud sont donc un complément indispensable. Mais encore faut-il bien penser et configurer le tout, pour ne pas risquer de compromettre tous ses sites et d'accroître le risque plutôt que de le diminuer. C’est l’objet de cette présentation. 4
  • 5. Objectif > share Joomla love  Pourquoi partager mon expérience ?  En quelques mots-clés : #OpenSource #Joomla #Jpositive #JoomlaUserGroups #JoomlaDays #Community Bref, Joomla se caractérise et se différencie précisément d’autres CMS par… sa Communauté active ☺  Tout ce qui peut contribuer à améliorer la qualité globale des sites a une retombée positive sur la Communauté Joomla  Vous aussi, partagez votre expérience ! ☺ NB : Et je n’ai absolument aucun intérêt ni chez Akeeba Backup ni chez Amazon S3 ☺ Simplement, dans leurs domaines respectifs, ce sont des références 5
  • 6. Objectif > backup… mais aussi sécurisation  Dernière précision avant de rentrer dans le vif du sujet  Une bonne stratégie de backup (sur le serveur ET dans le cloud) est indispensable…  … mais c’est complémentaire avec une stratégie de sécurisation (ça ne la remplace pas !)  En effet, si un site est infecté, votre backup sera lui aussi infecté…  Or, en général, un hackeur aime travailler en deux temps  D’abord s’introduire sur le site  Mais seulement quelque temps plus tard activer l’attaque … si bien que même un backup du mois précédent, que vous pensez a priori « sain », a de fortes chances d’être déjà infecté  NB : comment vérifier que votre site est sain ? Voyez p.ex. la présentation « Est-ce que mon site a été hacké ? Est-il propre ? Comment m’en assurer » donnée lors du JoomlaDay France 2016 https://slides.aesecure.com 6
  • 8. Vous aurez besoin de…  Akeeba Backup est plus que probablement le meilleur outil de Backup pour Joomla  La version gratuite permet déjà de faire beaucoup de choses  Mais pour le Cloud Backup (FTP, Dropbox, Amazon S3, …), la version PRO est nécessaire  Comparaison générale des versions free/pro :  https://www.akeebabackup.com/products/akeeba-backup.html > Feature Comparison 8
  • 9. Vous aurez besoin de…  Amazon S3 est un service de stockage dans le Cloud, une référence  L’avantage par rapport à d’autres possibilités (FTP ou certaines solutions concurrentes)  Permet la gestion des droits utilisateurs (“write-only”, pour plus de sécurité) et d’autres choses  Est “scalable” à l’infini : absolument aucune limite de volume (on paie en fonction du volume)  Description > https://aws.amazon.com/fr/s3  Compte gratuit > https://aws.amazon.com/fr/free  Tarif > https://aws.amazon.com/fr/s3/pricing  Tarif selon Région, Volume et type de stockage choisis (max. $ 0,03 par Go / mois)  Mais version gratuite (« free tier ») valable 12 mois avec 5G gratuits  Lien direct vers la Console > https://console.aws.amazon.com/s3 9
  • 10. Vous aurez besoin de…  Alternatives à Amazon S3  Bien sûr, Akeeba Backup est compatible non seulement avec Amazon S3, mais également avec DropBox, Microsoft OneDrive, Google Drive, etc (voir capture d’écran ci-contre)  Si votre service Cloud de prédilection permet également de créer un Utilisateur “write-only”, alors vos backups dans le Cloud seront à l’abri de toute personne ayant gagné (légitimement ou pas) un accès à votre site  Sinon, nous vous recommandons Amazon S3 pour les raisons de sécurité évoquées ci-avant  Dans tous les cas, cette présentation pourra vous servir de référence 10
  • 11. Procédure générale EN SUPER BREF (UN CAS SIMPLIFIÉ) VERSION VIDÉO 11
  • 12. Cas simplifié (si un seul site)  La vidéo suivante donne un excellent survol de la configuration du Cloud Backup  https://www.akeebabackup.com/videos/1213-akeeba-backup-for-joomla-pro/1628-abtp07-remote- backup-amazon-s3.html Néanmoins, il s’agit d’un cas simplifié, dans le sens où n’aborde pas la question des droits d’accès  Si on gère un seul site (ou si on crée autant de comptes Amazon S3 que de sites), c’est parfait  Mais si on gère plusieurs sites, il faut absolument éviter qu’un utilisateur (et a fortiori un pirate !) d’un site donné puisse, grâce aux codes d’accès à Amazon S3 mentionnés sur le site*, accéder / lire / télécharger / effacer les backups de tous les autres sites ! * Ce code d’accès est forcément en clair (si pas à l’écran, en tout cas dans la base de données), sinon le site ne pourrait pas accéder à Amazon S3 12
  • 13. Procédure générale EN BREF (VERSION TEXTE SANS CAPTURES D'ÉCRAN) 13
  • 14. 1. Configurer Amazon S3 1. Créer un compte sur Amazon Web Services (AWS) pour Amazon Simple Storage Service (Amazon S3) 2. Dans l’interface, créer un « bucket » (un « compartiment » dans la terminologie S3, càd l'équivalent d'un dossier) et lui donner un nom (sans majuscules, de point, ni d’underscore) 3. Choisir la « Amazon S3 Region », par exemple « EU-Frankfurt » 4. Aller dans la « AWS Management Console », dans la rubrique IAM 5. Créer un utilisateur et générer ses clés (Access Key ID et Secret Access Key) 6. Créer un groupe d’utilisateurs (Group) et y assigner l’utilisateur voulu 7. Pour ce groupe, attacher une « Policy » (qui donne à l’utilisateur uniquement le droit d’écrire, pas de télécharger ni d’effacer ni quoi que ce soit d’autre), en utilisant le générateur de Policy ou manuellement en utilisant la Policy reprise plus loin dans cette présentation 14
  • 15. 2. Configurer Akeeba Backup  Créer un nouveau profil 1. S’assurer que le profil existant correspond bien à ce que l’on souhaite (notamment pour l’exclusion éventuelle de dossiers, …) 2. Cliquer sur « profiles management » 3. Cocher le profil existant et cliquer sur le bouton Copy pour le dupliquer  Cliquer sur le bouton Configuration du profil fraîchement créé 15
  • 16. 2. Configurer Akeeba Backup  Configurer le nouveau profil 1. Cliquer sur le bouton Configuration 2. Changer le nom du Profil (« Profile Description »), par exemple : Amazon S3 3. Cocher (si on le souhaite) l’option « one-click backup icon » 4. A la rubrique « Post-processing Engine », choisir « Upload to Amazon S3 » 5. Cliquer sur le bouton “Configure” à côté 1. Introduire l’Access Key et la Secret Key de l’utilisateur « en écriture seule » 2. Veiller à ce que l’option « Use SSL » soit cochée (pour plus de sécurité) 3. Indiquer le nom du « Bucket » créé ci-avant 4. Spécifier la « Amazon S3 Region » 5. Si on veut que le backup soit dans un sous-dossier du Bucket, spécifier le « Directory », sinon laisser le champ vide 6. Le cas échéant, cocher « Delete archive after processing » et/ou « Disable Multipart Upload » 6. Le cas échéant, cocher « Archive Integrity Check » comme contrôle qualité supplémentaire 16
  • 17. 2. Configurer Akeeba Backup  Enregistrer et fermer la configuration  Tester en lançant un backup avec ce nouveau profil  Vérifier dans Akeeba Backup et sur Amazon S3 que le backup a été exécuté et transféré  Comme pour n’importe quel backup : télécharger le backup et faire une installation en local pour vérifier que tout fonctionne bien 17
  • 18. 3. Gestion ultérieure des fichiers sur Amazon S3  Il est possible aussi d’utiliser des fonctionnalités plus avancées d’Amazon S3 1. Permissions 2. Logging 3. Events 4. Versioning 5. Lifecycle  Si on veut gérer de temps à autre ses backups, … 1. On peut se rendre dans la Console d’Amazon S3 2. Ou installer par exemple Cyberduck pour pouvoir plus facilement trier et manipuler ses fichiers 18
  • 19. Procédure détaillée Configuration Amazon S3 VERSION LONGUE (AVEC CAPTURES D’ÉCRAN ÉTAPE PAR ÉTAPE) 19
  • 20. Amazon S3 > créer un compte  Aller sur le site d’Amazon S3  https://aws.amazon.com/s3 (English)  https://aws.amazon.com/fr/s3 (Français)  Cliquer sur le bouton "Créer votre compte" ("Sign In to the Console")  Indiquer l’email et le mot de passe  Conseil : choisissez un mot de passe robuste Pour se convaincre de l’importance d’un mot de passe robuste, jouer quelques instants avec https://howsecureismypassword.net 20
  • 21. Amazon S3 > créer un Bucket  Dans le menu, sélectionner "Services > S3"  Cliquer sur le bouton "Create Bucket" ("Créer un compartiment")  Indiquer le nom de votre choix  Vu notre stratégie d’un compte “write-only” (voir ci-après), nous faisons le choix de mettre les backups de tous les sites dans le même Bucket… mais vous pouvez choisir une autre organisation  Choisir la Région de votre choix  attention, le tarif peut être très légèrement différent selon la Région. Si vous souhaitez pour des raisons juridiques ou personnelles un serveur au sein de l’Union Européenne, choisissez p.ex. Frankfurt  Cliquer sur "Create" 21
  • 22. Amazon S3 > IAM  Afin de ne pas utiliser son propre compte racine (“root access keys”, qui donnent donc tous les pouvoirs) lors de la configuration d’Akeeba Backup, on va créer des “sous- comptes”  Dans le vocabulaire Amazon S3, cela s’appelle les IAM Users (IAM = “Identity and Access Management”). Bref, la gestion des droits  Pour y accéder, aller dans Services > IAM (ou comme sur l’écran ci-contre, cliquer sur la suggestion “Get Started with IAM Users”) 22
  • 23. Amazon S3 > créer un Utilisateur  Sur la page Services > IAM, cliquer sur le menu latéral "Users"  Cliquer sur le bouton "Create New Users"  Introduire le nom de l’Utilisateur et cocher l’option “Generate an access key for each user” (écran ci-contre)  Cliquer sur le bouton "Create" 23
  • 24. Amazon S3 > conserver les “Credentials”  Bien noter (dans un endroit sécurisé *)  L’Access Key ID  Le Secret Access Key  (ou cliquer sur “Download Credentials” pour télécharger les codes d’accès dans un fichier) * Utiliser par exemple un Gestionnaire de Mots de Passe, tels que https://lastpass.com ou https://1password.com 24
  • 25. Amazon S3 > créer la Policy  Cliquer sur le menu latéral "Policies"  Cliquer sur le bouton “Get Started” 25
  • 26. Amazon S3 > configurer la Policy  A l’étape “Set Permissions”, cocher  Effect > Allow  AWS Service > Amazon S3  Action > PutObject  ARN > arn:aws:s3:::mybucket/site-* où vous adaptez l’appellation mybucket (et où site-* suppose que tous nos backups ont un nom qui commence par “site-”)  De la sorte, l’utilisateur créé pourra uniquement ajouter des backups de nos sites internet… et ne pourra donc pas  les lister  les télécharger  ou les effacer ! 26
  • 27. Amazon S3 > valider la Policy  On obtient alors l’écran ci-contre  Cliquer sur le bouton “Next Step” 27
  • 28. Amazon S3 > éditer ultérieurement la Policy On peut voir et éditer une Policy via le menu latéral Policies Exemple de Policy « write-only » ci-contre, avec "arn:aws:s3:::mybucket/site-*" où mybucket est le nom du bucket et site-* signifie que seuls des fichiers dont le nom commence par « site-» pourront être uploadés NB : cette “policy” peut être adaptée (même par la suite) selon vos besoins. Par exemple, vous pourriez souhaiter octroyer plus de droits (comme le droit d’effacer si on veut exploiter le système de quota automatique d’Akeeba Backup, qui ne conserve alors p.ex. que les X derniers backups). Mais attention : dans ce cas, un hackeur pourrait très bien accéder à votre Bucket et effacer les fichiers… { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowUploadOfMyBackups", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::mybucket/site-*" ] } ] } 28
  • 29. Amazon S3 > créer Groupe + associer Policy  Toujours sur la page Services > IAM  Cliquer sur le menu latéral "Groups"  Cliquer sur le bouton "Create New Group"  Poursuivre la création en attachant la Police créée à l’étape précédente  … et bien sûr, associer l’Utilisateur créé à ce Groupe 29
  • 31. Akeeba Backup > Cloud Backup (profil)  Créer un nouveau Profil dans Akeeba Backup permettra d’avoir le choix entre lancer  Le backup “traditionnel”, enregistré sur le serveur même  Le backup “dans le nuage”, dans le cas présent vers Amazon S3  Dans l’Administration de votre site, aller dans le menu Composants > Akeeba Backup  Cliquer sur le bouton "Profiles Management" ("Gestion de Profils"). Puis, au choix  Cliquer sur le bouton "New" pour partir d’un profil vierge  Ou sélectionner un Profil de départ et cliquer sur "Copy"  Choisir un nom pour ce Profil 31
  • 32. Akeeba Backup > Cloud Backup (config)  Voir ensuite ci-dessus l’explication textuelle de la configuration d’Akeeba Backup pour le Cloud Backup  En savoir plus sur le Cloud Backup ? Voyez ci-après le slide “Sources” pour les liens vers les pages générales d’explication de la Configuration sur le site d’Akeeba 32
  • 33. Akeeba Backup > Cloud Backup (config)  Concrètement, la configuration ressemble donc à l’écran ci-contre 33
  • 34. Akeeba Backup > Cloud Backup (détails)  Testez si le fichier s’uploade correctement à la fin du lancement du backup Si vous avez un message d’erreur à cette étape, tentez de cocher l’option "Disable Multipart uploads"* dans la Configuration du profil Akeeba Backup  Une option qui peut être intéressante (pour vos backups classiques et a fortiori pour vos backups dans le cloud) : cocher l’option "Archive Integrity Check", qui va consommer de la mémoire et du CPU, mais vous donne une assurance complémentaire que votre fichier est intègre Mais n’oubliez pas : in fine, il vous revient toujours de vérifier régulièrement que vos backups sont fonctionnels (un backup peut être intègre… mais être configuré pour ne prendre que certains dossier et/ou certaines tables !) * Extrait du Manuel : If you get a RequestTimeout warning while Akeeba Solo / Akeeba Backup is trying to upload your backup archive to the cloud, you MUST go to the Configuration engine and enable the "Disable multipart uploads" option of the S3 engine. If you don't do that, the upload will not work. You will also have to use a relatively small part size for archive splitting, around 10-20Mb (depends on the host, your mileage may vary). NB : lors d’un échange personnel, Akeeba me conseille plutôt 50Mb 34
  • 35. Akeeba Backup > Cloud Backup (détails)  Il existe une option plus bas sur la page de Configuration permettant de gérer les quotas (par exemple de ne garder que les X derniers backups et d’effacer les plus anciens)  Pour vos backups qui restent sur le serveur, cela a tout son sens  Mais pour les backups envoyés sur Amazon S3, cela n’a pas de sens puisque, pour des raisons de sécurité, nous utilisons un User qui peut uniquement envoyer des fichiers… mais pas les télécharger ni les effacer Ainsi, dans notre cas de figure, il faut veiller à ce que l’option "Enable remote file quotas" soit bien désactivée 35
  • 36. Akeeba Backup & Amazon S3 > troubleshooting  Un souci avec l’envoi de vos backups sur Amazon S3 ?  Voyez la page suivante de la documentation d’Akeeba Backup “My backup files are not being uploaded to Amazon S3” https://www.akeebabackup.com/documentation/troubleshooter/abamazons3.html 36
  • 37. Cas particulier du Backup OK / Upload NOK  Si un backup Amazon S3 est exécuté mais pas uploadé (pour une raison ou une autre, cf supra), la tâche cron “checkbackup” ne donne pas de message d’erreur, ni le Control Panel. C’est seulement quand on va sur la liste des backups qu’on peut le voir (si on est attentif au texte sur les boutons “upload to (…)”).  Lors d’un échange avec Akeeba, il nous a été confirmé qu’il n’y a pas de tâche CRON qui puisse être mise en place pour détecter un backup qui n’aurait PAS été uploadé https://www.akeebabackup.com/support/akeeba-backup-3x/26190-backups-to-amazon- s3.html  QUESTION : The only question left : could a CRON job be created (probably a new feature I guess) in order to check those sites with - backup OK - but upload to cloud NOK  ANSWER : No. We had very very few reports about this issue (about 2-3) on all the thousands of installation we have. Implementing such script could cause more issues instead of removing them. 37
  • 38. Récupérer le backup depuis Amazon S3 avec Akeeba REMPLACER LE SITE LIVE PAR LE BACKUP SITUÉ DANS AMAZON S3 38
  • 39. Récupérer le backup depuis le Cloud  Besoin de réinstaller le site à partir d’un backup situé sur Amazon S3 ?  Facile : sur la page qui liste les backups, il suffit de cliquer sur le bouton bleu “Manage remotely stored files” 39
  • 40. Récupérer le backup depuis le Cloud  Cela fait apparaître une fenêtre modale, permettant au choix de  Rapatrier le backup sur le serveur  Supprimer le backup  Télécharger sur son ordinateur 40
  • 41. Récupérer le backup depuis le Cloud  Mais forcément, si on a bien fait les choses, les “credentials” qu’on a mis dans la configuration ont uniquement le droit d’écrire sur Amazon S3  Dès lors, si on clique sur “Fetch back to server”, on aura un message d’erreur (écran ci-contre)  Comment faire ? Voici 3 méthodes : 1. La plus simple et la plus rapide : cliquer sur le bouton “Import Archives from S3” (slide suivant) 2. Simplement changer les “credentials” dans la Configuration du Profil, le temps de la récupération du Backup (puis remettre les credentials « write-only » !) 3. Ou bien télécharger puis uploader manuellement le fichier de backup 41
  • 42. Récupérer le backup depuis le Cloud  Récupérer le backup depuis le Control Panel d’Akeeba https://www.akeebabackup.com/documentation/akeeba-backup- documentation/ch03s02s05s03.html  Cliquer sur le bouton "Import Archives from S3"  Sur la page qui apparaît, introduire les “credentials” d’un Utilisateur ayant tous les droits  Voir plus loin la section Cyberduck pour voir comment créer un tel Utilisateur  En tout cas, par principe, toujours éviter d’utiliser les “credentials” de l’Utilisateur “root”  Cliquer sur le bouton "Connect to S3"  On peut alors naviguer dans les Buckets et les fichiers (choisir Bucket, puis cliquer sur le bouton "Change bucket")  Cliquer sur le fichier de votre choix pour le rapatrier  Le fichier est alors disponible dans la liste des backups disponibles en local  NB : Comment effacer/réinitialiser les Access Key et Secret Key après utilisation ? Facile : rien à faire : les clés sont sauvegardées dans la Session. Elles sont donc automatiquement effacées dès qu’on se déconnecte… 42
  • 44. Encryption via Akeeba Backup  Un backup classique réalisé avec Akeeba Backup est au format “.jpa”  Le format “.jpa” étant non encrypté, tout qui met la main sur votre fichier (qu’il soit sur votre ordinateur, votre serveur ou sur Amazon S3) peut le décompresser, le lire, l’installer  Dès lors, pour aller plus loin dans la sécurité, vous pouvez utiliser le format encrypté “.jps”, qui requiert donc un mot de passe (… qu’il faudra donc avoir sous la main le jour où)  https://www.akeebabackup.com/documentatio n/akeeba-backup/archiver-engines.html  https://www.akeebabackup.com/documentatio n/akeeba-backup-documentation/jps-archive- format.html 44
  • 45. Encryption via Akeeba Backup  Attention, ne pas confondre le format encrypté “.jps” avec le “ANGIE Password”  ANGIE est le script de restauration d’un backup  https://www.akeebabackup.com/documentation/akeeb a-backup/angie-joomla.html  Si vous êtes p.ex. en train de restaurer un backup en « live » sur un site, ce mot de passe évite qu’un visiteur puisse vous doubler et accéder aux écrans de réinstallation  Le ANGIE Password n’encrypte donc pas votre fichier  D’ailleurs, si vous avez-vous-même oublié votre ANGIE Password requis lors de la restauration, il suffit d’effacer le fichier suivant pour faire sauter la protection !  installationpassword.php 45
  • 46. Encryption via Amazon S3  A noter qu’Amazon S3 offre aussi des possibilités d’encryption  http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingEncryption.html 46
  • 47. Aller plus loin avec Amazon S3 INTERFACE PERMISSIONS LOGGING EVENTS VERSIONING LIFECYCLE 47
  • 48. AWS > Personnaliser l’interface  Amazon Web Services, c’est plusieurs dizaines de Services  Pour avoir vos raccourcis vers vos Services les plus utiles  Cliquer sur le bouton Edit  Faire glisser les icônes dans la barre de menu 48
  • 49. Bucket > Logging, Events, Versioning, Lifecycle  Une fois le Bucket ouvert, cliquer sur Properties  On peut configurer  Permissions  Logging  Events  Versioning  Lifecycle  Essayez ! 49
  • 50. AS3 > Lifecycle rules  Très utile : les Lifecycle Rules  On peut p.ex. Spécifier qu’après X jours, les fichiers sont automatiquement effacés  On peut aussi passer par des Stockages intermédiaires (p.ex. Glacier, moins cher mais avec un délai de quelques heures pour y accéder) 50
  • 51. AS3 > rendre public un/des fichier(s)  Pour donner accès à un fichier :  Sélectionner le(s) fichier(s)  Aller dans le menu Actions > Make Public  A droite, lorsque le bouton Properties est activé, on trouve l’url d’accès direct au fichier 51
  • 52. Aller plus loin avec Amazon S3 APPLICATIONS POUR GÉRER LES FICHIERS AU QUOTIDIEN CYBERDUCK 52
  • 53. Gestion plus efficace des fichiers  L’interface web d’Amazon S3 est conçue principalement pour configurer les Buckets, mais pas tellement pour gérer au quotidien les fichiers qui s’y trouvent Par exemple, on ne sait même pas trier les fichiers par date ou par nom…  Pour gérer son Amazon S3 (càd uploader/trier/effacer/changer les droits/…), il est donc préférable d’utiliser des applications adaptées :  Soit des logiciels (FileZilla ou WinSCP, les clients FTP bien connus, ne gèrent en effet pas le protocole S3)  http://cyberduck.io (Mac & Windows)  http://www.cloudberrylab.com/free-amazon-s3-explorer-cloudfront-IAM.aspx (free/pro)  Soit éventuellement des Extensions pour navigateurs FireFox  Sur FireFox, s3fox semble assez connu, mais il faut vérifier s’il est toujours suivi  http://www.s3fox.net  https://www.youtube.com/watch?v=L1cqzEYYUB0 (démo)  Mais dans tous les cas, veillez à créer le cas échéant un IAM User avec les droits appropriés (lecture/écriture/…) selon ce que vous voulez faire avec votre application 53
  • 54. Cyberduck > créer un nouvel utilisateur  Forcément, si on utilise une application, c’est qu’on va vouloir lister, ajouter, effacer des fichiers  Il faut donc d’abord créer un nouvel utilisateur auquel on donnera les droits voulus 54
  • 55. Cyberduck > nouvel Utilisateur > credentials  Bien noter les credentials 55
  • 56. Cyberduck > nouvel Utilisateur > Policy  Aller dans le menu Services > Users  Ouvrir l’Utilisateur créé pour Cyberduck  Cliquer sur l’onglet "Permissions"  Cliquer sur le bouton "Attach Policy" 56
  • 57. Cyberduck > nouvel Utilisateur > Policy > détail  Une (très) longue liste de Polices standards sont proposées  Pour faire simple, on va cocher AmazonS3FullAccess et valider  Pour le trouver rapidement, utiliser le filtre de recherche 57
  • 58. Cyberduck > configuration  Dans Cyberduck, cliquer sur le bouton Ouvrir une Connexion  Choisir S3  Introduire les credentials  Connecter 58
  • 59. Cyberduck > création d’un Signet  La liste des fichiers apparaît  On peut  Trier (ce que ne permet pas l’interface web d’Amazon S3…)  Ajouter  Effacer  Configurer le Bucket  Etc  Aller dans le menu Signet > Nouveau Signet si on veut éviter de devoir remettre les codes à chaque fois 59
  • 60. Cyberduck > accès au Signet  Grâce au Signet, la connexion sera directement accessible dans le futur 60
  • 61. Cyberduck > configuration avancée de S3  NB : on peut aussi configurer les Permissions, le Lifecycle etc directement depuis Cyberduck 61
  • 62. Aller plus loin avec Amazon S3 CRÉER DES NOTIFICATIONS 62
  • 63. Amazon S3 > créer des notifications (SNS)  Vous souhaitez être alerté p.ex. lorsqu’un de vos sites a effectivement envoyé son backup sur Amazon S3 ?  cela n’a évidemment rien d’obligatoire…  … mais c’est possible  C’est l’objet de ce chapitre, avec un exemple simple de notification par email, que vous pourrez affiner  Mais vous pourriez très bien vouloir aller encore plus loin, en utilisant les API ou en intégrant les notifications dans vos applications 63
  • 64. SNS > créer un nouveau topic  Aller dans Services > SNS  Créer un nouveau Topic  Lui donner un nom  Valider 64
  • 65. SNS > éditer le topic  Toujours depuis Services > SNS, on peut éditer les topics 65
  • 66. SNS > associer une Topic Policy  Pour que le Bucket ait l’autorisation de poster vers SNS, il faut créer une Topic Policy  Pour faire simple, on peut choisir “Everyone” pour les Utilisateurs qui peuvent publier sur ce Topic 66
  • 67. SNS > souscrire au Topic  Inscrivez-vous à votre Topic (Subscription)  Choisir Email comme Protocol  Indiquer votre email comme Endpoint 67
  • 68. SNS > envoi d’un message de confirmation  Un message de confirmation automatique est envoyé 68
  • 69. SNS > message de confirmation  Exemple de ce message de confirmation reçu par le destinataire 69
  • 70. SNS > confirmation de souscription validée  En cliquant sur le lien de validation, le destinataire obtient la confirmation de la souscription 70
  • 71. SNS > ajouter une notification  Retourner dans le Bucket  Appuyer sur le bouton Properties  Dans Events, cliquer sur Add Notification 71
  • 72. SNS > créer un Event pour le Bucket  Compléter  Choisir quels évènements déclenchent (ici, seulement “Put”)  Pour le champ “SNS Topic”, on trouve directement dans le menu déroulant le nom des Topics qu’on a créés (pas besoin d’écrire l’ARN à la main…) 72
  • 73. SNS > exemple de notification  Ci-contre, exemple d’email de notification envoyé automatiquement lors de l’upload d’un document dans le Bucket  Ceci étant dit, un tas d’autres choses sont aussi possibles avec Amazon Web Services, comme  Une notification via SMS  Une intégration avec d’autres services (SQS, …) 73
  • 75. Sources > Documentation et Support Akeeba  Explications générales du Cloud Backup  https://www.akeebabackup.com/documentation/akeeba-backup-documentation/step-by-step-guides.html  https://www.akeebabackup.com/documentation/akeeba-solo/how-to-cloud-backup-s3.html  Explications particulières liées à la sécurisation et lorsqu’on gère plusieurs sites  https://www.akeebabackup.com/support/akeeba-backup-3x/8694-is-amazon-s3-secret-key-a-secret.html  https://www.akeebabackup.com/support/akeeba-backup-3x/9084-secure-back-ups-with-amazon-s3.html  https://www.akeebabackup.com/support/akeeba-backup-3x/8835-how-is-amazon-key-info-saved.html  Un « open guide » sur AWS  https://github.com/open-guides/og-aws  + tous les liens mentionnés au fil des slides 75
  • 76. Extraits les plus intéressants tirés de ces sources  That post describes how to give only the PutObject privilege to the user. You should also add the DeleteObject privilege for quotas to work :)  The other possibility is to create a write-only Amazon S3 user and use that instead. As you observed, that would render the quotas ineffective, as the user would be unable to delete old backups. However this is the most secure option, as a potential hacker can never access your backups (download or delete).  The only thing you can't do is to transfer the backup archives from S3 to your server for easy restoration. But this is easy to work around; just go to the Configuration page and enter your regular access credentials before using the Manage Remote Files feature of Akeeba Backup :) 76
  • 78. Une stratégie de backup complète  Voilà ! Vous êtes maintenant fin prêt pour améliorer la stratégie de backup et donc la sécurité de votre site en disposant de backups qui sont tout à fait indépendants de votre hébergement  Au niveau backups, vous voici donc à l’abri d’un problème technique, d’une mauvaise manipulation… ou d’un hackeur !  Mais n’oubliez pas que la sécurité d’un site comporte aussi beaucoup d’autres dimensions que la stratégie de backup. Voyez par exemple à cet égard https://slides.aesecure.com  Une suggestion, une amélioration, une correction à apporter à cette présentation ? Qu’elle soit majeure ou mineure, n’hésitez pas à me contacter ! 78
  • 79. Merci  N’hésitez pas à me contacter  Marc Dechèvre  +32 474 37 13 12  marc woluweb.be  Skype : woluweb  woluweb.be  twitter.com/woluweb  facebook.com/marc.dechevre  linkedin.com/in/marc-dechevre-68b8172a 79
  • 80. Ah oui, encore une chose… 80 Hidden heart in the Joomla!® logo – sources Joomla! Magazine – august 2014

Notes de l'éditeur

  1. Police « stencil » pour le cachet « mise à jour dd.mm.yyyy »