Mon espace IT

#Blog_IT > orienté systèmes et réseaux

Joindre Linux à AD

Aucun commentaire

apt install sssd-tools sssd libnss-sss libpam-sss adcli realmd packagekit samba-common-bin krb5-user

config /etc/krb5.conf

realm join --user=admin@tondomaine.com TONDOMAINE.COM

hostnamectl set-hostname machine.tondomaine.com

realm list

test demande ticket kerberos: kinit comptead@TONDOMAINE.COM

Vérification : klist

Aucun commentaire :

Enregistrer un commentaire

Gestion de la mémoire Linux

Aucun commentaire

 

Vérifier l’état d’occupation de la RAM :

 

free -mh

 

Mém = RAM

Echange = SWAP

 

Les indicateurs importants sont :

 

Total : l’ensemble de la RAM allouée au système

Utilisé : la mémoire actuellement occupée

Disponible : la mémoire utilisable à cet instant (= total – utilisé - partagé)

 

Libre = mémoire non utilisé, même pas par le cache

Partagé= mémoire utilisée par tmpfs (fichiers stockés en RAM)

Cache= mémoire utilisée par les applications pour accélérer le fonctionnement mais libérable instantanément si besoin

 

Le SWAP :

L’espace d’échange aka SWAP, est un espace mémoire résidant sur le disque où la mémoire décharge des éléments en urgence lorsque la RAM manque pour éviter un crash.

Les éléments ne nécessitant pas d’accès rapide seront volontairement placés en SWAP, lorsqu’ils seront appelés ils pourront passer en RAM. Un échange IO se crée il est vérifiable par la commande vmstat :

 

Les valeurs si et so témoignent des échanges entrants et sortants

 Cet espace est également utilisé par certaine application qui souhaite placer des éléments mémoires spécifiquement en SWAP.

 

 Monitoring

htop

Permet d’avoir un monitoring live

Les valeurs peuvent être différentes de free par les utilisations des unités Gi/Go/Gb

 

Une image contenant texte, capture d’écran, logiciel, Logiciel multimédia

Description générée automatiquement

 

 

La barre d’usage MEM a des couleurs particulières pour montrer la répartition de la RAM

 

Vert : mémoire utilisé

Bleu : tampon

Jaune : Cache

 

Les colonnes de l’usage mémoire :

 

VIRT : Mémoire virtuelle : fichiers sur disques, et les bibliothèques partagées, le swap et les pages qui ont été mises sur disque mais pas utilisées.

 

RES : Mémoire résidente : mémoire effective utilisée par le processus, comprend également la mémoire utilisée par d’autres process enfant de celui-ci

 

SHR : Mémoire pouvant être partagée par d’autres processus

 

Seule la valeur de RES donne une idée de la RAM consommée par un processus

 

 Gestion de la mémoire par le noyau : tuning

 

Le swapiness est une propriété du noyau Linux qui lui permet de déterminer la fréquence d’utilisation du SWAP. Par défaut cette valeur est de 60. Plus la valeur est proche de 0, moins le noyau utilisera le SWAP.

Pour des serveurs bien dimensionnés en RAM, et selon les applicatifs cette valeur doit être ajustée.

Exemple : MariaDB ou PostGresql recommande une valeur de 1, Oracle une valeur de 10.

 

Cette valeur doit être modifiée dans le fichier /etc/sysctl.conf

 

vm.swappiness=1

 

 

Par défaut un processus peut arriver à consommer plus de mémoire que la mémoire allouée ou disponible et déclencher le mécanisme OOM Killer et se faire tuer.

 

Dans /etc/sysctl.conf c’est la paramètre vm.overcommit_memory qui définit le comportement

Par défaut la valeur est 0, le noyau doit vérifier si l’allocation mémoire est possible selon une analyse. Mais ce n’est pas infaillible, un oom kill peut se déclencher.

Avec la valeur 1, aucune vérification, la surcharge mémoire est autorisée

 

La valeur 2 refuse les demandes de mémoire supérieure selon le calcul :

Limite allocation mémoire = Swap + RAM * (Overcommit Ratio / 100)

 

Par défaut vm.overcommit_ratio = 50

 

Recommandation sur un serveur en production de BDD pour éviter les oom kill, à adapter selon la quantité de RAM et SWAP.

 

Exemple serveur à 10 GB + 2 GB SWAP :

2+ 10*0.8 = 10GB 

 

vm.overcommit_memory = 2

vm.overcommit_ratio = 80

vm.swappiness = 1

 

vm.vfs_cache_pressure=50

 

Le paramètre vfs cache pressure contrôle la tendance à libérer du cache une donnée plutôt que de les libérer rapidement et de faire travailler le disque. La valeur par défaut est 100.

50 permet de garder en cache plus longtemps, plus performant pour une bdd.

 

OOM Killer

 

Mécanisme protégeant le système d’un crash en tuant le processus qui demande de la mémoire au-delà de la capacité.

Pour déterminer l’importance d’un processus et s’il a le droit d’être tué une notion de score existe :

Noté de -1000 à 1000

-1000 = intuable

 

Pour voir le score d’un processus : cat /proc/P_ID/oom_score

Il est possible de fixer un score directement dans le daemon du processus :

[Service] OOMScoreAdjust=-17

 

En cas de déclenchement une trace est présente dans /var/log/kern.log avec le processus tué et la quantité de mémoire qu’il demandait

Exemple :

 

Apr 29 12:51:26 srv kernel: [11273.289233] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/system.slice/system-postgresq>@13-main.service,task=postgres,pid=18325,uid=107

Apr 29 12:51:26 srv kernel: [11273.289253] Out of memory: Killed process 18325 (postgres) total-vm:9479320kB, anon-rss:5123092kB, file-rss:0kB, shmem-rss:524572kB, UID:107> pgtables:14092kB oom_score_adj:0

 

Aucun commentaire :

Enregistrer un commentaire

Veeam erreur hyper-v après upgrade

Aucun commentaire

 Tu mets à jour ton Veeam B&R et tu dois faire avec l'erreur " Failed to upgrade host components. This server is not a hyper-v host"

Résolution: Regarde la table hostcomponents de la base de donnée Veeam b&r. Si tu vois une ligne avec la version 0.0.0.0 et l'option hvintegrationclientoptions, efface la.

Aucun commentaire :

Enregistrer un commentaire

Agent GLPI : astuces et subtilités

Aucun commentaire

 1/ Tu veux utiliser l'agent GLPI inventory avec de la SSO ? voici la config Apache nécessaire :

<Directory /var/www/glpi/public>
# Autorise l'agent à bypass la SSO
        <If
"%{HTTP_USER_AGENT} =~ /GLPI-Agent_v/">
            Require all granted
       </If>

2/ Si tu veux déployer des paquets avec l'agent et que la tâche reste en status préparé, as tu bien installé le rôle de déploiement ?

msiexec /i GLPI-Agent.msi /quiet RUNNOW=1 SERVER='https://tonglpi.com/marketplace/glpiinventory' ADDLOCAL=feat_DEPLOY

3/ Pratique pour bypass le certificat check en local : rajoute NO_SSL_CHECK=1

4/ Pour exécuter des scripts powershell via le déploiement de package :

- créé un package avec ton script powershell dans les fichiers

- utilise la commande de déploiement 

powershell.exe -ExecutionPolicy Bypass -File ".\tonscript.ps1" 



Aucun commentaire :

Enregistrer un commentaire

GLPI le guide SSO

Aucun commentaire
Tu veux mettre en place de la SSO Kerberos sur GLPI avec GssAPI Apache 2? Bienvenue 😊

Installation du client Kerberos et du module Apache gssapi

 apt install libapache2-mod-auth-gssapi krb5-user

Configurer /etc/krb5.conf

[libdefaults]
default_realm = TONDOMAINE.COM
dns_lookup_realm =
false
dns_lookup_kdc =
false

[realms]
FRR.COM = {
        kdc =
IP SERVER AD
        kdc = 
IP SERVER AD 2
        admin_server = 
IP SERVER AD
        admin_server = 
IP SERVER AD 2
}

[domain_realm]
.tondomaine.com = TONDOMAINE.COM
tondomaine.com = TONDOMAINE.COM

Création d’un compte de service GLPi  dans AD utilisé pour mapper le service http Glpi et le présenter à Kerberos. Utiliser un mot de passe fixe sans expiration, cocher la prise en charge AES 256.

Sur le contrôleur de domaine, lancer l’invite de commande en tant qu’administrateur afin de créer le fichier keytab 

ktpass -princ HTTP/tonserveur.tondomaine.com@TONDOMAINE.COM -mapuser glpi@TONDOMAINE.COM -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -out C:\tmp\glpi.keytab

Envoyer le fichier dans le répertoire apache et le sécuriser pour l’utilisateur apache

chown www-data:www-data glpi.keytab
chmod 640 glpi
.keytab

Configurer le vhost apache: 

<VirtualHost *:443>

        ServerName tonserveur.tondomaine.com
        DocumentRoot /var/www/glpi/public
        SSLEngine
on
        SSLCertificateFile     /etc/ssl/certs/toncert.pem
        SSLCertificateKeyFile /etc/ssl/private/tapv.key
        SSLCACertificateFile  /etc/ssl/certs/tonac.pem

        ErrorLog     /var/log/apache2/glpi-error.log


       
<Directory /var/www/glpi/public>
        AuthType GSSAPI
        AuthName
"GLPI SSO"
        GssapiCredStore keytab:/etc/apache2/glpi.keytab
        Require valid-user

        RewriteEngine
On
        RewriteCond
%{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ index.php
[QSA,L]
        Options +FollowSymlinks
       
</Directory>

       
<FilesMatch \.php$>
        SetHandler
"proxy:unix:/run/php/php8.2-fpm.sock|fcgi://localhost/"
       
</FilesMatch>

   
</VirtualHost>


Enfin dans GLPI ACCUEIL CONFIGURATION AUTHENTIFICATION AUTRES

Champs de stoclage de l'identifiant dans la requête HTTP: REMOTE_USER

Aucun commentaire :

Enregistrer un commentaire

Erreur sur ajout d'un compte Gmsa

Aucun commentaire

 Tu souhaites ajouter un compte gMsA à ton serveur Windows, il est bien déclaré et autorisé à utiliser le compte, mais erreur ...

Install-ADServiceAccount gMSA-compte

Si message erreur : Install-ADServiceAccount : Impossible d’installer le compte de service. Message d’erreur: «Le contexte fourni ne

Correspond pas à la cible.»

Fix : 

Set-ADServiceAccount -Identity gMSA-compte -KerberosEncryptionType AES128,AES256


Aucun commentaire :

Enregistrer un commentaire