Les services
On parle de services pour tous composants installés hors de l'installation par défaut, fonctionnant en arrière plan et offrant des mécanismes et valeurs ajoutées.
Sommaire
Haproxy
Service permettant de gérer la répartition de charge des protocoles de publication Web HTTP/HTTPS (SLL/TLS)
- Ce service est installé sur le serveur suen01
- La configuration détaillé: Haproxy installation
- Le fichier config Haproxy.cfg
LetsEncrypt
Service accompagnant le haproxy pour assurer le certificat et une reconnaissance du site à travers une communication sécurisée (SSL/TLS)
- Ce service est installé sur le serveur suen01
- La configuration détaillée de LetsEncrypt
LXD/LXC
Service offrant la virtualisation de machine à l'intérieur de master
- Ce service est installé sur le serveur suen01
- la configuration LXD/LXC
Découvrir l’utilisation de LXC Tutoriel
apache
Plateforme Web qui est utilisé sur:
- Mael01 avec PHP pour une stabilité de répartition de charge entre serveur
- Mael02 et 03 sont à définir
php
Service de traitement de langage Web qui est installé sur:
- Mael01 pour offrir la plateforme Wikimedia
nodejs
Service Web dont l’objectif est l’utilisation de cette plateforme sur tous les serveurs Fronts.
- L’utilisation du HAProxy est préconisée
PostgreSQL
Service de base de donnée fournissant l’ensemble des données centralisées du site. L’objectif est d’assurer un service mirroir des BD dans le cadre d’une expension de l’infrastructure ou d’une activité élevée. Il est installé sur:
- Suen02
Voir les possibilités de PostgreSQL Portable
Notions de Base
Méthode en bash
Voir le lien: Création utilisateur et DB
Utilisation des bases:
- su postgres
Création d'un compte:
- createuser <utilisateur>
Création d'une BD:
- createdb <basededonnees>
Affectation du mot de passe:
- psql
- alter user <utilisateur> with encrypted password '<password>';
Affecter les pleins droits sur la BD:
- grant all privileges on database <dbname> to <username> ;
Méthode en psql
Création d'une BD:
- CREATE DATABASE <basededonnees>;
Création d'un compte:
- CREATE USER <utilisateur> WITH password '<utilisateur>';
Affecter les pleins droits sur la BD:
- GRANT ALL privileges ON DATABASE <basededonnees> TO <utilisateur>;
WikiMedia
Service de documentation, il fournit la bibliothèque personnelle de l’entité Ensuelma. Ce système est installé sur
- Mael01 pour le portail
- Suen02 pour la BD
Fichier de config
Tous les paramètres du portail se situe dans le fichier de config LocalSettings.php
NextCloud
Service de gestion des fichiers, données numériques.
- Infrastructure en cours d'installation...
Configuration voulue
- Service Web: Mael01 (cloner Mael01 vers les autres)
- Incluant: Apache/PHP
- Base de données: Suen02
- Config: PostgreSQL
- Répertoire Disque: Utilisation du lecteur USB 'suen01:/mnt/usb/
Roundcube Webmail
- Installation sur les serveurs Web: mael01
- La configuration de Roundcube
Mail Postfix et imap
Ajouter au mailing:
- postconf -e 'home_mailbox= Maildir/'
- postconf -e 'virtual_alias_maps= hash:/etc/postfix/virtual'
- vi /etc/postfix/virtual
- postmap /etc/postfix/virtual
- systemctl restart postfix
- echo 'export MAIL=~/Maildir' | sudo tee -a /etc/bash.bashrc | sudo tee -a /etc/profile.d/mail.sh
- source /etc/profile.d/mail.sh
Reconfiguration Postfix
- dpkg-reconfigure postfix
- Internet Site
- fredericcote.com
- freddyc
- $myhostname, fredericcote.com, mail.fredericcote.com, suen03.lxd, localhost.lxd, localhost
- no
- 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128, 192.168.5.22, 74.116.187.16_
- procmail = yes
- 0
- +
- ipv4
Suivre Tuto postfix ubuntu
Config Haproxy ajouté
- Proxy smtp vers suen03
frontend ft_smtp
bind 192.168.1.20:25 mode tcp no option http-server-close timeout client 1m log global option tcplog default_backend bk_postfix
backend bk_postfix
mode tcp no option http-server-close log global option tcplog timeout server 1m timeout connect 5s server suen03.ensuelma 192.168.5.22:25 send-proxy
- Meme chose pour Imap
frontend imap
bind 192.168.1.20:143 mode tcp option tcplog default_backend imap
frontend imaps
bind 192.168.1.20:993 mode tcp option tcplog default_backend imaps
backend imap
mode tcp option tcplog server suen03.ensuelma 192.168.5.22:143 send-proxy
backend imaps
mode tcp option tcplog server suen03.ensuelma 192.168.5.22:993 send-proxy
OpenVPN
Installation sur les serveurs datalanding.fr et datalanding.com
- Installation des packages openvpn et certificat easy-rsa
sudo apt install openvpn easy-rsa
- Création d'un répertoire pour les certificats
make-cadir ~/openvpn-ca cd ~/openvpn-ca
- Édition des variables du template Certificat
vi vars
Changement des variables associés au pays ...
# Don't leave any of these fields blank. export KEY_COUNTRY="CA" export KEY_PROVINCE="QC" export KEY_CITY="Quebec" export KEY_ORG="Ensuelma" export KEY_EMAIL="moi@fredericcote.com" export KEY_OU="EnsuelmaOU" # X509 Subject Field export KEY_NAME="leserveur"
- Création d'un certificat d'autorité
source vars
Le message doit apparaître
Output NOTE: If you run ./clean-all, I will be doing a rm -rf on /home/sammy/openvpn-ca/keys
- Effectuer un clean
./clean-all
- Création du CA
./build-ca
- Entrer 'Enter' jusqu'à la fin
- Création du certificat serveur , la clef et fichiers de chiffrement
./build-key-server leserveur
- Entrer 'Enter' jusqu'à la fin et [y] 2 fois à la toute fin
- Génération d'un clef forte Diffie-Hellman
./build-dh
Laisser rouler, ça prend du temps
- Ensuite génération de la signature HMAC pour renforcir l'intégrité TLS du serveur:
openvpn --genkey --secret keys/ta.key
- GENERATION DU CLIENT AVEC CLEF
source vars ./build-key clientfr
Note: L'intégration d'un mot de passe : ./build-key-pass clientfr
- Entrer 'Enter' jusqu'à la fin et [y] 2 fois à la toute fin
CONFIGURATION DES SERVICES OPENVPN
cd ~/openvpn-ca/keys sudo cp ca.crt leserveur.crt leserveur.key ta.key dh2048.pem /etc/openvpn
- Transférer un modèle de config
gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf
- Éditer le modèle
sudo vi /etc/openvpn/server.conf
- Modifier les valeurs pour obtenir:
# open up this port on your firewall. port 636 # TCP or UDP server? proto tcp ;proto udp cert leserveur.crt key leserveur.key # This file should be kept secret push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 208.67.222.222" push "dhcp-option DNS 208.67.220.220" tls-auth ta.key 0 # This file is secret key-direction 0 cipher AES-128-CBC auth SHA256 user nobody group nogroup
- Quitter et sauvegarder
CONFIGURATION SERVEUR
Permettre le IP Forwarding
- Éditer le fichier conf système
sudo vi /etc/sysctl.conf
- Enlever le commmentaire pour donner:
net.ipv4.ip_forward=1
- Quitter , sauvegarder et lancer la commande de rafraîchissement:
sudo sysctl -p
Ajuster le fireWall
- S'assurer de connaître l'interface, ex: eth0 et éditer le FireWall
sudo vi /etc/ufw/before.rules
- S'assurer de mettre à jour les informations suivantes dès les premières lignes et avant *filter
# DEBUT REGLES OPENVPN # NAT table rules *nat :POSTROUTING ACCEPT [0:0] # Permet le traffic du client OpenVPN vers eth0 -A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE COMMIT # FIN REGLES OPENVPN