Catégorie : Ligne de commande

21 juin 2019 /

DRBD fait référence aux périphériques en mode bloc conçus pour former des clusters haute disponibilité (HA). Pour ce faire, un périphérique de bloc entier est mis en miroir via le réseau. DRBD peut être compris comme un raid-1 réseau.

Le problème est le suivant, DRBD ne se connecte pas à tous ses volumes réseaux suite à une panne d’un des contrôleurs de la baie de disques.

Après la remise en état du contrôleur, je me retrouve avec l’erreur suivante:

Supervision de l’etat des volumes DRBD depuis la baie n° 1

drbd-overview

0:datastores/0 Connected Primary/Secondary UpToDate/UpToDate
1:datastores/1 Connected Primary/Secondary UpToDate/UpToDate
2:images-stores02/0 StandAlone Primary/Unknown UpToDate/DUnknown 
3:images-stores03/0 Connected Primary/Secondary UpToDate/UpToDate
4:images-storesHS/0 StandAlone Primary/Unknown UpToDate/DUnknown

Supervision de l’etat des volumes DRBD depuis la baie n° 2

drbd-overview

0:datastores/0 Connected Secondary/Primary UpToDate/UpToDate
1:datastores/1 Connected Secondary/Primary UpToDate/UpToDate
2:images-stores02/0 WFConnection Primary/Unknown UpToDate/DUnknown
3:images-stores03/0 Connected Secondary/Primary UpToDate/UpToDate
4:images-storesHS/0 WFConnection Primary/Unknown UpToDate/DUnknown

Pour réparer cela:

Depuis la baie n° 2

drbdadm secondary images-stores02/0
drbdadm disconnect images-stores02/0
drbdadm connect --discard-my-data images-stores02/0

drbdadm secondary images-storesHS/0
drbdadm disconnect images-storesHS/0
drbdadm connect --discard-my-data images-storesHS/2F0

Depuis la baie n°1

drbdadm primairy mages-storesHS/0
drbdadm disconnect images-storesHS/0
drbdadm connect images-storesHS/0

drbdadm primairy images-stores02/0
drbdadm disconnect images-stores02/0
drbdadm connect images-stores02/0

On verifie que syncronisation s’est bien lancée:

cat /proc/drbd

version: 8.4.3 (api:1/proto:86-101)
srcversion: 1A9F77B1CA5FF92235C2213
0: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r—–
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
1: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r—–
ns:0 nr:59608 dw:232804 dr:0 al:0 bm:23 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
2: cs:SyncTarget ro:Secondary/Primary ds:Inconsistent/UpToDate C r—–
ns:0 nr:888388 dw:888376 dr:972 al:0 bm:477 lo:3 pe:0 ua:3 ap:0 ep:1 wo:f oos:1404644
[===>…………….] sync’ed: 22.3% (1404644/1800120)K
finish: 0:13:30 speed: 1,724 (1,716) want: 102,400 K/sec
3: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r—–
ns:0 nr:436052 dw:3326216 dr:0 al:0 bm:196 lo:1 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
4: cs:SyncTarget ro:Secondary/Primary ds:Inconsistent/UpToDate C r—–
ns:0 nr:8702052 dw:8700428 dr:992 al:0 bm:606 lo:2 pe:0 ua:2 ap:0 ep:1 wo:f oos:4173260
[============>…….] sync’ed: 67.5% (4072/12488)Mfinish: 0:01:32 speed: 44,952 (36,060) want: 0 K/sec

Une fois la syncronisation terminée, vous devriez avoir cela:

cat /proc/drbd

version: 8.4.3 (api:1/proto:86-101)
srcversion: 1A9F77B1CA5FF92235C2213
0: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r—–
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
1: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r—–
ns:0 nr:183320 dw:356516 dr:0 al:0 bm:23 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
2: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r—–
ns:0 nr:7518312 dw:7518312 dr:972 al:0 bm:1437 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
3: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r—–
ns:0 nr:1377700 dw:4267864 dr:0 al:0 bm:196 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
4: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r—–
ns:0 nr:23442304 dw:23442288 dr:992 al:0 bm:1936 lo:1 pe:0 ua:1 ap:0 ep:1 wo:f oos:0

 

drbd-overview

0:datastores/0 Connected Primary/Secondary UpToDate/UpToDate
1:datastores/1 Connected Primary/Secondary UpToDate/UpToDate
2:images-stores02/0 Connected Primary/Secondary UpToDate/UpToDate
3:images-stores03/0 Connected Primary/Secondary UpToDate/UpToDate
4:images-storesHS/0 Connected Primary/Secondary UpToDate/UpToDate

 

drbd-overview

0:datastores/0 Connected Secondary/Primary UpToDate/UpToDate
1:datastores/1 Connected Secondary/Primary UpToDate/UpToDate
2:images-stores02/0 Connected Secondary/Primary UpToDate/UpToDate
3:images-stores03/0 Connected Secondary/Primary UpToDate/UpToDate
4:images-storesHS/0 Connected Secondary/Primary UpToDate/UpToDate

 

25 avril 2019 /
1. Avec tree (liste les 20 plus gros éléments par taille)
tree -ihafF / | tr '[]' ' ' | sort -k1hr | head -20
2. Avec find (liste les 20 plus gros fichiers uniquement)
find / -type f -exec du -h {} \; 2>/dev/null | sort -rh | head -20
24 janvier 2019 /

Le 22 janvier 2019, Debian a publié un avis de sécurité (Référence: CERTFR-2019-ALE-001) indiquant que leur gestionnaire de paquets était vulnérable à une injection de code.

Par défaut, les mises à jour sont récupérées en HTTP. Toutefois des vérifications sont effectuées en local afin de vérifier l’intégrité des fichiers récupérés.

Un attaquant en position d’intercepteur actif (Man In The Middle) peut injecter un paquet malveillant qui sera considéré comme valide. Cette vulnérabilité n’est présente que dans le cadre de l’utilisation de redirections par APT.

Le logiciel APT s’exécute avec un niveau de privilège élevé, une attaque réussie garanti donc à l’attaquant une compromission totale du système.

Il s’agit donc d’une vulnérabilité sérieuse, d’autant plus qu’elle impacte directement le mécanisme de mise à jour. Il est nécessaire d’appliquer le correctif tout en minimisant les risques d’exploitation.

Uniquement dans le cadre de cette mise à jour, Debian recommande de désactiver les redirections par les commandes suivantes:
apt -o Acquire::http::AllowRedirect=false update
apt -o Acquire::http::AllowRedirect=false upgrade

Toutefois, cela peut ne pas fonctionner lorsque l’on est placé derrière un proxy et que l’on cherche à atteindre le miroir security.debian.org.

Dans ce cas, il est possible d’utiliser la source suivante : http://security-cdn.debian.org/debian-security/

Si la mise à jour d’APT sans la désactivation des redirections est impossible, il est alors recommandé de télécharger manuellement le paquet. Il convient ensuite d’effectuer la vérification d’intégrité avant de l’installer.

Source

22 janvier 2019 /
1. Format SSH2 (exemple complet)
---- BEGIN SSH2 PUBLIC KEY ----

Comment: "rsa-key-20160402"
AAAAB3NzaC1yc2EAAAABJQAAAgEAiL0jjDdFqK/kYThqKt7THrjABTPWvXmB3URI
pGKCP/jZlSuCUP3Oc+IxuFeXSIMvVIYeW2PZAjXQGTn60XzPHr+M0NoGcPAvzZf2
u57aX3YKaL93cZSBHR97H+XhcYdrm7ATwfjMDgfgj7+VTvW4nI46Z+qjxmYifc8u
VELolg1TDHWY789ggcdvy92oGjB0VUgMEywrOP+LS0DgG4dmkoUBWGP9dvYcPZDU
F4q0XY9ZHhvyPWEZ3o2vETTrEJr9QHYwgjmFfJn2VFNnD/4qeDDHOmSlDgEOfQcZ
Im+XUOn9eVsv//dAPSY/yMJXf8d0ZSm+VS29QShMjA4R+7yh5WhsIhouBRno2PpE
VVb37Xwe3V6U3o9UnQ3ADtL75DbrZ5beNWcmKzlJ7jVX5QzHSBAnePbBx/fyeP/f
144xPtJWB3jW/kXjtPyWjpzGndaPQ0WgXkbf8fvIuB3NJTTcZ7PeIKnLaMIzT5XN
CR+xobvdC8J9d6k84/q/laJKF3G8KbRGPNwnoVg1cwWFez+dzqo2ypcTtv/20yAm
z86EvuohZoWrtoWvkZLCoyxdqO93ymEjgHAn2bsIWyOODtXovxAJqPgk3dxM1f9P
AEQwc1bG+Z/Gc1Fd8DncgxyhKSQzLsfWroTnIn8wsnmhPJtaZWNuT5BJa8GhnzX0
9g6nhbk=
---- END SSH2 PUBLIC KEY ----
2. Format OpenSSH (équivalent de l’exemple ci-dessus)
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAgEAiL0jjDdFqK/kYThqKt7THrjABTPWvXmB3URIpGKCP/jZlSuCUP3Oc+IxuFeXSIMvVIYeW2PZAjXQGTn60XzPHr+M0NoGcPAvzZf2u57aX3YKaL93cZSBHR97H+XhcYdrm7ATwfjMDgfgj7+VTvW4nI46Z+qjxmYifc8uVELolg1TDHWY789ggcdvy92oGjB0VUgMEywrOP+LS0DgG4dmkoUBWGP9dvYcPZDUF4q0XY9ZHhvyPWEZ3o2vETTrEJr9QHYwgjmFfJn2VFNnD/4qeDDHOmSlDgEOfQcZIm+XUOn9eVsv//dAPSY/yMJXf8d0ZSm+VS29QShMjA4R+7yh5WhsIhouBRno2PpEVVb37Xwe3V6U3o9UnQ3ADtL75DbrZ5beNWcmKzlJ7jVX5QzHSBAnePbBx/fyeP/f144xPtJWB3jW/kXjtPyWjpzGndaPQ0WgXkbf8fvIuB3NJTTcZ7PeIKnLaMIzT5XNCR+xobvdC8J9d6k84/q/laJKF3G8KbRGPNwnoVg1cwWFez+dzqo2ypcTtv/20yAmz86EvuohZoWrtoWvkZLCoyxdqO93ymEjgHAn2bsIWyOODtXovxAJqPgk3dxM1f9PAEQwc1bG+Z/Gc1Fd8DncgxyhKSQzLsfWroTnIn8wsnmhPJtaZWNuT5BJa8GhnzX09g6nhbk=

Les deux formats sont plutôt similaires.
Pour obtenir une clé au format OpenSSH depuis une clé au format SSH2, il suffit de supprimer la première et dernière ligne  » —- **** SSH2 PUBLIC KEY —-  » et la ligne  » Comment: « .
Puis de retirer les sauts de ligne pour tout mettre sur une seule ligne par clé.
Chaque clefs devra commencer par (à modifier suivant le type de clef) « ssh-rsa ».

3. Convertir une seule clé SSH2 vers OpenSSH
ssh-keygen -i -f clef_ssh2.pub
4. Convertir toutes les clés *.pub d’un répertoire et les afficher
for i in `ls -1 *pub`; do echo "$(ssh-keygen -i -f $i) $i"; done
5. Convertir toutes les clés SSH2 du répertoire et les ajouter directement dans ~/.ssh/authorized_keys
for i in `ls -1 *pub`; do echo "$(ssh-keygen -i -f $i) $i" >> ~/.ssh/authorized_keys; done
17 janvier 2019 /

Formatage du texte

1. Mettre le texte en gras

echo -e "\e[1mTEXTE EN GRAS\e[0m"

2. Mettre le texte en souligné

echo -e "\e[4mTEXTE SOULIGNÉ\e[0m"
3. Mettre le texte en clignotant
echo -e "\e[5mTEXTE CLIGNOTANT\e[0m"
4. Pour inverser la couleur du texte (fond devient texte, texte devient fond)
echo -e "\e[7mTEXTE AVEC INVERSION DES COULEURS\e[0m"
5. Pour masquer le texte (texte invisible, mais sélectionnable/copiable)
echo -e "\e[8mTEXTE MASQUÉ\e[0m"

Formatage de la couleur

Couleur par défaut
echo -e "\e[39mdéfaut"
Texte en noir
echo -e "\e[30mNoir"
Texte en rouge
echo -e "\e[31mRouge"
Texte en rouge clair
echo -e "\e[91mRouge clair"
Texte en vert
echo -e "\e[32mVert"
Texte en vert clair
echo -e "\e[92mVert clair"
Texte en jaune
echo -e "\e[33mJaune"
Texte en jaune clair
echo -e "\e[93mJaune clair"
Texte en bleu
echo -e "\e[34mBleu"
Texte en bleu clair
echo -e "\e[94mBleu clair"
Texte en mauve
echo -e "\e[35mMauve"
Texte en mauve clair
echo -e "\e[95mMauve clair"
Texte en cyan
echo -e "\e[36mCyan"
Texte en cyan clair
echo -e "\e[96mCyan clair"

Texte en gris

echo -e "\e[2mGris"

Texte en gris clair

echo -e "\e[37mGris clair"

Texte en gris foncé

echo -e "\e[90mGris foncé"

Texte en blanc

echo -e "\e[97mBlanc"