Exporter les groupes Office 365 vers un fichier CSV

Voici un script PowerShell pour exporter l’ensemble des groupes d’un tenant Office 365 vers un fichier CSV. Opération non disponible à ce jour par l’interface d’administration.

Connect-ExchangeOnline -UserPrincipalName xxxx@test.com # Mail de l'administrateur

$CSVPath = "ListingMembresGroupes.csv"

$list=Get-UnifiedGroup

foreach ($Group in $list)
{
    Get-UnifiedGroupLinks –Identity $Group.Id –LinkType Members | Select-Object @{Name="Group Name";Expression={$Group.DisplayName}}, @{Name="User Name";Expression={$_.DisplayName}}, PrimarySmtpAddress | Export-CSV $CSVPath -NoTypeInformation -Append
}

Désactiver la prévisualisation des onglets dans Firefox

Pour désactiver la prévisualisation des onglets dans Firefox, il faut ouvrir le système de préférences avancées :

about:config

Rechercher :

browser.tabs.hoverPreview.enabled

Et mettre la valeur à false (en double-cliquant dessus).

Source : https://support.mozilla.org/bm/questions/1459859

Résoudre le problème de polices dans Firefox pour macOS 15 Sequoia

Depuis quelque temps, Firefox n’affiche plus correctement certaines polices sous macOS 15 Sequoia. Des carrés remplacent les caractères.

Pour résoudre ce problème, il faut désactiver le paramètre « Détecteurs d’empreinte numérique suspectés » dans les options « Vie privée ».

Voici la marche à suivre : ouvrir les paramètres puis « Vie privée et sécurité » et enfin choisir « Personnalisée » dans « Protection renforcée contre le pistage » :

Ensuite, il suffit de rafraichir les onglets ouverts.

Source : https://www.reddit.com/r/firefox/comments/1fjyyo6/some_fonts_in_firefox_on_macos_sequoia_render/

Podcasts Cybersécurité en français

Voici quelques podcast sur la cybersécurité que j’écoute en ce moment.

NoLimitSécu un des plus connu : https://www.nolimitsecu.fr/ qui existe depuis 2015.

RadioCSIRT un nouveau qui vient de commencer (aout 2024) : https://smartlink.ausha.co/radiocsirt/episode-zero-de-radiocsirt

Cybersécurité All Day https://cybersecuriteallday.fr/

Si vous en connaissez d’autre vous pouvez m’en parler dans les commentaires.

Convertir une machine virtuelle UTM vers VMware Fusion

VMware Fusion pour MacOS étant gratuit pour un usage personnel depuis mai 2024 j’ai décidé de passer d’UTM à celui-ci. UTM ayant moins de fonctionnalités et ayant quelques problèmes parfois au démarrage des machines virtuelles.

Ne souhaitant pas réinstaller les machines virtuelles j’ai choisi de convertir celles-ci.

Voici la procédure sous MacOS :

Installer qemu avec le gestionnaire de package brew :

brew install qemu

Aller dans le répertoire contenant la machine virtuelle UTM, généralement :

cd /Users/<NOM UTILISATEUR>/Library/Containers/com.utmapp.UTM/Data/Documents/<NOM MACHINE VIRTUELLE>.utm/Data

Convertir la machine virtuelle avec la commande suivante :

qemu-img convert -p -f qcow2 -O vmdk XXX-XXXX-XXX-XXX.qcow2 YYYYY.vmdk

Créer une nouvelle machine virtuelle dans VMware Fusion et pour l’image disque choisir le fichier vmdk créé dans l’étape précédente.

Généralement il faut modifier la configuration de l’interface réseau dans la machine virtuelle.

Dans le cas d’Ubuntu Server 22.04, trouver le nom de l’interface avec la commande :

ip a

2: ens160: <BROADCAST,MULTICAST......

Puis modifier le fichier de configuration netplan :

sudo vi /etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
  ethernets:
    # enp0s1: # ancienne interface
    ens160:
      dhcp4: true
  version: 2

Puis appliquer les modifications :

sudo netplan apply

Vérifier la configuration avec un ping par exemple :

ping perdu.com

Optimisation MySQL/MariaDB

Quelques notes pour l’optimisation d’un serveur MySQL/MariaDB.

Cela se passe dans le fichier /etc/mysql/mariadb.conf.d/50-server.cnf sur un serveur Ubuntu 22.04

innodb_buffer_pool_size devrait être à 80% de la RAM allouée à MySQL/MariaDB

Utiliser le script MySQLTuner disponible ici : https://github.com/major/MySQLTuner-perl

Il y a probablement beaucoup d’autres choses à faire, si vous en connaissez n’hésitez pas à laisser un commentaire (je ne suis pas DBA).

Quand les rongeurs attaquent les voitures

Il y a quelques mois j’ai eu la mauvaise surprise de ne plus avoir de liquide lave-glace dans ma voiture. Je prends alors mon bidon pour emplir le réservoir adéquate et là tout le liquide se répand sur le sol 😞Quelques jours plus tard, la même chose pour la voiture de ma femme. La révision étant programmée la semaine suivante, j’en parle à mon garagiste. Après la révision celui-ci me montre la durite grignoté par un rongeur. Celle-ci ayant un peu de marge il n’a pas eu besoin de la remplacée, juste la raccourcir.

Je me suis rendu compte sur Internet que je n’étais pas seul dans ce cas. Mon garagiste m’a aussi confirmé que cela arrivait régulièrement que les les rongeurs s’attaquent aux durites et faisceaux électriques. Celui-ci m’a conseillé le produit suivant : Bardahl 4492 ANTI RONGEURS REPULSIF

Il est disponible sur Amazon ICI

Pour éviter d’avoir d’autres problèmes de ce type j’ai aussi ajouté des boites avec de l’anti-rats à côté des voitures.

Disponible ICI

Disponible ICI

Espérant que cet article pourra vous être utile.

Idées de lectures pour l’été

ou l’hiver au choix.

Voici une liste de quelques livre que j’ai lu dernièrement, si cela peut vous donner des idées de lecture.

Hacke-moi si tu peux – Mémoires d’un cyberpirate repenti de Florent Curtet

Disponible sur Amazon

Mémoires Vives d’Edward Snowden

Disponible sur Amazon

Ready Player One d’Ernest Cline

Disponible sur Amazon

Redémarrer automatiquement Apache/MySQL avec monit

Sur un serveur web LAMP il peut arriver que la processus Apapche 2 ou MariaDB/MySQL se termine de façon anormale ou soit terminé par OOM Killer.

Pour surveiller ces processus il existe monit qui est très simple d’utilisation. Voici comment l’installer sur un Ubuntu Server 22.04 :

sudo apt install monit

Aller dans le répertoire de configuration de monit :

cd /etc/monit/conf.d/

Créer un fichier pour Apache, apache.conf contenant :

check process apache with pidfile /run/apache2/apache2.pid
    start program = "/usr/sbin/service apache2 start"
    stop program = "/usr/sbin/service apache2 stop"
    if failed host 127.0.0.1 port 80 protocol http then restart
    if 5 restarts within 5 cycles then timeout

Créer un second fichier pour MariaDB/MySQL, mysql.conf :

check process mysqld with pidfile /run/mysqld/mysqld.pid
    start program = "/usr/sbin/service mysql start"
    stop program = "/usr/sbin/service mysql stop"
    if failed host 127.0.0.1 port 3306 protocol mysql then restart
    if 5 restarts within 5 cycles then timeout

Puis redémarrer monit et vérifier que celui-ci fonctionne bien :

sudo service monit restart
sudo service monit status
● monit.service - LSB: service and resource monitoring daemon
     Loaded: loaded (/etc/init.d/monit; generated)
     Active: active (running) since Wed 2023-06-07 08:14:53 CEST; 4s ago
       Docs: man:systemd-sysv-generator(8)
    Process: 58545 ExecStart=/etc/init.d/monit start (code=exited, status=0/SUCCESS)
      Tasks: 1 (limit: 9518)
     Memory: 1.7M
        CPU: 31ms
     CGroup: /system.slice/monit.service
             └─58551 /usr/bin/monit -c /etc/monit/monitrc

Jun 07 08:14:53 ip-172-31-26-128 systemd[1]: Starting LSB: service and resource monitoring daemon...
Jun 07 08:14:53 ip-172-31-26-128 monit[58545]:  * Starting daemon monitor monit
Jun 07 08:14:53 ip-172-31-26-128 monit[58545]:    ...done.
Jun 07 08:14:53 ip-172-31-26-128 systemd[1]: Started LSB: service and resource monitoring daemon.

Et voilà, c’est en place. monit vérifie toutes les 2 minutes que les processus fonctionnent et les redémarre si besoin.

Recopier les bases données d’un serveur MySQL/MariaDB vers un autre

Voici un script Bash très simple qui permet de migrer toutes les bases de données d’un serveur MySQL/MariaDB vers un autre serveur.

Celui-ci peut servir par exemple pour migrer vers un serveur AWS RDS.

#!/bin/bash

# configuration de la machine hébergeant le serveur MySQL source
DB_HOST_PROD="srv.source.com"
# configuration de l'utilisateur MySQL et de son mot de passe
DB_USER_PROD="root"
DB_PASS_PROD="PASSWORD"

# configuration de la machine hébergeant le serveur MySQL de destination
DB_HOST_RDS="srv.dest.com"
# configuration de l'utilisateur MySQL et de son mot de passe
DB_USER_RDS="admin"
DB_PASS_RDS="PASSWORD"

# récupération de la liste des bases
DATABASES=`MYSQL_PWD=$DB_PASS_PROD mysql -h $DB_HOST_PROD -u $DB_USER_PROD -e "SHOW DATABASES;" | tr -d "| " | grep -v -e Database -e _schema -e mysql`
# boucle sur les bases pour les dumper
for DB_NAME in $DATABASES; do
    # Pour créer les bases de données
    echo "create database if not exists $DB_NAME;" | MYSQL_PWD=$DB_PASS_RDS mysql -h $DB_HOST_RDS -u $DB_USER_RDS

    now=$(date +"%T")
    echo $now $DB_NAME
    #MYSQL_PWD=$DB_PASS_PROD mysqldump -u $DB_USER_PROD --column-statistics=0 --single-transaction --skip-lock-tables $DB_NAME -h $DB_HOST_PROD | MYSQL_PWD=$DB_PASS_RDS mysql -h $DB_HOST_RDS -u $DB_USER_RDS -D $DB_NAME # en fonction de la version de MySQL/MariaDB
    MYSQL_PWD=$DB_PASS_PROD mysqldump -u $DB_USER_PROD --single-transaction --skip-lock-tables $DB_NAME -h $DB_HOST_PROD | MYSQL_PWD=$DB_PASS_RDS mysql -h $DB_HOST_RDS -u $DB_USER_RDS -D $DB_NAME
done