Cours Administrateur Systemes & Reseaux

Notes de cours completes couvrant l'ensemble des notions d'administration systemes et reseaux niveau junior/intermediaire. Contexte : infrastructure d'une mission diplomatique internationale (~300 postes, Windows/Linux, VLANs segmentes, VPN multi-sites).

1. Modele OSI

Le modele OSI decoupe les communications reseau en 7 couches independantes. Il n'est pas implemente directement mais sert de reference pour comprendre les protocoles et diagnostiquer les pannes (methode "bottom-up").

CoucheNomPDUProtocoles / EquipementsRole
7ApplicationDonneesHTTP, HTTPS, FTP, DNS, SMTP, DHCPInterface utilisateur
6PresentationDonneesSSL/TLS, JPEG, ASCII, chiffrementTraduction, compression
5SessionDonneesNetBIOS, RPC, SQLEtablissement / fermeture sessions
4TransportSegment / DatagrammeTCP (fiable), UDP (rapide)Transport de bout en bout
3ReseauPaquetIP, ICMP, OSPF → RouteurAdressage et routage
2LiaisonTrame (Frame)Ethernet, 802.1Q, WiFi → Switch L2Acces au support, adresses MAC
1PhysiqueBitRJ45, fibre optique, WiFi → Hub, repeteurSignal electrique/optique
Mnemonique (bas vers haut) : "Please Do Not Throw Sausage Pizza Away" → Physical, Data Link, Network, Transport, Session, Presentation, Application.

Pieges frequents : ARP peut etre classe L2 ou L3 selon les auteurs (il fait le lien entre les deux). Les firewalls peuvent operer de L3 a L7. SSL/TLS est L5/L6 selon l'implementation.

Diagnostic par couche (bottom-up) :

  1. L1 Physique : cable branche ? voyant switch allume ? tester avec un autre cable.
  2. L2 Liaison : adresse MAC visible dans ARP ? VLAN correct ? port switch configure ?
  3. L3 Reseau : IP correcte ? masque correct ? passerelle configuree ? route valide ?
  4. L4 Transport : port TCP/UDP ouvert ? firewall bloque ? service tourne ?
  5. L7 Application : service demarre ? configuration correcte ? logs d'erreurs ?

2. TCP et UDP

TCP (Transmission Control Protocol)

Protocole oriente connexion, fiable. Garantit la livraison des donnees dans l'ordre, avec retransmission en cas de perte. Usage : HTTP, HTTPS, SSH, FTP, SMTP, SMB.

Etablissement de connexion — 3-Way Handshake :

Client                    Serveur
  |---- SYN (seq=x) -------->|   Client initie la connexion
  |<--- SYN-ACK (seq=y) -----|   Serveur accepte et acquitte
  |---- ACK (ack=y+1) ------>|   Client confirme
  |    [Connexion etablie]   |

Fermeture de connexion : 4 etapes (FIN / ACK / FIN / ACK) — fermeture gracieuse des deux cotes.

UDP (User Datagram Protocol)

Protocole sans connexion, non fiable. Envoie les datagrammes sans accuse de reception ni garantie d'ordre. Beaucoup plus rapide que TCP car pas de handshake ni de controle de flux. Usage : DNS, DHCP, streaming video, VoIP, gaming, SNMP, NTP.

TCPUDP
ConnexionOriente connexion (3-way handshake)Sans connexion
FiabiliteGarantie (retransmission, ordre)Aucune
VitessePlus lent (overhead)Plus rapide
UsageHTTP, SSH, FTP, SMTP, SMBDNS, DHCP, VoIP, streaming

3. IPv4 / CIDR / Subnetting

Adresses speciales

AdresseRole
127.0.0.1Loopback — teste la pile TCP/IP locale, ne sort pas sur le reseau
169.254.x.xAPIPA — le DHCP a echoue, adresse auto-assignee
0.0.0.0Route par defaut / adresse non configuree
255.255.255.255Broadcast limite (tout le segment)

Plages privees RFC 1918

PlageCIDRHotes maxUsage typique
10.0.0.0 – 10.255.255.255/8~16 millionsGrandes entreprises, datacenters
172.16.0.0 – 172.31.255.255/12~1 millionEntreprises moyennes
192.168.0.0 – 192.168.255.255/16~65 000Domicile, petites entreprises

Calcul de sous-reseaux (Subnetting)

Bits hotes    = 32 - prefixe CIDR
Total adresses = 2^(bits hotes)
Hotes utilisables = 2^(bits hotes) - 2  (reseau + broadcast exclus)
CIDRMasqueHotes utilisablesUsage typique
/24255.255.255.0254LAN standard
/25255.255.255.128126Sous-reseau moyen
/26255.255.255.19262~60 hotes
/27255.255.255.22430~30 hotes
/28255.255.255.24014Petit segment
/29255.255.255.2486DMZ, petits groupes
/30255.255.255.2522Liaison point-a-point WAN

Methode : pour trouver le bon prefixe, chercher 2^n ≥ (hotes requis + 2). Ex : 30 hotes → 2^5 = 32 ≥ 32 → /27.

Piege : un sous-reseau doit commencer sur une adresse alignee sur sa taille. Ex : 10.0.0.65/26 est FAUX car 65 n'est pas un multiple de 64.

4. ARP et ICMP

ARP (Address Resolution Protocol)

ARP resout une adresse IP en adresse MAC sur le reseau local. Sans ARP, il est impossible d'envoyer une trame Ethernet a la bonne machine.

1. PC A veut envoyer a 10.20.0.50
2. Verifie le cache ARP : arp -a
3. Si absent : broadcast "Qui a 10.20.0.50 ?" (FF:FF:FF:FF:FF:FF)
4. 10.20.0.50 repond en unicast avec sa MAC
5. PC A stocke l'entree en cache (~2 min)

ARP Gratuit (Gratuitous ARP) : une machine annonce sa propre IP/MAC sans demande. Usage normal : detection de conflits IP. Usage malveillant : ARP Spoofing / Poisoning (attaque Man-in-the-Middle).

ICMP (Internet Control Message Protocol)

Protocole de diagnostic et de messages d'erreur. Utilise par ping et traceroute.

MessageSignification
Echo Request / Echo Replyping — teste la joignabilite
TTL ExceededLe paquet a fait trop de sauts (boucle probable)
Destination UnreachableLe routeur ne trouve pas de route vers la destination
Port UnreachableLa destination est atteinte mais le port est ferme (UDP)

TTL par OS : Linux/Mac/Cisco = 64, Windows = 128, Cisco IOS = 255. Le TTL diminue de 1 a chaque routeur traverse. Si TTL atteint 0, le paquet est detruit et un "TTL Exceeded" est envoye a l'emetteur — c'est le principe de traceroute.

5. DHCP

DHCP attribue automatiquement une adresse IP et la configuration reseau a chaque machine. Ports : serveur sur UDP 67, client sur UDP 68.

Processus DORA

Client                              Serveur
  |--DISCOVER (broadcast)----------->|  "Y a-t-il un serveur DHCP ?"
  |<--OFFER (broadcast/unicast)------|  "Je t'offre 10.20.0.50 / GW / DNS"
  |--REQUEST (broadcast)------------>|  "J'accepte l'offre" (broadcast pour informer les autres serveurs)
  |<--ACKNOWLEDGE (broadcast/unicast)|  "Confirme ! Bail valide 8 jours"

Renouvellement du bail : a 50% de la duree le client tente de renouveler (unicast). A 87,5% il reessaie. A 100% il recommence le processus DORA complet.

Diagnostics DHCP

SymptomeCause probableSolution
IP 169.254.x.x (APIPA)Le client n'a pas recu de reponse DHCPipconfig /release puis /renew, verifier le service DHCP et le VLAN du port
Scope epuiseToutes les IPs sont attribueesAgrandir la plage, supprimer les baux expires, reduire la duree de bail
Conflit d'adresse IPIP statique dans la plage DHCP dynamiqueMettre l'IP statique hors de la plage, ou creer une reservation DHCP
Bonne pratique : les peripheriques avec IP fixe (serveurs, imprimantes) doivent etre soit hors de la plage DHCP dynamique, soit geres par des reservations DHCP (IP fixe attribuee via adresse MAC).
DHCP Relay : si le serveur DHCP n'est pas sur le meme segment que les clients, un "DHCP Relay Agent" (ip helper-address sur Cisco) est necessaire pour relayer les broadcasts DHCP vers le serveur.
DHCP autorise dans AD : sur Windows Server dans un domaine Active Directory, le serveur DHCP doit etre explicitement autorise dans l'AD, sinon il ne repond pas (protection anti-DHCP rogue).

6. DNS

Le DNS traduit les noms de domaine en adresses IP (et inversement). Port 53 TCP+UDP. UDP pour les requetes <512 octets, TCP pour les transferts de zone et les reponses plus longues (DNSSEC).

Types d'enregistrements

TypeRoleExemple
ANom → IPv4srv01 → 10.20.0.10
AAAANom → IPv6srv01 → 2001:db8::1
CNAMEAlias → autre nom (pas une IP)www → srv01.mission.local
MXServeur de messagerie (avec priorite)10 mail.mission.local
PTRIP → Nom (DNS inverse)10.0.20.10 → srv01
NSServeur de noms autoritairemission.local → ns1
SOAStart Of Authority (infos sur la zone)Numero de serie, TTL par defaut
TXTTexte libreSPF, DKIM, verification de domaine
SRVLocalisateur de service_ldap._tcp → DC01:389

Resolution DNS recursive

PC → DNS local (cache PC)
   → Serveur DNS configure (ex: 10.20.0.1) [cache local]
     → Root servers (.)
       → Serveur TLD (.com, .org...)
         → Serveur autoritaire du domaine
           → Reponse avec l'IP, mise en cache selon le TTL

TTL (Time To Live) : duree pendant laquelle un resolveur met en cache la reponse. TTL bas = propagation rapide mais plus de requetes. TTL eleve = moins de charge mais propagation lente.

Commandes DNS

nslookup intranet.mission.local         # Resolution standard
nslookup -type=MX mission.local         # Enregistrements MX
nslookup intranet.mission.local 8.8.8.8 # Forcer un DNS specifique
Resolve-DnsName intranet.mission.local  # PowerShell
ipconfig /flushdns                      # Vider le cache DNS client
ipconfig /displaydns                    # Afficher le cache DNS client
dig intranet.mission.local              # Linux
Diagnostic DNS : distinguer "DNS ne repond pas" (timeout) de "DNS repond mais l'enregistrement n'existe pas" (NXDOMAIN). Si nslookup dit "No records" mais que d'autres machines resolvent, elles ont probablement l'info en cache.

7. NAT / PAT

NAT (Network Address Translation) traduit les adresses IP privees en adresses publiques pour l'acces a Internet.

TypeDescriptionUsage
NAT Statique1 IP privee ↔ 1 IP publique fixeExposer un serveur (web, mail) en DMZ
NAT DynamiquePool d'IPs privees ↔ pool d'IPs publiquesRarement utilise en pratique
PAT / NAT OverloadTout le reseau prive → 1 seule IP publique (differentiation par port source)Standard dans 99% des routeurs/box

Fonctionnement PAT

Le routeur maintient une table de traduction qui associe chaque connexion interne a un port source unique :

IP Privee       Port Source   IP Publique      Port Traduit
10.20.0.10      54321         203.0.113.1      54321
10.20.0.20      54321         203.0.113.1      54322   (port change si conflit)
10.20.0.50      54000         203.0.113.1      54323

Port Forwarding (DNAT) : permet d'acceder depuis Internet a un serveur interne. Ex : tout trafic entrant sur 203.0.113.1:443 est redirige vers 10.20.0.100:443.

8. VLAN / Switching / STP

VLANs

Un VLAN (Virtual LAN) cree des domaines de broadcast logiquement separes sur le meme equipement physique. Les avantages sont la securite (isolation des departements), la reduction des domaines de broadcast, et le controle du trafic inter-segements via firewall.

Type de portDescriptionUsage
Access portUn seul VLAN, trafic non tague. La machine ne sait pas qu'elle est dans un VLAN.PC, imprimantes, serveurs
Trunk port (802.1Q)Plusieurs VLANs simultanément, trafic tague avec un identifiant de 4 octets insere dans la trame Ethernet.Liens switch-switch, switch-routeur

Communication inter-VLAN : les VLANs sont des reseaux L3 distincts. Pour communiquer, il faut obligatoirement un equipement de couche 3 (routeur ou switch L3).

  • Router-on-a-Stick : un seul routeur avec des sous-interfaces (une par VLAN), chacune servant de passerelle.
  • Switch L3 avec SVI : le switch cree une interface VLAN virtuelle (SVI) par VLAN qui sert de gateway. Plus performant.

Configuration Cisco IOS

# Creer un VLAN
Switch(config)# vlan 10
Switch(config-vlan)# name Direction

# Port access
Switch(config)# interface fa0/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10

# Port trunk
Switch(config)# interface gi0/1
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan 10,20,30,40,50,99
Switch(config-if)# switchport trunk native vlan 99

# Verification
Switch# show vlan brief
Switch# show interfaces trunk
Switch# show interfaces gi0/1 switchport

STP (Spanning Tree Protocol)

STP previent les boucles de couche 2 dans les reseaux avec des liens redondants. Une boucle L2 sans STP provoque une "tempete de broadcast" qui paralyse completement le reseau.

Root Bridge : le switch avec le BID (Bridge ID = priorite + adresse MAC) le plus bas. Par defaut, priorite = 32768. On peut forcer un switch a devenir root : spanning-tree vlan 10 priority 4096.

Etat du port STPDescription
DisabledPort administrativement desactive
BlockingRecoit les BPDU, ne transmet pas de donnees, n'apprend pas les MACs
ListeningEnvoie/recoit des BPDU, pas de donnees (15 secondes)
LearningApprend les adresses MAC, pas encore de donnees (15 secondes)
ForwardingEtat normal — transmet les donnees et apprend les MACs

RSTP (802.1w) : version rapide de STP, convergence en <1 seconde au lieu de 30-50 secondes. C'est le standard actuel.

PortFast : pour les ports connectes a des PCs/serveurs uniquement, passe directement en Forwarding. Ne jamais activer sur un port trunk.

BPDU Guard : si un BPDU est recu sur un port PortFast, le port passe en err-disable. Protege contre la connexion non autorisee d'un switch.

9. Routage

Un routeur decide du chemin que doit emprunter un paquet en consultant sa table de routage. La decision est basee sur l'adresse IP de destination.

Routage statiqueRoutage dynamique (OSPF, BGP)
ConfigurationManuelleAutomatique entre routeurs
Adaptation aux pannesAucune (route fixe)Recalcul automatique
ComplexiteSimplePlus complexe
UsagePetits reseaux, routes de secoursGrands reseaux, WAN complexe, operateurs
# Cisco IOS - Routes statiques
ip route 10.30.0.0 255.255.255.0 10.99.1.2    # Route vers site Washington
ip route 172.16.0.0 255.255.0.0 10.99.2.2     # Route vers Geneve
ip route 0.0.0.0 0.0.0.0 203.0.113.2          # Route par defaut (Internet)

# Verification
show ip route
show ip route 10.30.0.0
traceroute 10.30.0.50

# Linux
ip route add 10.30.0.0/24 via 10.99.1.2
ip route show
ip route get 10.30.0.50    # Quel chemin pour cette IP ?

# Windows
route print
New-NetRoute -DestinationPrefix "10.30.0.0/24" -NextHop "10.99.1.2" -InterfaceIndex 5

10. Firewall

Types de firewalls

TypeDescriptionAvantages/Limites
Packet filter (stateless)Filtre paquet par paquet sur IP/port/protocoleRapide, ne distingue pas les sessions
Stateful inspectionMaintient l'etat des connexions, autorise automatiquement les reponsesStandard actuel, efficace
WAF (Web Application Firewall)Analyse le contenu HTTP/HTTPS (L7), detecte SQLi, XSS, etc.Protege les applications web
Proxy FirewallAgit comme intermediaire, inspecte le contenuTres securise, peut dechiffrer le TLS

Principes fondamentaux

  • Deny All : bloquer tout sauf ce qui est explicitement autorise (liste blanche). C'est l'approche la plus securisee.
  • Implicit Deny : la derniere regle implicite est toujours "tout refuser". Ce qui n'est pas autorise est bloque.
  • First-Match : les regles sont evaluees sequentiellement. La premiere regle qui correspond s'applique, les suivantes sont ignorees.
Piege classique : une regle DENY large placee avant des regles ALLOW specifiques bloque le trafic meme si la regle ALLOW est presente plus bas. Toujours ordonner du plus specifique au plus general.

Exemple de regles PFSense

# Interface WAN (Internet → Mission)
ALLOW  ANY        → 203.0.113.50:443  TCP  (VPN SSL entrant)
ALLOW  ANY        → 203.0.113.50:25   TCP  (SMTP entrant)
DENY   ANY        → ANY              ANY  (tout le reste)

# Interface LAN VLAN10 Direction
ALLOW  VLAN10  → 10.20.0.100:22,80,445  TCP  (SSH, HTTP, SMB vers serveur fichiers)
DENY   VLAN10  → VLAN40                 ANY  (Direction ne peut pas acceder a Securite)
DENY   VLAN10  → ANY                    ANY  (tout le reste bloque)

DMZ (Demilitarized Zone)

Zone reseau intermediaire entre Internet et le LAN interne. Accueille les serveurs accessibles depuis Internet (web, mail, reverse proxy). Si un serveur DMZ est compromis, le firewall bloque l'acces au reseau interne.

11. Ports et protocoles essentiels

ServicePortProtoNotes
HTTP80TCPNon chiffre
HTTPS443TCPTLS/SSL
FTP controle21TCPCommandes FTP
FTP donnees20TCPTransfert fichiers
SSH22TCPTOUJOURS preferer a Telnet
Telnet23TCPNon chiffre — a bannir
SMTP25TCPMail serveur a serveur
SMTP chiffre587 / 465TCP587=STARTTLS, 465=SMTPS
DNS53TCP+UDPUDP pour requetes, TCP pour zones
DHCP Serveur67UDPRecoit les requetes clients
DHCP Client68UDPRecoit les reponses serveur
LDAP389TCPActive Directory non chiffre
LDAPS636TCPLDAP sur TLS
Kerberos88TCP+UDPAuthentification AD
RDP3389TCPBureau a distance Windows
SMB/CIFS445TCPPartages reseau Windows
SNMP161/162UDPMonitoring (161=requetes, 162=traps)
NTP123UDPSynchronisation de l'horloge
MySQL3306TCPBase de donnees
Ports a ne jamais exposer directement sur Internet : 23 (Telnet), 135-139 (NetBIOS), 445 (SMB — WannaCry/EternalBlue), 3389 (RDP), 1433 (MSSQL), 3306 (MySQL).

12. VPN

TypeProtocolePortCas d'usage
IPSec IKEv2IKEv2 + ESPUDP 500, 4500VPN site-a-site, tres stable avec MOBIKE (reconnexion auto)
SSL VPNTLSTCP 443Acces distant via navigateur, traverse facilement les firewalls
OpenVPNSSL/TLSUDP 1194 (ou TCP)Tres configurable, multi-plateforme
WireGuardChaCha20/Poly1305UDP 51820Tres rapide et leger, code simple

Split tunneling : seul le trafic destine au reseau interne passe par le VPN. Le reste (Internet) passe directement. Contraire du "full tunnel" ou tout passe par le VPN.

NAT Traversal (NAT-T) : IKEv2 sur UDP 4500 est concu pour traverser les NAT agressifs (hotels, hotspots). Preferer IKEv2 avec NAT-T pour les connexions depuis des reseaux inconnus.

VPN timeout au NAT : les NAT d'hotel ont souvent des timeouts courts sur les connexions TCP inactives. Configurer des keepalives (paquets envoys toutes les 30s) pour maintenir la session NAT active.

13. Cybersecurite

Hardening Windows Server — Checklist

# 1. Renommer le compte Administrator (cible privilegiee des attaques)
Rename-LocalUser -Name "Administrator" -NewName "admin-srv01"

# 2. Desactiver le compte Guest
Disable-LocalUser -Name "Guest"

# 3. Desactiver SMBv1 (vulnerable - WannaCry/EternalBlue)
Set-SmbServerConfiguration -EnableSMB1Protocol $false

# 4. Activer le Firewall Windows
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True

# 5. Augmenter la taille des journaux de securite
wevtutil sl Security /ms:1073741824   # 1 Go pour Security log

# 6. Appliquer les mises a jour
Install-Module PSWindowsUpdate
Get-WUInstall -AcceptAll -AutoReboot

# 7. Desactiver les services inutiles
Set-Service -Name "Telnet" -StartupType Disabled
Set-Service -Name "RemoteRegistry" -StartupType Disabled

Bonnes pratiques : politique de mots de passe forte (14 car. min, complexite, expiration 90 jours, historique 24), lockout apres 5 tentatives, BitLocker pour le chiffrement disque, NLA pour RDP, ne jamais exposer RDP directement sur Internet (utiliser VPN).

Events Windows importants

Event IDSignification
4624Connexion reussie
4625Echec de connexion (brute-force si repete)
4688Creation de processus (utile pour detecter les malwares)
4698Tache planifiee creee (persistance malware)
4663Acces a un fichier sensible
4740Compte verrouille

Reponse a incident — phases

  1. Confinement immediat : isoler la machine du reseau (debrancher le cable, desactiver le port switch), NE PAS eteindre (preservation des preuves en RAM).
  2. Investigation : capturer la RAM, analyser les connexions reseau (netstat -anb), inspecter les processus (tasklist /v), chercher la persistance (registre, taches planifiees, Autoruns SysInternals).
  3. Eradication : en environnement sensible, toujours reconstruire le poste de zero ("rebuild from scratch"). Le nettoyage est insuffisant (rootkits, backdoors).
  4. Amelioration : bloquer les macros Office via GPO, former les utilisateurs, deployer un EDR, configurer DMARC/DKIM/SPF pour le mail.

Structure Active Directory

mission.local
├── OU=Utilisateurs
│   ├── OU=Direction
│   ├── OU=Consulaire
│   ├── OU=Informatique
│   └── OU=Securite
├── OU=Ordinateurs
│   ├── OU=Postes-Direction
│   ├── OU=Postes-Consulaire
│   └── OU=Serveurs
└── OU=Groupes
    ├── GRP-VPN-Users
    ├── GRP-Admins-IT
    └── GRP-Partage-Fichiers

Protocoles d'authentification

ProtocolePortDescription
Kerberos88 TCP/UDPProtocole principal dans un domaine AD. Tickets avec duree de vie limitee.
NTLMProtocole legacy, utilise pour la compatibilite (hors domaine, anciens OS).
LDAP389 TCPInterrogation et modification de l'annuaire AD. Non chiffre.
LDAPS636 TCPLDAP sur TLS. A privilegier.

Commandes PowerShell Active Directory

# Rechercher un utilisateur
Get-ADUser -Identity jmartin
Get-ADUser -Identity jmartin -Properties *            # Toutes les proprietes
Get-ADUser -Filter {Name -like "Mar*"}                # Recherche par nom

# Gestion des comptes
Search-ADAccount -LockedOut                           # Comptes verrouilles
Unlock-ADAccount -Identity jmartin                    # Deverrouiller
Enable-ADAccount -Identity jmartin                    # Activer
Disable-ADAccount -Identity jmartin                   # Desactiver
Set-ADAccountPassword -Identity jmartin -Reset -NewPassword (Read-Host -AsSecureString)

# Gestion des groupes
Get-ADGroupMember -Identity "Domain Admins"
Add-ADGroupMember -Identity "GRP-IT" -Members jmartin
Remove-ADGroupMember -Identity "GRP-IT" -Members jmartin -Confirm:$false

# Gestion des ordinateurs
Get-ADComputer -Filter {Name -like "PC-*"}
Move-ADObject -Identity "CN=PC01,CN=Computers,DC=mission,DC=local" `
              -TargetPath "OU=Postes-Direction,DC=mission,DC=local"

GPO (Group Policy Objects)

Les GPO permettent d'appliquer des configurations et des restrictions a des OUs entieres. L'heritage se fait de la racine vers les OUs enfants. Un GPO peut etre bloque (Block Inheritance) ou force (Enforced / No Override).

gpupdate /force             # Forcer la mise a jour des GPO sur un poste
gpresult /r                 # Afficher les GPO appliquees (resume)
gpresult /h C:\gpo.html     # Rapport HTML detaille
gpmc.msc                    # Console de gestion des GPO

15. Linux / SSH / Bash

Commandes systeme essentielles

# Informations systeme
hostname -f                     # FQDN du serveur
uname -a                        # Noyau et architecture
cat /etc/os-release             # Version de l'OS
uptime                          # Temps de fonctionnement et charge
free -h                         # RAM disponible
df -h                           # Espace disque par partition
du -sh *                        # Espace par dossier

# Processus
top / htop                      # Processus en temps reel
ps aux                          # Snapshot statique des processus
kill -9                    # Tuer un processus

# Services (systemd)
systemctl status nginx          # Etat d'un service
systemctl start / stop / restart nginx
systemctl enable / disable nginx  # Demarrage automatique
journalctl -u nginx -f           # Logs du service en temps reel
tail -f /var/log/syslog          # Logs systeme en temps reel
</code></pre>

Permissions Linux

DroitValeurSur fichierSur repertoire
r (read)4Lire le contenuLister le contenu (ls)
w (write)2ModifierCreer/supprimer des fichiers
x (execute)1ExecuterEntrer dans le repertoire (cd)
chmod 754 fichier      # rwx r-x r--  (proprietaire=7, groupe=5, autres=4)
chown user:group fichier   # Changer proprietaire et groupe
id / groups                # Voir les groupes de l'utilisateur courant
sudo -l                    # Voir les commandes sudo autorisees

SSH

ssh user@10.20.0.10                          # Connexion SSH
ssh -p 2222 user@10.20.0.10                  # Port personnalise
ssh -L 8080:localhost:80 user@10.20.0.10     # Tunnel local (port forwarding)
ssh-keygen -t ed25519 -C "cedric@mission"    # Generer une paire de cles
ssh-copy-id user@10.20.0.10                  # Copier la cle publique

# Configuration SSH serveur (/etc/ssh/sshd_config)
PermitRootLogin no           # Interdire la connexion root directe
PasswordAuthentication no    # Forcer les cles SSH
Port 2222                    # Changer le port par defaut
AllowUsers jmartin cedric    # Restreindre les utilisateurs

Reseau sous Linux

ip a                          # Interfaces et adresses IP
ip r                          # Table de routage
ip route add 10.30.0.0/24 via 10.99.1.2  # Ajouter une route
ss -tulnp                     # Ports en ecoute avec processus (remplace netstat)
netstat -an                   # Connexions actives
ping / traceroute
nslookup / dig google.com     # Resolution DNS
arp -n                        # Table ARP
nmap -sS 10.20.0.0/24        # Scan du reseau (droits root necessaires)

16. PowerShell

PowerShell manipule des objets .NET et non du texte brut comme Bash. Le pipeline transmet des objets avec leurs proprietes, ce qui permet de filtrer et de transformer les donnees avec precision.

# Bases
Get-Command *Service*                         # Chercher une commande
Get-Help Get-Process -Examples                # Aide et exemples
Get-Process | Where-Object CPU -gt 10        # Filtrer les processus
Get-Process | Select-Object Name, CPU, ID    # Selectionner des proprietes
Get-Service | Format-List *                   # Afficher toutes les proprietes

# Reseau
ipconfig /all
Test-NetConnection -ComputerName 10.20.0.100 -Port 445  # Tester un port
Get-NetTCPConnection | Where-Object State -eq "Established"
Resolve-DnsName google.com

# DHCP (sur serveur)
Get-DhcpServerv4Scope                              # Lister les scopes
Get-DhcpServerv4ScopeStatistics -ScopeId 10.20.0.0  # % d'utilisation
Get-DhcpServerv4Lease -ScopeId 10.20.0.0          # Baux actifs
Add-DhcpServerv4Reservation -ScopeId 10.20.0.0 -IPAddress 10.20.0.200 `
  -ClientId "AA-BB-CC-DD-EE-FF" -Description "Imprimante"

# DNS (sur serveur)
Get-DnsServerZone
Get-DnsServerResourceRecord -ZoneName "mission.local"
Add-DnsServerResourceRecordA -ZoneName "mission.local" -Name "intranet" `
  -IPv4Address "10.20.0.100" -CreatePtr
Clear-DnsServerCache

# Services
Get-Service | Where-Object Status -eq "Stopped"
Start-Service -Name DHCPServer
Stop-Service -Name Spooler

Execution Policy

PolitiqueDescription
RestrictedAucun script (defaut sur certains Windows Server)
AllSignedTous les scripts doivent etre signes par une CA approuvee
RemoteSignedScripts locaux OK, scripts telecharges doivent etre signes. Recommande.
UnrestrictedTout OK. Dangereux en production.
BypassRien bloque. Usage temporaire pour les admins.
Get-ExecutionPolicy
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
powershell.exe -ExecutionPolicy Bypass -File script.ps1   # Passer outre temporairement

17. Methodologie de Troubleshooting

Methode OSI Bottom-Up

Toujours diagnostiquer depuis la couche la plus basse. Des qu'une couche est validee, passer a la suivante. Des qu'une couche echoue, c'est la qu'est le probleme.

CoucheQuestionsOutils
L1 PhysiqueCable branche ? Voyant allume ? Bon cable ?Testeur de cable, remplacer le cable
L2 LiaisonMAC visible en ARP ? VLAN correct ? Port switch configure ?arp -a, show mac address-table, show interfaces status
L3 ReseauIP correcte ? Masque correct ? Gateway correcte ? Route valide ?ipconfig /all, ping gateway, tracert, route print
L4 TransportPort ouvert ? Firewall bloque ? Service ecoute ?netstat, telnet <IP> <PORT>, Test-NetConnection
L7 ApplicationService demarre ? Configuration correcte ? Logs d'erreurs ?services.msc, eventvwr, journalctl

Les 6 etapes CompTIA Network+

  1. Identifier le probleme : symptomes, perimetre, chronologie
  2. Etablir une theorie : cause la plus probable
  3. Tester la theorie : valider ou invalider
  4. Etablir un plan d'action et le mettre en oeuvre
  5. Verifier que le probleme est resolu et prevenir la recurrence
  6. Documenter : ticket, base de connaissances, changelog
Indice APIPA : une IP en 169.254.x.x indique systematiquement un echec du processus DHCP. Verifier : le service DHCP, le VLAN du port switch, le DHCP Relay Agent si le serveur est sur un autre segment.

Commandes de diagnostic Windows

ipconfig /all              # Config reseau complete (IP, MAC, DNS, GW, DHCP)
ipconfig /release          # Liberer le bail DHCP
ipconfig /renew            # Obtenir un nouveau bail DHCP
ipconfig /flushdns         # Vider le cache DNS
ping 127.0.0.1             # Tester la pile TCP/IP locale
ping 10.20.0.254           # Tester la gateway
ping 8.8.8.8               # Tester la connectivite Internet
ping google.com            # Tester la resolution DNS + Internet
tracert 8.8.8.8            # Tracer le chemin reseau
nslookup google.com        # Tester la resolution DNS
netstat -an                # Connexions actives
arp -a                     # Table ARP (IP <-> MAC)
route print                # Table de routage
pathping google.com        # ping + traceroute combines
Test-NetConnection -ComputerName 10.20.0.100 -Port 445  # Tester un port TCP

18. Wireshark et Monitoring

Filtres Wireshark essentiels

# Filtres par IP
ip.addr == 10.20.0.50                    # Tout le trafic d'une IP
ip.src == 10.20.0.50                     # Uniquement le trafic sortant
ip.dst == 10.20.0.100                    # Uniquement le trafic entrant
!(ip.addr == 10.20.0.1)                  # Exclure une IP

# Filtres par protocole
dns                                       # Tout le DNS
dhcp                                      # Tout le DHCP
arp                                       # Tout l'ARP
http                                      # Trafic HTTP
tls                                       # Trafic TLS/HTTPS
icmp                                      # Pings

# Filtres par port
tcp.port == 443                           # HTTPS
tcp.dstport == 22                         # SSH entrant
udp.port == 53                            # DNS
tcp.port in {80 443 8080 8443}           # Plusieurs ports

# Flags TCP
tcp.flags.syn == 1 && tcp.flags.ack == 0  # SYN seuls (scan de ports ?)
tcp.flags.reset == 1                      # Connexions refusees ou reinitalisees
tcp.flags.fin == 1                        # Fin de connexion
tcp.analysis.retransmission              # Retransmissions (probleme reseau)
tcp.analysis.zero_window                 # Fenetre TCP nulle (perf degradee)

# Filtres avances
frame contains "password"               # Chercher du texte dans les paquets
http.request.method == "POST"           # Requetes POST
http.response.code == 404              # Erreurs 404
dns.qry.name contains "google"         # Requetes DNS contenant "google"

tcpdump (ligne de commande)

tcpdump -i eth0 "port 445"                    # Capturer sur un port
tcpdump -i em0 "host 10.20.0.10 and port 445" # Hote et port specifiques
tcpdump -xx port 9025                          # Afficher les octets en hexa
tcpdump -w capture.pcap                        # Sauvegarder dans un fichier

Lecture des logs Windows

eventvwr.msc                        # Visionneuse d'evenements
# Logs importants :
# Windows Logs > Security  : connexions, echecs, modifications de comptes
# Windows Logs > System    : demarrage, arrets, erreurs materiel/drivers
# Applications and Services > ... : logs applicatifs specifiques

# PowerShell
Get-EventLog -LogName Security -Newest 100
Get-EventLog -LogName Security -EventId 4625  # Echecs de connexion
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4625} -MaxEvents 50

19. Virtualisation / Cloud / Sauvegardes

Types d'hyperviseurs

TypeDescriptionExemples
Type 1 (Bare-metal)S'installe directement sur le materiel physique, sans OS hote. Plus performant.VMware ESXi, Hyper-V, Proxmox VE, XCP-ng, KVM
Type 2S'installe sur un OS existant. Moins performant, pour tests et developpement.VMware Workstation, VirtualBox, Parallels
NotionDefinition
SnapshotSauvegarde de l'etat d'une VM a un instant T, reversible. N'est PAS un backup ! Consomme de l'espace disque.
Live Migration (vMotion)Deplacer une VM en cours d'execution vers un autre hote physique sans interruption de service.
Overcommit CPU/RAMAttribuer plus de ressources virtuelles qu'il n'y en a en physique. Possible car les VMs n'utilisent pas 100% en meme temps.
HA (High Availability)Redemarrage automatique d'une VM sur un autre hote en cas de panne.
FT (Fault Tolerance)VM miroir sur un second hote, bascule instantanee sans perte.

Regle de sauvegarde 3-2-1

  • 3 copies des donnees
  • 2 supports differents (ex : disque interne + NAS)
  • 1 copie hors site (cloud, site distant)
TermeDefinition
RPO (Recovery Point Objective)Perte de donnees maximale acceptable. Ex : RPO = 4h → sauvegardes toutes les 4h.
RTO (Recovery Time Objective)Duree maximale acceptable d'interruption. Ex : RTO = 2h → le systeme doit etre restaure en moins de 2h.

Cloud — Concepts de base

ModeleDescriptionExemples
IaaSInfrastructure as a Service : VM, reseau, stockage brutAWS EC2, Azure VM, GCP Compute Engine
PaaSPlatform as a Service : environnement d'execution gereAzure App Service, Google App Engine
SaaSSoftware as a Service : application directement accessibleMicrosoft 365, Google Workspace, Salesforce

20. Reference rapide des commandes

Windows — Reseau

ipconfig /all                          # Toutes infos reseau (IP, MAC, DNS, GW)
ipconfig /release / /renew             # Liberer / Renouveler bail DHCP
ipconfig /flushdns / /displaydns       # Vider / Afficher cache DNS
ping 8.8.8.8 -t                        # Ping continu (Ctrl+C pour arreter)
tracert 8.8.8.8                        # Tracer le chemin reseau
nslookup google.com                    # Resolution DNS
nslookup google.com 8.8.8.8            # Forcer un DNS specifique
netstat -an                            # Connexions actives
netstat -an | findstr :443             # Filtrer par port
arp -a                                 # Table ARP
arp -d                                 # Vider la table ARP
route print                            # Table de routage
pathping google.com                    # Ping + traceroute combines
netsh winsock reset                    # Reinitialiser la pile TCP/IP
Test-NetConnection -ComputerName 10.0.0.1 -Port 443

Windows — GPO

gpupdate /force                        # Forcer MAJ GPO
gpresult /r                            # GPO appliquees (resume)
gpresult /h C:\gpo.html && start C:\gpo.html  # Rapport HTML
gpmc.msc                               # Console GPO
gpedit.msc                             # Editeur GPO local

Linux — Reseau

ip a                           # Interfaces et adresses IP
ip r                           # Table de routage
ip route get 10.30.0.50        # Quel chemin pour cette IP ?
ss -tulnp                      # Ports en ecoute
ping / traceroute
nslookup / dig google.com
arp -n                         # Table ARP
nmap -sn 10.20.0.0/24         # Decouverte des hotes du reseau

Linux — Systeme

top / htop                     # Processus en temps reel
ps aux | grep nginx            # Chercher un processus
kill -9 <PID>
df -h                          # Espace disque
du -sh *                       # Espace par dossier
free -h                        # Memoire disponible
uptime                         # Charge systeme
tail -f /var/log/syslog        # Logs en temps reel
journalctl -u <service> -f    # Logs systemd en temps reel

Diagnostic switch Cisco

show version                   # Modele et version IOS
show running-config            # Configuration actuelle
show interfaces status         # Etat de tous les ports
show interface gi0/1           # Detail d'un port
show vlan brief                # VLANs configures
show interfaces trunk          # Ports trunk
show mac address-table         # Table MAC
show spanning-tree summary     # Resume STP
show ip route                  # Table de routage
show cdp neighbors             # Voisins Cisco (topologie)
show log                       # Journaux systeme
</div>

Network & Systems Administrator Course Notes

Complete course notes covering all systems and network administration concepts at junior/intermediate level. Context: infrastructure of an international diplomatic mission (~300 workstations, Windows/Linux, segmented VLANs, multi-site VPN).

1. OSI Model

The OSI model breaks network communications down into 7 independent layers. It is not implemented directly but serves as a reference for understanding protocols and diagnosing faults (bottom-up method).

LayerNamePDUProtocols / DevicesRole
7ApplicationDataHTTP, HTTPS, FTP, DNS, SMTP, DHCPUser interface
6PresentationDataSSL/TLS, JPEG, ASCII, encryptionTranslation, compression
5SessionDataNetBIOS, RPC, SQLSession establishment/teardown
4TransportSegment / DatagramTCP (reliable), UDP (fast)End-to-end transport
3NetworkPacketIP, ICMP, OSPF → RouterAddressing and routing
2Data LinkFrameEthernet, 802.1Q, WiFi → L2 SwitchMedia access, MAC addresses
1PhysicalBitRJ45, fiber, WiFi → Hub, repeaterElectrical/optical signal
Mnemonic (bottom to top): "Please Do Not Throw Sausage Pizza Away" → Physical, Data Link, Network, Transport, Session, Presentation, Application.

Bottom-up diagnostic:

  1. L1 Physical: cable plugged in? switch light on? try another cable.
  2. L2 Data Link: MAC visible in ARP? correct VLAN? switch port configured?
  3. L3 Network: correct IP? correct mask? gateway configured? valid route?
  4. L4 Transport: TCP/UDP port open? firewall blocking? service running?
  5. L7 Application: service started? correct configuration? error logs?

2. TCP and UDP

TCP (Transmission Control Protocol)

Connection-oriented, reliable protocol. Guarantees ordered delivery with retransmission on loss. Use: HTTP, HTTPS, SSH, FTP, SMTP, SMB.

Client                    Server
  |---- SYN (seq=x) -------->|   Client initiates connection
  |<--- SYN-ACK (seq=y) -----|   Server accepts and acknowledges
  |---- ACK (ack=y+1) ------>|   Client confirms
  |    [Connection established] |

UDP (User Datagram Protocol)

Connectionless, unreliable protocol. Sends datagrams without acknowledgement or order guarantee. Much faster than TCP. Use: DNS, DHCP, video streaming, VoIP, gaming, SNMP, NTP.

TCPUDP
ConnectionConnection-oriented (3-way handshake)Connectionless
ReliabilityGuaranteed (retransmission, ordering)None
SpeedSlower (overhead)Faster
Use casesHTTP, SSH, FTP, SMTP, SMBDNS, DHCP, VoIP, streaming

3. IPv4 / CIDR / Subnetting

Special addresses

AddressRole
127.0.0.1Loopback — tests local TCP/IP stack, never leaves the host
169.254.x.xAPIPA — DHCP failed, auto-assigned address
0.0.0.0Default route / unconfigured address
255.255.255.255Limited broadcast (entire segment)

Private ranges RFC 1918

RangeCIDRMax hostsTypical use
10.0.0.0 – 10.255.255.255/8~16 millionLarge enterprises, datacenters
172.16.0.0 – 172.31.255.255/12~1 millionMedium enterprises
192.168.0.0 – 192.168.255.255/16~65,000Home, small offices

Subnetting formulas

Host bits        = 32 - CIDR prefix
Total addresses  = 2^(host bits)
Usable hosts     = 2^(host bits) - 2  (network + broadcast excluded)
CIDRMaskUsable hosts
/24255.255.255.0254
/26255.255.255.19262
/27255.255.255.22430
/28255.255.255.24014
/29255.255.255.2486
/30255.255.255.2522 (point-to-point WAN)

4. ARP and ICMP

ARP (Address Resolution Protocol)

ARP resolves an IP address to a MAC address on the local network. Without ARP, Ethernet frames cannot be delivered to the right machine.

1. PC A wants to send to 10.20.0.50
2. Checks ARP cache: arp -a
3. If missing: broadcast "Who has 10.20.0.50?" (FF:FF:FF:FF:FF:FF)
4. 10.20.0.50 replies with its MAC (unicast)
5. PC A stores the entry in cache (~2 min)

Gratuitous ARP: a device announces its own IP/MAC without being asked. Normal use: IP conflict detection at boot. Malicious use: ARP Spoofing/Poisoning (Man-in-the-Middle attack).

ICMP

MessageMeaning
Echo Request / Echo Replyping — tests reachability
TTL ExceededPacket traversed too many hops (loop probable)
Destination UnreachableRouter cannot find a route to destination

TTL by OS: Linux/Mac/Cisco = 64, Windows = 128, Cisco IOS = 255. TTL decrements by 1 at each router. This is the basis of traceroute.

5. DHCP

DHCP automatically assigns an IP address and network configuration to each machine. Ports: server on UDP 67, client on UDP 68.

Client                              Server
  |--DISCOVER (broadcast)----------->|  "Is there a DHCP server?"
  |<--OFFER (broadcast/unicast)------|  "I offer you 10.20.0.50 / GW / DNS"
  |--REQUEST (broadcast)------------>|  "I accept the offer"
  |<--ACKNOWLEDGE (broadcast/unicast)|  "Confirmed! Lease valid 8 days"
Best practice: devices with fixed IPs (servers, printers) should either be outside the DHCP dynamic range, or managed through DHCP reservations (fixed IP assigned via MAC address).
APIPA: a 169.254.x.x address always indicates a DHCP failure. Check: the DHCP service, the switch port VLAN, the DHCP Relay Agent if the server is on a different segment.

6. DNS

DNS translates domain names to IP addresses (and vice versa). Port 53 TCP+UDP.

TypeRoleExample
AName → IPv4srv01 → 10.20.0.10
AAAAName → IPv6srv01 → 2001:db8::1
CNAMEAlias → another name (not an IP)www → srv01.mission.local
MXMail server (with priority)10 mail.mission.local
PTRIP → Name (reverse DNS)10.0.20.10 → srv01
TXTFree textSPF, DKIM, domain verification
nslookup intranet.mission.local         # Standard resolution
nslookup -type=MX mission.local         # MX records
Resolve-DnsName intranet.mission.local  # PowerShell
ipconfig /flushdns                      # Flush DNS cache
ipconfig /displaydns                    # Show DNS cache
dig intranet.mission.local              # Linux

7. NAT / PAT

TypeDescriptionUse case
Static NAT1 private IP ↔ 1 fixed public IPExpose a DMZ server to the Internet
PAT / NAT OverloadEntire private network → 1 public IP (differentiated by source port)Standard in 99% of routers/gateways

Port Forwarding (DNAT): redirects inbound Internet traffic to an internal server. E.g.: all traffic on 203.0.113.1:443 is forwarded to 10.20.0.100:443.

8. VLAN / Switching / STP

Port typeDescriptionUse
Access portSingle VLAN, untagged traffic. The device does not know it is in a VLAN.PCs, printers, servers
Trunk port (802.1Q)Multiple VLANs simultaneously, tagged with a 4-byte identifier inserted into the Ethernet frame.Switch-switch, switch-router links

Inter-VLAN routing: VLANs are separate L3 networks. Communication requires a Layer 3 device (router or L3 switch).

# Cisco IOS VLAN configuration
Switch(config)# vlan 10
Switch(config-vlan)# name Direction

# Access port
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10

# Trunk port
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan 10,20,30,40,50,99

STP (Spanning Tree Protocol)

STP prevents Layer 2 loops in networks with redundant links. A L2 loop without STP causes a broadcast storm that completely paralyzes the network.

PortFast: for ports connected to PCs/servers only, skips Listening/Learning and goes directly to Forwarding. Never enable on a trunk port.

BPDU Guard: if a BPDU is received on a PortFast port, the port enters err-disable state. Protects against unauthorized switch connections.

9. Routing

# Cisco IOS static routes
ip route 10.30.0.0 255.255.255.0 10.99.1.2    # Route to Washington site
ip route 0.0.0.0 0.0.0.0 203.0.113.2          # Default route (Internet)

# Verification
show ip route
traceroute 10.30.0.50

# Linux
ip route add 10.30.0.0/24 via 10.99.1.2
ip route show

# Windows
route print

10. Firewall

Key principles:

  • Deny All: block everything except what is explicitly allowed (whitelist). Most secure approach.
  • First-Match: rules are evaluated sequentially. The first matching rule applies; subsequent rules are ignored.
  • Stateful: tracks connection state, automatically allows replies to internally initiated connections.
Classic pitfall: a broad DENY rule placed before specific ALLOW rules will block traffic even if the ALLOW rule exists further down. Always order from most specific to most general.

11. Essential Ports and Protocols

ServicePortProtoNotes
HTTP80TCPUnencrypted
HTTPS443TCPTLS/SSL
SSH22TCPAlways prefer over Telnet
Telnet23TCPUnencrypted — ban it
SMTP25TCPServer-to-server mail
DNS53TCP+UDPUDP for queries, TCP for zone transfers
DHCP Server67UDPReceives client requests
DHCP Client68UDPReceives server responses
LDAP389TCPActive Directory (unencrypted)
LDAPS636TCPLDAP over TLS
Kerberos88TCP+UDPAD authentication
RDP3389TCPWindows Remote Desktop
SMB/CIFS445TCPWindows network shares
SNMP161/162UDPNetwork monitoring
NTP123UDPClock synchronization

12. VPN

TypeProtocolPortUse case
IPSec IKEv2IKEv2 + ESPUDP 500, 4500Site-to-site VPN, very stable with MOBIKE (auto-reconnect)
SSL VPNTLSTCP 443Remote access, easily traverses firewalls
OpenVPNSSL/TLSUDP 1194Highly configurable, cross-platform
WireGuardChaCha20/Poly1305UDP 51820Very fast and lightweight

13. Cybersecurity

Windows Server Hardening Checklist

# Rename the Administrator account
Rename-LocalUser -Name "Administrator" -NewName "admin-srv01"

# Disable SMBv1 (vulnerable - WannaCry/EternalBlue)
Set-SmbServerConfiguration -EnableSMB1Protocol $false

# Enable Windows Firewall
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True

# Increase Security log size
wevtutil sl Security /ms:1073741824   # 1 GB

# Disable unnecessary services
Set-Service -Name "Telnet" -StartupType Disabled

# Apply updates
Get-WUInstall -AcceptAll -AutoReboot

Incident Response Phases

  1. Immediate containment: isolate the machine from the network (unplug cable, disable switch port). DO NOT power off (preserves RAM evidence).
  2. Investigation: capture RAM, analyze network connections (netstat -anb), inspect processes, check for persistence (registry, scheduled tasks, Autoruns).
  3. Eradication: in sensitive environments, always rebuild the workstation from scratch. Cleanup is insufficient (rootkits, backdoors).
  4. Improvement: block Office macros via GPO, train users, deploy EDR, configure DMARC/DKIM/SPF.

14. Active Directory / GPO

ProtocolPortDescription
Kerberos88 TCP/UDPPrimary AD authentication protocol. Time-limited tickets.
NTLMLegacy protocol, used for compatibility.
LDAP389 TCPQuery and modify the AD directory. Unencrypted.
LDAPS636 TCPLDAP over TLS. Preferred.
# User management
Get-ADUser -Identity jmartin
Search-ADAccount -LockedOut                           # Locked accounts
Unlock-ADAccount -Identity jmartin
Enable-ADAccount / Disable-ADAccount -Identity jmartin
Set-ADAccountPassword -Identity jmartin -Reset -NewPassword (Read-Host -AsSecureString)

# Group management
Add-ADGroupMember -Identity "GRP-IT" -Members jmartin
Remove-ADGroupMember -Identity "GRP-IT" -Members jmartin -Confirm:$false

# GPO
gpupdate /force             # Force GPO update
gpresult /r                 # Applied GPOs (summary)
gpmc.msc                    # GPO management console

15. Linux / SSH / Bash

# System info
hostname -f / uname -a / cat /etc/os-release
uptime / free -h / df -h / du -sh *

# Services
systemctl status / start / stop / restart <service>
systemctl enable / disable <service>    # Auto-start at boot
journalctl -u <service> -f              # Real-time service logs
tail -f /var/log/syslog                 # Real-time system logs

# Permissions
chmod 754 file         # rwx r-x r--
chown user:group file
sudo -l                # View authorized sudo commands

# SSH
ssh user@10.20.0.10
ssh -L 8080:localhost:80 user@10.20.0.10   # Local tunnel
ssh-keygen -t ed25519                       # Generate key pair
ssh-copy-id user@10.20.0.10               # Copy public key

16. PowerShell

PowerShell manipulates .NET objects, not plain text like Bash. The pipeline passes objects with their properties, enabling precise filtering and transformation.

Get-Process | Where-Object CPU -gt 10        # Filter processes
Get-Service | Select-Object Name, Status     # Select properties
Test-NetConnection -ComputerName 10.20.0.100 -Port 445

# DHCP
Get-DhcpServerv4Scope
Get-DhcpServerv4ScopeStatistics -ScopeId 10.20.0.0
Get-DhcpServerv4Lease -ScopeId 10.20.0.0

# DNS
Get-DnsServerResourceRecord -ZoneName "mission.local"
Add-DnsServerResourceRecordA -ZoneName "mission.local" -Name "intranet" `
  -IPv4Address "10.20.0.100" -CreatePtr

# AD
Get-ADUser -Identity jmartin
Unlock-ADAccount -Identity jmartin

17. Troubleshooting Methodology

OSI Bottom-Up: always diagnose from the lowest layer up. Once a layer is validated, move to the next. When a layer fails, that is where the problem lies.

LayerQuestionsTools
L1 PhysicalCable plugged in? Light on? Good cable?Cable tester, replace cable
L2 Data LinkMAC visible in ARP? Correct VLAN? Switch port configured?arp -a, show mac address-table
L3 NetworkCorrect IP? Correct mask? Gateway set? Valid route?ipconfig /all, ping gateway, tracert
L4 TransportPort open? Firewall blocking? Service listening?netstat, Test-NetConnection, telnet
L7 ApplicationService started? Correct config? Error logs?services.msc, eventvwr, journalctl
APIPA indicator: a 169.254.x.x IP always indicates a DHCP failure. Check: the DHCP service, the switch port VLAN, the DHCP Relay Agent if the server is on a different segment.

18. Wireshark and Monitoring

# By IP
ip.addr == 10.20.0.50
ip.src == 10.20.0.50

# By protocol
dns / dhcp / arp / http / tls / icmp

# By port
tcp.port == 443
udp.port == 53

# TCP flags
tcp.flags.syn == 1 && tcp.flags.ack == 0  # SYN only (port scan?)
tcp.flags.reset == 1                        # Refused/reset connections
tcp.analysis.retransmission                # Retransmissions (network issue)
tcp.analysis.zero_window                   # Zero window (performance issue)

19. Virtualisation / Cloud / Backups

ConceptDefinition
SnapshotSaves VM state at a point in time, reversible. NOT a backup! Consumes disk space.
Live Migration (vMotion)Move a running VM to another physical host with zero downtime.
HA (High Availability)Automatic VM restart on another host if the current host fails.
RPOMaximum acceptable data loss. RPO = 4h means backups every 4h.
RTOMaximum acceptable downtime. RTO = 2h means system must be restored within 2h.

3-2-1 Backup rule: 3 copies of data, on 2 different media, with 1 copy offsite (cloud, remote site).

ModelDescriptionExamples
IaaSRaw infrastructure: VMs, network, storageAWS EC2, Azure VM
PaaSManaged runtime environmentAzure App Service, Google App Engine
SaaSApplication directly accessibleMicrosoft 365, Google Workspace

20. Command Reference

Windows — Network

ipconfig /all                          # All network info (IP, MAC, DNS, GW)
ipconfig /release / /renew             # Release / Renew DHCP lease
ipconfig /flushdns / /displaydns       # Flush / Show DNS cache
ping 8.8.8.8 -t                        # Continuous ping (Ctrl+C to stop)
tracert 8.8.8.8                        # Trace network path
nslookup google.com                    # DNS resolution
netstat -an                            # Active connections
netstat -an | findstr :443             # Filter by port
arp -a / arp -d                        # Show / Clear ARP table
route print                            # Routing table
Test-NetConnection -ComputerName 10.0.0.1 -Port 443

Linux — Network & System

ip a / ip r                           # Interfaces and routes
ss -tulnp                             # Listening ports with process
ping / traceroute / nslookup / dig
arp -n                                # ARP table
df -h / du -sh *                      # Disk space
free -h / uptime                      # System state
tail -f /var/log/syslog               # Real-time logs
systemctl status/start/stop/restart <service>

Cisco Switch Diagnostics

show version                   # Model and IOS version
show interfaces status         # All ports status
show vlan brief                # Configured VLANs
show interfaces trunk          # Trunk ports
show mac address-table         # MAC table
show spanning-tree summary     # STP summary
show ip route                  # Routing table
show cdp neighbors             # Cisco neighbors (topology)
show log                       # System logs