Site perso d'un administrateur d'infrastructures sécurisées

Étiquette : Fiches de révisions TSSR

artificial intelligence, brain, thinking

Fiche de révision : les différentes classes d’adresses IPv4 et les plages réservées

Le protocole IP version 4 (IPv4) utilise des adresses de 32 bits, généralement représentées en notation décimale pointée, composée de quatre octets séparés par des points. Les adresses IPv4 sont classées en cinq classes principales : A, B, C, D et E, en fonction de la plage d’adresses IP qu’elles représentent.

Classe A:

  • Plage d’adresses: 0.0.0.0 à 127.255.255.255
  • Premier octet: 0 à 127
  • Masque de sous-réseau par défaut: 255.0.0.0
  • Utilisation: Grandes organisations et réseaux avec un grand nombre d’hôtes.
  • Plage d’adresses réservées aux réseaux privés : 10.0.0.0 à 10.255.255.255

Classe B:

  • Plage d’adresses: 128.0.0.0 à 191.255.255.255
  • Premier octet: 128 à 191
  • Masque de sous-réseau par défaut: 255.255.0.0
  • Utilisation: Moyennes organisations et réseaux avec un nombre modéré d’hôtes.
  • Plage d’adresses réservées aux réseaux privés : 172.16.0.0 à 172.31.255.255

Classe C:

  • Plage d’adresses: 192.0.0.0 à 223.255.255.255
  • Premier octet: 192 à 223
  • Masque de sous-réseau par défaut: 255.255.255.0
  • Utilisation: Petites organisations et réseaux avec un petit nombre d’hôtes.
  • Plage d’adresses réservées aux réseaux privés : 192.168.0.0 à 192.168.255.255

Classe D:

  • Plage d’adresses: 224.0.0.0 à 239.255.255.255
  • Premier octet: 224 à 239
  • Utilisation: Multicast, utilisée pour la transmission de données à un groupe d’hôtes.

Classe E:

  • Plage d’adresses: 240.0.0.0 à 255.255.255.255
  • Premier octet: 240 à 255
  • Utilisation: Expérimentation et utilisation future.

Il est également important de noter qu’il existe des plages d’adresses IP réservées pour des utilisations spécifiques, telles que les adresses de bouclage (127.0.0.0 à 127.255.255.255) et les adresses de réseau privé (10.0.0.0 à 10.255.255.255, 172.16.0.0 à 172.31.255.255, et 192.168.0.0 à 192.168.255.255).

Ces adresses ne sont pas routables sur Internet et sont utilisées pour les réseaux locaux.

Quelques rappels sur la gestion des utilisateurs d’un annuaire Active Directory

Voici un pense-bête sur l’utilisation basique d’un annuaire Active Directory. Je mettrais quelques pratiques avancée un peu plus tard !

Création et Gestion des Utilisateurs

  1. Ouvrez « Outils » -> « Utilisateurs et Ordinateurs Active Directory »(souvent désigné comme ADUC en anglais)
  2. Naviguez vers le conteneur ou l’unité d’organisation (OU) approprié.
  3. Cliquez avec le bouton droit et sélectionnez « Nouveau » > « Utilisateur ».
  4. Remplissez les informations obligatoires et cliquez sur « Suivant ».
  5. Définissez le mot de passe et choisissez les options de mot de passe (doit changer au prochain ouvrage, ne peut pas changer, ne jamais expirer, etc.).
  6. Revoyez les informations et cliquez sur « Terminer ».

Gestion des Groupes :

  1. Dans ADUC, naviguez vers l’OU appropriée pour les groupes.
  2. Cliquez avec le bouton droit et sélectionnez « Nouveau » > « Groupe ».
  3. Entrez le nom du groupe, sélectionnez le type et l’étendue du groupe, puis cliquez sur « OK ».
  4. Pour ajouter des utilisateurs, ouvrez les propriétés du groupe et allez à l’onglet « Membres ».

Restrictions d’Accès :

  • Restreindre les heures d’accès :
    1. Ouvrez les propriétés d’un compte utilisateur.
    2. Allez à l’onglet « Comptes ».
    3. Cliquez sur « Horaires d’accès » et définissez les heures autorisées.
  • Gestion du partage :
    1. Faites un clic droit sur un dossier partagé et sélectionnez « Propriétés« .
    2. Allez à l’onglet « Sécurité« .
    3. Modifiez les listes pour contrôler l’accès utilisateur.
  • Limite de stockage :
    1. Ouvrez « Gestion du disque » sur le serveur où les dossiers partagés résident.
    2. Cliquez avec le bouton droit sur le volume, sélectionnez « Propriétés » > « Quota« .
    3. Configurez les paramètres de quota et appliquez-les aux utilisateurs ou groupes.

Ensuite cliquer sur « Entrées de quota » puis définir la limite autorisée pour chaque utilisateur :

Fiche de révision PowerShell

Voici un petit résumé des commandes & syntaxe de Powershell.

Pour rappel l’IDE de PowerShell est PowerShell ISE

# Déclaration de variables
$a = 5
$b = 10

# Opérations mathématiques
$sum = $a + $b
Write-Output "La somme de $a et $b est : $sum"

# Structures de contrôle
if ($a -lt $b) {
    Write-Output "$a est inférieur à $b"
} else {
    Write-Output "$a est supérieur ou égal à $b"
}

# Boucles
for ($i = 0; $i -lt 5; $i++) {
    Write-Output "Valeur de i : $i"
}

# Tableaux
$colors = @("Rouge", "Vert", "Bleu")
foreach ($color in $colors) {
    Write-Output "Couleur : $color"
}

# Fonctions
function Multiply($x, $y) {
    return $x * $y
}

$result = Multiply $a $b
Write-Output "Le produit de $a et $b est : $result"

# Utilisation de pipelines et cmdlets
Get-Process | Where-Object { $_.CPU -gt 20 } | Select-Object -First 5 | Format-Table -AutoSize

Vous pouvez nommer le script en utilisant une extension .ps1, qui est l’extension standard pour les scripts PowerShell. Par exemple, vous pouvez le nommer DemoScript.ps1.

Pour exécuter le script, naviguez vers le dossier où vous avez enregistré le script et exécutez-le avec la commande :

.\DemoScript.ps1

Focus sur les cmdlets

Les cmdlets sont les éléments de base des commandes dans PowerShell. Ce sont des petites unités de fonctionnalité qui encapsulent une opération spécifique. Les cmdlets sont conçus pour être utilisés en combinaison les uns avec les autres pour accomplir des tâches complexes grâce à des pipelines.

Chaque cmdlet est généralement nommé en utilisant une convention de « Verbe-Nom », où le verbe décrit l’action que la cmdlet effectue, et le nom décrit l’objet sur lequel l’action est effectuée. Par exemple, Get-Process récupère des informations sur les processus en cours d’exécution sur un ordinateur.

Voici quelques exemples de ce que vous pouvez faire avec des cmdlets :

Gérer des fichiers et des répertoires :

Get-ChildItem
New-Item
Remove-Item
Copy-Item
Move-Item

Gérer des processus :

Get-Process
Start-Process
Stop-Process

Gérer des services :

Get-Service
Start-Service
Stop-Service
Set-Service

Gérer des évènements :

Get-EventLog
Get-EventSubscriber
Register-ObjectEvent

Quelques exemples de Pipelines

Ces exemples montrent comment combiner différentes cmdlets pour accomplir une variété de tâches en utilisant des pipelines.

  1. Lister les fichiers d’un répertoire et trier par taille :
Get-ChildItem | Sort-Object Length -Descending | Format-Table -AutoSize
  1. Chercher tous les processus utilisant plus de 50 Mo de mémoire :
Get-Process | Where-Object { $_.WorkingSet -gt 50MB } | Format-Table -AutoSize
  1. Compter le nombre de fichiers dans un répertoire :
(Get-ChildItem).Count
  1. Lister les 5 fichiers les plus récents d’un répertoire :
Get-ChildItem | Sort-Object LastWriteTime -Descending | Select-Object -First 5 | Format-Table -AutoSize
  1. Afficher le contenu d’un fichier texte et compter le nombre de lignes :
Get-Content .\fichier.txt | Measure-Object -Lin

Fiche de révision / Cheat Sheet pour la création de sous-réseaux

Formules de sous-réseaux IPv4:

  • Nombre de sous-réseaux = 2^n, où ‘n’ est le nombre de bits empruntés.
  • Nombre d’hôtes = 2^h – 2, où ‘h’ est le nombre de bits d’hôte.
  • La taille de bloc pour un sous-réseau est 256 moins la valeur du masque de sous-réseau.

Bon à savoir :

  1. Le « nombre de sous-réseaux » donne le nombre total de sous-réseaux possibles dans un réseau. Lorsque vous empruntez des bits du champ d’hôte pour créer des sous-réseaux, vous doublez le nombre de sous-réseaux possibles avec chaque bit emprunté.
  2. Le « nombre d’hôtes » donne le nombre total d’adresses IP disponibles pour les hôtes (machines individuelles) dans un sous-réseau. Les deux adresses qui doivent être soustraites sont l’adresse de réseau et l’adresse de diffusion qui ne peuvent pas être utilisées par les hôtes.
  3. La « taille de bloc pour un sous-réseau » donne le nombre d’adresses IP disponibles dans chaque sous-réseau, y compris l’adresse de réseau et l’adresse de diffusion. La taille du bloc est déterminée en soustrayant la valeur du masque de sous-réseau de 256.

Les sous-réseaux IPV4 :

CIDRMasque sous réseauTotal IPsIPs utilisables
/32255.255.255.25511
/31255.255.255.25422*
/30255.255.255.25242
/29255.255.255.24886
/28255.255.255.2401614
/27255.255.255.2243230
/26255.255.255.1926462
/25255.255.255.128128126
/24255.255.255.0256254
/23255.255.254.0512510
/22255.255.252.01,0241,022
/21255.255.248.02,0482,046
/20255.255.240.04,0964,094
/19255.255.224.08,1928,190
/18255.255.192.016,38416,382
/17255.255.128.032,76832,766
/16255.255.0.065,53665,534
/15255.254.0.0131,072131,070
/14255.252.0.0262,144262,142
/13255.248.0.0524,288524,286
/12255.240.0.01,048,5761,048,574
/11255.224.0.02,097,1522,097,150
/10255.192.0.04,194,3044,194,302
/9255.128.0.08,388,6088,388,606
/8255.0.0.016,777,21616,777,214
/7254.0.0.033,554,43233,554,430
/6252.0.0.067,108,86467,108,862
/5248.0.0.0134,217,728134,217,726
/4240.0.0.0268,435,456268,435,454
/3224.0.0.0536,870,912536,870,910
/2192.0.0.01,073,741,8241,073,741,822
/1128.0.0.02,147,483,6482,147,483,646

Plages privées du RFC 1918

ClassSizeMasque sous réseauPlages d’IPs
A10.0.0.0/8255.0.0.010.0.0.0 – 10.255.255.255
B172.16.0.0/12255.240.0.0172.16.0.0 – 172.31.255.255
C192.168.0.0/16255.255.0.0192.168.0.0 – 192.168.255.255

Ce tableau représente les plages d’adresses IP privées définies dans le RFC 1918. Le RFC 1918 est un document qui décrit les plages d’adresses IP qui sont réservées pour une utilisation privée et qui ne doivent pas être routées sur l’internet public. Ces adresses IP privées sont généralement utilisées dans les réseaux locaux (LAN) et ne sont pas accessibles depuis l’internet.

Ces plages d’adresses sont utilisées pour permettre à différentes organisations de configurer leurs propres réseaux privés sans avoir à se préoccuper des conflits d’adresses IP avec d’autres organisations.

Modèle OSI – TCP/IP

Modèle OSIModèle TCP/IPType de PDUType d’AdresseExemple de Protocole
ApplicationApplicationDonnéeHTTP, FTP, DNS, IMAP, SMTP
Présentation
Session
TransportTransportSegmentPortTCP, UDP
RéseauInternetPaquetIPIP, IPv6, ICMP
Liaison de donnéesInterface réseauTrameMACEthernet, CDP
PhysiqueBit10BASE-T

Fiche de Révision: Syntaxe du Shell Scripting

Introduction

  • Shell scripting permet d’automatiser des commandes Unix/Linux.
  • Les scripts shell se terminent généralement par .sh.
  • Le shebang #!/bin/bash en début de script indique l’interpréteur à utiliser.

Variables

  • Déclaration: variable_name=value
  • Accès: $variable_name ou ${variable_name}

Exemple:

name="ChatGPT" echo "Hello, $name!"

Commandes

  • Exécution de commandes: command arguments
  • Exécution de commandes et stockage de la sortie: output=$(command arguments)

Conditions

  1. Test simple:
if [ condition ]; then # code fi
  1. If-else:
if [ condition ]; then # code else # code fi
  1. If-elif-else:
if [ condition1 ]; then # code elif [ condition2 ]; then # code else # code fi

Opérateurs courants:

  • Égalité numérique: -eq
  • Non égalité numérique: -ne
  • Supérieur: -gt
  • Inférieur: -lt
  • Égalité de chaîne: =
  • Non égalité de chaîne: !=

Boucles

  1. for:
for variable in list; do # code done
  1. while:
while [ condition ]; do # code done

Fonctions

Déclaration:

function_name() { # code }

Appel:

function_name arguments

Paramètres script

  • $0: Nom du script.
  • $1, $2, ...: Arguments positionnels.
  • $#: Nombre d’arguments.
  • $@: Tous les arguments.
  • $?: Code de sortie de la dernière commande exécutée.

Redirections

  • Rediriger la sortie standard: command > file
  • Rediriger la sortie d’erreur: command 2> file
  • Rediriger la sortie standard et d’erreur: command &> file

Pipes

  • Passer la sortie d’une commande à une autre: command1 | command2

Arithmétique

  • Utiliser la double parenthèse: result=$((expression))

Exemple:

a=5 b=10 sum=$((a + b))

Conseils

  • Toujours utiliser des guillemets doubles autour des variables pour éviter des problèmes avec les espaces: echo "$variable"
  • Pour les tests, préférez [[ ... ]] (test avancé) à [ ... ] pour plus de flexibilité et moins d’erreurs.

Fiche de révision sur la création d’une tâche Cron

Qu’est-ce que cron ?

Cron est un outil sous Unix/Linux qui permet de planifier l’exécution automatique de commandes à des dates et heures spécifiées.


Structure d’une entrée cron

Une entrée dans le fichier crontab se présente généralement comme suit:

* * * * * /chemin/vers/commande arguments
- - - - -
| | | | | 
| | | | +-- Jour de la semaine (0 - 7) [0 et 7 représentent Dimanche]
| | | +---- Mois (1 - 12)
| | +-------- Jour du mois (1 - 31)
| +---------- Heure (0 - 23)
+----------- Minute (0 - 59)

Éditer le fichier crontab

Pour éditer la table de l’utilisateur actuel:

crontab -e

Pour afficher les tâches cron de l’utilisateur actuel:

crontab -l

Exemples d’entrées cron

Exécuter ma-commande tous les jours à 3h15:

15 3 * * * /chemin/vers/ma-commande

Exécuter ma-commande tous les lundis à minuit:

0 0 * * 1 /chemin/vers/ma-commande

Exécuter ma-commande toutes les heures:

0 * * * * /chemin/vers/ma-commande

Spécificateurs spéciaux

Il existe des spécificateurs spéciaux pour simplifier la planification:

  • @reboot : Exécute la commande au démarrage.
  • @yearly ou @annually : Exécute une fois par an.
  • @monthly : Exécute une fois par mois.
  • @weekly : Exécute une fois par semaine.
  • @daily ou @midnight : Exécute une fois par jour.
  • @hourly : Exécute une fois par heure.

Logs et redirections

Pour rediriger la sortie et les erreurs d’une tâche cron vers un fichier:

* * * * * /chemin/vers/ma-commande >> /chemin/vers/mon-log.log 2>&1

Conseils

  • Assurez-vous que les scripts ou les commandes exécutées par cron ont les autorisations d’exécution appropriées.
  • Spécifiez toujours le chemin complet vers les commandes ou les scripts.
  • Pensez à utiliser des logs pour suivre les exécutions des tâches.

Fièrement propulsé par WordPress & Thème par Anders Norén