« Installer MariaDB » : différence entre les versions
Aucun résumé des modifications |
|||
Ligne 96 : | Ligne 96 : | ||
| version_ssl_library | OpenSSL 1.1.1n 15 Mar 2022 | | | version_ssl_library | OpenSSL 1.1.1n 15 Mar 2022 | | ||
+---------------------+-----------------------------+ | +---------------------+-----------------------------+ | ||
== Paramétrage du pare-feu == | |||
=== Matrice des flux autorisés === | |||
Par défaut, les flux non listés ci-dessous ne sont pas autorisés sur l’équipement. | |||
{| class="wikitable" style="margin:auto" | |||
|+ Matrice de flux | |||
|- | |||
! Source !! Protocole(s) !! Port(s) !! Description | |||
|- | |||
| * || tcp || 22 || Accès SSH, SFTP. | |||
|- | |||
| phpmyadmin.domaine.tld || tcp || 3306 || Accès MySQL ''(Dans le cas où [[PHPMyAdmin]] est installé sur le serveur web)''. | |||
|- | |||
| <@IP_SUPERVISION> || udp || 161,162 || Accès SNMP depuis serveur supervision. | |||
|- | |||
| * || icmp || — || Réponse aux requêtes ping. | |||
|} | |||
=== Configuration iptables sur la couche IPv4 === | |||
* Installation des paquets '''iptables''' (pare-feu) et '''iptables-persistent''' ''(sauvegarde persistante de la configuration)''. | |||
{{ Box Console | objet=root@apache2:~# apt-get install iptables iptables-persistent -y }} | |||
* Ajout des règles '''iptables''' pour autoriser les flux '''SSH''', '''ICMP''' et '''MySQL''' : | |||
{{ Box Console | objet=root@apache2:~# iptables -A INPUT -p tcp --dport 22 -j ACCEPT<br /> | |||
root@apache2:~# iptables -A INPUT -p tcp -s <@IP_PHPMYADMIN> --dport 3306 -j ACCEPT<br /> | |||
root@apache2:~# iptables -A INPUT -p udp –m multiport -s <@IP_SUPERVISION> --dports 161,162 -j ACCEPT<br /> | |||
root@apache2:~# iptables –A INPUT –p icmp –j ACCEPT<br /> | |||
root@apache2:~# iptables –A INPUT –i lo –j ACCEPT<br /> | |||
root@apache2:~# iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT<br /> | |||
root@apache2:~# iptables -P INPUT DROP }} | |||
* Sauvegarde de la configuration et application automatique à chaque redémarrage du système. | |||
{{ Box Console | objet=root@apache2:~# dpkg-reconfigure iptables-persistent }} | |||
=== Configuration ip6tables sur la couche IPv6 === | |||
* Ajout des règles '''ip6tables''' pour autoriser les flux '''SSH''', '''ICMP''' et '''MySQL''' : | |||
{{ Box Console | objet=root@apache2:~# iptables -A INPUT -p tcp --dport 22 -j ACCEPT<br /> | |||
root@apache2:~# ip6tables -A INPUT -p tcp -s <@IP_PHPMYADMIN> --dport 3306 -j ACCEPT<br /> | |||
root@apache2:~# ip6tables -A INPUT -p udp –m multiport -s <@IPV6_SUPERVISION> --dports 161,162 -j ACCEPT<br /> | |||
root@apache2:~# ip6tables –A INPUT –p icmpv6 –j ACCEPT<br /> | |||
root@apache2:~# ip6tables –A INPUT –i lo –j ACCEPT<br /> | |||
root@apache2:~# ip6tables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT<br /> | |||
root@apache2:~# ip6tables -P INPUT DROP }} | |||
* Sauvegarde de la configuration et application automatique à chaque redémarrage du système. | |||
{{ Box Console | objet=root@apache2:~# dpkg-reconfigure iptables-persistent }} | |||
[[Category:Bases de données]] | [[Category:Bases de données]] |
Version du 6 juillet 2024 à 23:29
.:[ Bases de données ]:.
Archives : MySQL
Installation de MariaDB
- Installation du paquet mariadb-server :
|
|
- Editer le fichier de configuration 50-server.cnf disponible dans le répertoire /etc/mysql/mariadb.conf.d puis rechercher la ligne :
bind-address = localhost
- À remplacer par :
bind-address = <@IP_MARIADB_PUBLIQUE>
- Redémarrer le service mariadb pour prendre en compte les modifications :
|
|
Paramétrage de la liaison SSL
Création de l’autorité de certification locale (AC)
Ce certificat permettra de signer les demandes de certificat pour le serveur de base de données et les différents clients pouvant s’y connecter. L’ensemble des certificats et clés générées seront stockés dans le répertoire /etc/ssl/private.
Génération de la clé secrète
- Génération et stockage de la clé secrète de l’AC dans le fichier CA.key (ce fichier ne doit pas être divulgué) :
|
|
Génération du certificat
- Génération et stockage du certificat de l’AC dans le fichier CA.crt (ce fichier ne doit pas être divulgué) :
|
|
Création d’un jeu de certificat pour le serveur de base de données
Le certificat ainsi que la clé générée ci-après, seront renseignés dans le fichier de configuration du serveur de base de données MariaDB.
Génération de la clé secrète et de la demande de certificat
- Génération et stockage de la clé secrète du serveur dans le fichier MariaDB.key et sa demande de certificat dans le fichier MariaDB.csr :
|
|
Signature de la demande de certificat par l’AC
- Signature de la demande certificat pour le serveur de base de données et génération du certificat dans le fichier MariaDB.crt :
|
|
Configuration de MariaDB
- Editer le fichier de configuration /etc/mysql/mariadb.conf.d/50-server.cnf puis dé-commenter et adapter les lignes suivantes :
ssl-ca = /etc/ssl/private/CA.crt ssl-cert = /etc/ssl/private/MariaDB.crt ssl-key = /etc/ssl/private/MariaDB.key
- Procéder au redémarrage du service MariaDB pour prendre en charge les modifications :
|
|
- Il est possible de rendre la liaison SSL obligatoire en ajoutant le paramètre suivant dans le fichier de configuration en plus des lignes déjà ajoutées :
require-secure-transport = off
Validation de la configuration
- Se connecter au serveur de base de données en root puis saisir la commande suivante :
|
|
- Lorsque la liaison SSL est opérationnelle, la ligne have_ssl doit retourner comme valeur YES.
+---------------------+-----------------------------+ | Variable_name | Value | +---------------------+-----------------------------+ | have_openssl | YES | | have_ssl | YES | | ssl_ca | /etc/ssl/private/CA.crt | | ssl_capath | | | ssl_cert | /etc/ssl/private/SRV040.crt | | ssl_cipher | | | ssl_crl | | | ssl_crlpath | | | ssl_key | /etc/ssl/private/SRV040.key | | version_ssl_library | OpenSSL 1.1.1n 15 Mar 2022 | +---------------------+-----------------------------+
Paramétrage du pare-feu
Matrice des flux autorisés
Par défaut, les flux non listés ci-dessous ne sont pas autorisés sur l’équipement.
Source | Protocole(s) | Port(s) | Description |
---|---|---|---|
* | tcp | 22 | Accès SSH, SFTP. |
phpmyadmin.domaine.tld | tcp | 3306 | Accès MySQL (Dans le cas où PHPMyAdmin est installé sur le serveur web). |
<@IP_SUPERVISION> | udp | 161,162 | Accès SNMP depuis serveur supervision. |
* | icmp | — | Réponse aux requêtes ping. |
Configuration iptables sur la couche IPv4
- Installation des paquets iptables (pare-feu) et iptables-persistent (sauvegarde persistante de la configuration).
|
|
- Ajout des règles iptables pour autoriser les flux SSH, ICMP et MySQL :
|
|
- Sauvegarde de la configuration et application automatique à chaque redémarrage du système.
|
|
Configuration ip6tables sur la couche IPv6
- Ajout des règles ip6tables pour autoriser les flux SSH, ICMP et MySQL :
|
|
- Sauvegarde de la configuration et application automatique à chaque redémarrage du système.
|
|