Bonjour,
Voiçi un compte rendu des actions opérés après que l'os de mon raspberry pi (utilisé pour un serveur web perso) m'ait lâché.
Bien sûr, j'éviterais de parler de tout ce qui est récuperation de la db à froid de la carte SD , ni de la reconstruction du site web, ni de la reinstallation de l'OS, plutôt les choix que j'ai fait.
1- L'ancien site web était sur apache/MySQL/PHP, j'ai décidé de migrer vers nginx/mariadb/php.
Raison:
Nginx me semble plus facilement configurable, même si la doc pour apache est plus facilement accessible
j'ai choisi mariadb pour les performances
2- J'ai choisi de prendre les package plutôt que créer des containers pour la simple raison que ce site web ne néccessite pas de CI/CD, et donc, je ne voulais pas non plus que ça se transforme en prise de tête
Suite à ça, il m'a fallu penser un peu sécurité
3- Bien sûr, j'ai supprimé l'utilisateur pi, et créer un user à moi
4- Je n'autorise que les accès ssh avec clef, pour éviter les attaques brut force
5- J'ai modifié le port d'écoute du ssh pour éviter que ça loggue de trop
6- j'ai installé fail2ban et sshguard
Côté ssh , cela me semble suffisant, mais si vous avez des idées, je suis preneur
6- Côté web, étant amené à modifier le site web en remote, j'ai configuré le site web en SSL via certbot (Let's encrypt) et rediriger toutes les requêtes du ports 80 vers le port 443
Cela me semble suffisant, du moins les trucs que j'ai pu lire à droite à gauche ne me semble pas aller plus loin.
Il me semble qu'il me manque une chose, mais j'ignore quoi , avez vous une idée ?
# ip table
Posté par Anonyme . Évalué à 2.
il manque pas le parfeu ? :)
iptable (mais je crois que ca existe plus)
j'utilise shorewall, avec un policy qui interdit tout sauf ce que j'ai autorisé
[^] # Re: ip table
Posté par -=[ silmaril ]=- (site web personnel) . Évalué à 2.
Shore wall n'étant qu'un frontend à iptable
# Accès ssh local
Posté par chimrod (site web personnel) . Évalué à 8.
De mon côté, j'ai conservé l'accès avec mot de passe sur mon pi, uniquement à partir des adresses locales.
Ça donne quelque chose comme ça dans le fichier
/etc/ssh/sshd_config
# Renforcer la sécurité de https
Posté par htsr . Évalué à 4.
Le site de Mozilla https://ssl-config.mozilla.org/ permet de générer une configuration pour plusieurs serveur web mais aussi base de données, serveur mail…
3 niveaux de sécurité sont proposés : moderne, intermédiaire et vieux.
# Renforcer la sécurité de openssh
Posté par htsr . Évalué à 3.
Au minimum, désactive la connexion pour le compte root.
Le site de Mozilla (encore ;) https://infosec.mozilla.org/guidelines/openssh propose des configurations pour le serveur openssh mais aussi le client.
C'est un document pour aider les employés de Mozilla, mais il donne plein de bons conseils (par exemple comment avoir une authentification à plusieurs facteurs).
# Mariadb
Posté par -=[ silmaril ]=- (site web personnel) . Évalué à 2.
Wrong choice, try again?
D'expérience mysql est toujours devant Maria en terme de perf à releases équivalentes, et Maria a de grosses 'régression' de parsing/perfs qui commencent tout juste à s'améliorer en 10.4 (ie on retrouve les perfs de mysql 5.5)
[^] # Re: Mariadb
Posté par Eh_Dis_Mwan . Évalué à 1.
Bad choice alors. Fait chier, vraiment.
Bon la base est pas enorme non plus, je vais dumper la base et la remettre sur du mysqld
Merci
[^] # Re: Mariadb
Posté par -=[ silmaril ]=- (site web personnel) . Évalué à 2.
Franchement c'était plus pour l'info, je doute que tu le sente passer t'embete pas à remettre un mysql.
[^] # Re: Mariadb
Posté par faelar . Évalué à 1.
Comme je ne l'ai pas vu indiqué clairement, selon de stockage tu peux utiliser ça en moteur avec mariadb : https://myrocks.io/
[^] # Re: Mariadb
Posté par Sylvain (site web personnel) . Évalué à 1.
tu as une source objective de ce que tu avance ? ( pas un blog mysql quoi .. )
[^] # Re: Mariadb
Posté par Sylvain (site web personnel) . Évalué à 1.
Parceque bon ca fait une paille que mysql est derriere, bien avant la 10.3, surtout que mysql ne fait pas la moitié de mariadb en terme de functionnalité… https://www.softizy.com/blog/mariadb-10-1-mysql-5-7-performances-ibm-power-8/
[^] # Re: Mariadb
Posté par Nonolapéro . Évalué à 2.
Je ne sais pas si cet article est encore d'actualité suite à la sortie de Mysql 8.
[^] # Re: Mariadb
Posté par -=[ silmaril ]=- (site web personnel) . Évalué à 2.
source: experience professionnelle
Nous avons une douzaine de serveurs SQL qui tournaient sous mysql 5.5, l'upgrade debian/stretch à imposé la migration sur mariadb 10.0, résultat les requêtes de recherches de notre application on nécessité l'ajout d'un /tmp de 100Go (sur des machines dont la racine fait 10Go, + volume séparé pour le /var/lib/mysql) car le parser analyse mal les requêtes et génère des fichiers temporaires énormes (et donc des temps de requêtes supérieurs a 3 minutes).
Accessoirement les saturations de /tmp entrainement des blocages d'écritures des relay-logs, avec corruption, alors même que le relay-logs n'est pas sur la même partition.
Pour l'instant mes tests montrent que seul un passage à mariadb 10.4 permet de retrouver un parseur digne de mysql 5.5 mais il est tout juste sorti et je n'ai pas encore suffisamenet analysé les impacts
# .
Posté par Skz . Évalué à 2.
D'une manière générale, mysql n'est pas bon non plus contrairement à ce qu'on pourrait penser : ) du fait de son fonctionnement interne… et de sa façon d'exécuter les requêtes (son optimiseur interne est une aberration…) mais cela n'importe pas beaucoup au final sur des petites bases…
Sinon très clairement il va te manquer une couche iptable et n'ayant pas d'info sur la segmentation que tu as faite sur ta machine en terme de lv mais si on veut être dans les "règle de l'art" il faut s'y pencher :)
What else ? suivre les correctifs niveaux applicatifs
# En plus
Posté par faelar . Évalué à 1.
Si tu veux t'amuser tu peux faire tourner selinux (ou apparmor). C'est un peu douloureux au début ou sur des déploiements complexes.
Et sinon les indispensables : backup et monitoring !
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.