Documentation
De wikisio
(Redirigé depuis Accueil)
Déploiement d’une Infrastructure Web Sécurisée avec LXC
0 - Mise en place de l’infrastructure
VPS
1. Aller sur https://pulseheberg.com
2. Acheter le VPS EDU-2 dans l’offre Education Cloud
Nom de domaine
1. Aller sur https://ovhcloud.com
2. Acheter un nom de domaine
3. Associer le domaine à l’adresse IP du VPS via la gestion DNS
1 - Sécurité
Bonnes pratiques SSH
Modifier le fichier :
/etc/ssh/sshd_config
Recommandations :
PermitRootLogin no Port 2222
Puis redémarrer le service :
systemctl restart ssh
Fail2Ban
Installer Fail2Ban :
apt install fail2ban -y
Modifier ou créer le fichier :
/etc/fail2ban/jail.local
Configuration :
[sshd] enabled = true port = 2222 filter = sshd logpath = /var/log/auth.log maxretry = 5 bantime = 3600
Redémarrer :
systemctl restart fail2ban
IPSet + Firewall
Créer une liste noire :
ipset create blacklist hash:ip
Ajouter la règle iptables :
iptables -I INPUT -m set --match-set blacklist src -j DROP
Sauvegarder :
netfilter-persistent save
2 - Containerisation avec LXC
Installation de LXC
apt-get install lxc lxc-templates -y
Créer les conteneurs :
lxc-create -n nginx -t debian lxc-create -n monsite -t debian
Configurer les IP
Installer :
- Apache dans monsite
- Nginx dans nginx
Configuration NAT
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination *adresse ip* iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination *adresse ip* iptables -t nat -A POSTROUTING -j MASQUERADE
Configuration Reverse Proxy (Nginx)
server {
listen 80;
server_name mondomaine.tld;
access_log off;
# Autoriser uniquement GET, HEAD, POST
if ($request_method !~ ^(GET|HEAD|POST)$) {
return 444;
}
location / {
proxy_pass http://*adresse ip*/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
3 - Documentation interne
Installation de MediaWiki
Préparer la base de données (MySQL/MariaDB).
Téléchargement :
cd /tmp wget https://releases.wikimedia.org/mediawiki/1.41/mediawiki-1.41.0.tar.gz tar -xzf mediawiki-1.41.0.tar.gz
Déploiement :
rm -rf /var/www/html/* mv mediawiki-1.41.0/* /var/www/html/ chown -R www-data:www-data /var/www/html/ chmod -R 755 /var/www/html/
Finaliser l’installation via navigateur :
http://mondomaine.tld
Sécurisation
- Installer un certificat SSL (Let’s Encrypt recommandé)
- Activer l’authentification Apache (apache-auth)
- Ajouter une règle Fail2Ban pour protéger l’authentification
- Restreindre l’accès par IP si nécessaire
Mise en place des sauvegardes
Sauvegarde locale simple :
tar -czf /backup/wiki_$(date +%F).tar.gz /var/www/html mysqldump -u root -p wikidb > /backup/wikidb_$(date +%F).sql
Automatiser avec cron :
crontab -e
Exemple :
0 3 * * * /script/backup.sh