Joindre Linux à AD
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
Gestion de la mémoire Linux
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
htop
Permet d’avoir un monitoring live
Les valeurs peuvent être différentes
de free par les utilisations des unités Gi/Go/Gb
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
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
Veeam erreur hyper-v après upgrade
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.
Agent GLPI : astuces et subtilités
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"
GLPI le guide SSO
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
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>
Erreur sur ajout d'un compte Gmsa
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.»
Set-ADServiceAccount -Identity gMSA-compte -KerberosEncryptionType AES128,AES256
Aucun commentaire :
Enregistrer un commentaire