Menu principal

Statut de la page

Installation d’un cluster Zimbra à 6 serveurs

Introduction Dans cet article, nous allons voir comment installer un cluster Zimbra à six noeuds étape par étape. La répartition des rôles au sein de ce cluster permettra de fournir une architecture résistante aux pannes dans les limites de ce qui est permis par Zimbra. L’installation se fera avec Zimbra version 8.8.15, l’installation ayant peu changé depuis au moins la version 7, il ne devrait pas y avoir de changements pour les versions à venir de la 8.8. Les quatre grands rôles de serveur dans un cluster Zimbra sont les suivants : LDAP, en mode mono-serveur, master/slave ou multi master pour une haute disponibilité parfaite : stockage la configuration globale, des serveurs, des utilisateurs, l’authentification locale et les comptes de service. Sans LDAP, point de fonctionnement du cluster. Mailstore : contient les données des utilisateur. Chaque utilisateur est rattaché à un serveur. En cas [...]
Lire la suite
Vus : 495
Publié par Morot : 34

Astuces Puppet

Tests Dry run : puppet agent -t --noop Valider la sytaxe d’un manifest : puppet parser validate manifest.pp Valider un template : erb -x -T '-' | ruby -c ERB Insérer une valeur : Simple code ruby cmme une boucle : Un commentaire : > Afficher une variable : Afficher une variable de portée globale : CLI Puppet agent Configurer le serveur : puppet config set server puppet.lab.morot.fr --section agent Lancer l’agent avec un serveur spécifique : puppet agent -t --server Facter Lister les facts : facter Obtenir un facts en [...]
Lire la suite
Vus : 517
Publié par Morot : 34

Vagrant

Vagrant est un logiciel libre permettant de constuire rapidement des machines virtuelles (et depuis peu des conteneurs Docker) à destination de développeurs. Bien qu’utilisable également avec d’autres solutions de virtualisation, Virtualbox reste la solution privilégiée. Via une syntaxe de type code, il permet de faciliter la génération et la configuration de ces machines ainsi que leur post-configuration. Les exemples pas à pas sont tous disponibles sur mon Gitlab à l’adresse : https://gitlab.com/julienmorot/vagrant-examples. J’utiliserai pour tous les exemples la « box », c’est à dire l’image système officielle Ubuntu 18.04 de l’équipe Ubuntu. Je vous propose au travers de cet article, de progresser pas à pas au travers d’exemples de plus en plus [...]
Lire la suite
Vus : 571
Publié par Morot : 34

Yum et le résolveur de depéndances inverses…

Allez, petite blague avec le package libmspack qui n’a visiblement pas de dépendances :

rpm -q --whatrequires libmspack
no package requires libmspack

On devrait donc pouvoir supprimer ce package!

rpm -e libmspack
error: Failed dependencies:
        libmspack.so.0()(64bit) is needed by (installed) open-vm-tools-10.2.5-3.el7.x86_64

Il y a effectivement une dépendance non pas sur le package mais sur la bibliothèque :

yum deplist open-vm-tools|grep -i libmspack
  dependency: libmspack.so.0()(64bit)
   provider: libmspack.x86_64 0.7-0.1.alpha.el7

Il ne faut donc pas utiliser yum mais repoquery:

repoquery -q --installed --whatrequires libmspack
libmspack-0:0.7-0.1.alpha.el7.x86_64
open-vm-tools-0:10.2.5-3.el7.x86_64
Vus : 482
Publié par Morot : 34

Mettre en forme du texte sous Bash

A chaque fois que je cherche à mettre du texte en forme pour mettre en valeur l’affichage de mes scripts sous bash je perds du temps retrouver mes petits. J’ai donc fini par faire ce petit script qui créé une palette facilitant le choix de la mise en forme. Voici la sortie : Et pour le code : #!/bin/bash#man 4 console_codesecho "### Colorisation ###"for bg in {40..47} {100..107} 49 ; [...]
Lire la suite
Vus : 571
Publié par Morot : 34

Mémo openssl

Création : Générer une clé privée : openssl genrsa -out key.pem 2048 Générer un CSR à partir d’une clé existante : openssl req -out csr.csr -key key.pem -new Générer une nouvelle clé et un CSR : openssl req -out csr.csr -new -newkey rsa:2048 -nodes -keyout key.pem Générer un certificat auto-signé : openssl req -x509 -sha256 -nodes -newkey rsa:2048 -keyout key.pem -out certificate.crt -days 365 Générer un CSR sur la base d’un certificat et d’une clé existants : openssl x509 -x509toreq -in certificate.crt -signkey key.pem -out csr.csr Retirer la pass-phrase d’une clé privée : openssl rsa -in key.pem -out newkey.pem Utiliser un fichier de [...]
Lire la suite
Vus : 570
Publié par Morot : 34

Debconf, Preseed et troubleshooting.

Dernièrement j’ai cherché à automatiser l’installation d’un serveur Openldap avec Puppet et un fichier de préconfiguration d’un package Debian. L’installation était bloqué et un ps révélait que l’installation était bloquée sur la préconfiguration du package : 22165 ? Ss 0:00 /usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install slapd 22170 ? S 0:00 /bin/sh -c /usr/sbin/dpkg-preconfigure --apt || true 22171 ? R 96:21 /usr/bin/perl -w /usr/sbin/dpkg-preconfigure --apt 22173 ? Z 0:00 [dpkg-preconfigu] 22178 ? R 26:27 /bin/sh /tmp/slapd.config.JDMbkD configure Pour le debug, première étape, préchargeons notre fichier preseed dans debconf : echo -e "slapd slapd/root_password password ldappwd" | debconf-set-selections echo -e "slapd slapd/root_password_again password [...]
Lire la suite
Vus : 530
Publié par Morot : 34

Logger l’ensemble des commandes shell lancées par les utilisateurs

Un pré-requis à une bonne politique de sécurité consiste à tracer l’ensemble des commandes des utilisateurs. De nombreuses solutions passent par la modification de la variable d’environnement PROMPT_COMMAND dans le /etc/bash.bashrc. Problème évident, c’est pour bash uniquement entre autres défauts. Un meilleur moyen de journaliser les commandes shell lancées par les utilisateurs consiste à procéder à la surveillance au niveau kernel et surveiller les appels systèmes execve. Pour cela, il suffit d’installer le package Ubuntu auditd ou audit sous RHEL/CentOS et de définir ces règles attendues dans le fichier /etc/audit/audit.rules : -a exit,always -F arch=b64 -S execve -a exit,always -F arch=b32 -S execve Un redémarrage de service plus tard via systemctl restart [...]
Lire la suite
Vus : 851
Publié par Morot : 34

Un système de fichiers Haute Disponibilité avec GlusterFS ! (Paru dans GLMF 144)

GlusterFS est un système de fichiers réseau client/serveur permettant d’agréger différents nœuds de stockage afin de fournir un environnement NAS hautement disponible. 1. Présentation 1.1 Pour quoi faire ? Admettons que j’ai une application Web lambda, je vais pouvoir déployer plusieurs instances Apache ou Nginx qui se trouveront derrière un équilibreur de charge, lui-même hautement disponible. Sur chaque instance de serveur Web, il me sera facile de déployer l’application. Toutefois chaque instance aura besoin d’accéder à des fichiers communs, générés ou non par l’application. Bien souvent, je vais rencontrer dans ce cas un serveur NFS qui va donc lui-même constituer un point de faiblesse dans l’architecture. Gluster permet de mettre en cluster plusieurs nœuds de stockage (à minima deux), ce qui permet de [...]
Lire la suite
Vus : 1128
Publié par Morot : 34

SSLH : Faire cohabiter un serveur Web et SSH sur le même port

SSLH est un outil qui permet de multiplexer le port 443 afin notamment de contourner certains firewalls qui bloquent le port SSH. Typiquement, en HTTP c’est le client qui communique en premier quand pour le protocole SSH c’est le serveur qui envoie le premier message. SSLH utilise ces différences de fonctionnement via des sondes (pour XMPP, OpenVPN…) afin de fournir cette fonctionnalité de multiplexage. Dans mon cas, je veux partager le port 443 avec un serveur Apache. Dans un premier temps, il faut indiquer à Apache de ne plus écouter sur le port 443 mais le 1443. Il faut changer tous les VirtualHost dans les fichiers /etc/apache2/sites-enabled en remplaçant : <VirtualHost *:443> en <VirtualHost *:1443> Et adapter de la même façon le fichiers /etc/apache2/ports.conf : Listen 80 <IfModule ssl_module> Listen [...]
Lire la suite
Vus : 560
Publié par Morot : 34
Powered by BilboPlanet