« Cour Linux » : différence entre les versions

De Travail-Ivan 2
Page créée avec « = Routage et Firewall = == Sysctl == '''sysctl''' permet de gérer certains paramètres conjointement à Netfilter. Ces paramètres permettent d'agir sur la configuration du kernel. Les modifications peuvent se faire : * En "live" dans les fichiers ''/proc/sys/*'' * En "dur" dans le fichier ''/etc/sysctl.conf'' Pour valider la configuration de sysctl : # sysctl -p === Configuration courante === * Activer le routage : ** En live : echo '1' > /proc/sys/net/ip... »
 
Aucun résumé des modifications
 
(9 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
= Routage et Firewall =
* '''<big>[[Routage et Firewall]]</big>'''
 
* '''<big>[[Partage de Fichiers]]</big>'''
== Sysctl ==
* '''<big>[[Load Balancer]]</big>'''
'''sysctl''' permet de gérer certains paramètres conjointement à Netfilter. Ces paramètres permettent d'agir sur la configuration du kernel.
* '''<big>[[Commandes de gestion d'un cluster Pacemaker/Corosync]]</big>'''
 
* '''<big>[[Installation et configuration de DRBD]]</big>'''
Les modifications peuvent se faire :
* '''<big>[[Haute disponibilité du stockage]]</big>'''
* En "live" dans les fichiers ''/proc/sys/*''
* '''<big>[[Installation de programmes sous Debian]]</big>'''
* En "dur" dans le fichier ''/etc/sysctl.conf''
* '''<big>[[Gestion du réseau sous Linux]]</big>'''
 
* '''<big>[[Commandes IP sous Red Hat Enterprise Linux]]</big>'''
Pour valider la configuration de sysctl :
# sysctl -p
 
=== Configuration courante ===
* Activer le routage :
** En live :
echo '1' > /proc/sys/net/ipv4/ip_forward
** Dans le fichier :
net.ipv4.ip_forward=1
 
* Protection contre le spoofing :
net.ipv4.conf.all.rp_filter = 1
 
* Protection contre le syn-flood :
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 1024
 
== Routage statique ==
 
=== Concepts ===
Lorsqu'un hôte (A) cherche à communiquer avec un autre hôte (C) :
# L'hôte (A) détermine si l'hôte distant (C) est sur le même réseau logique
# Si non, il recherche dans sa table de routage une route vers le réseau de destination
# Il extrait l'adresse de passerelle (B)
# Il transmet le paquet à la passerelle (B)
 
=== Types de routes ===
* '''Route d'hôte''' : route vers un seul hôte ciblé
* '''Route de réseau''' : route vers les hôtes d'un réseau distant
* '''Route par défaut''' : route utilisée en l'absence des autres types
 
=== Commande ip ===
* Ajout de route d'hôte :
# ip route add 10.11.12.3 via 172.16.6.123
 
* Ajout de route réseau :
# ip route add 10.56.0.0/16 via 172.16.6.253
 
* Route par défaut :
# ip route add default via 172.16.6.1
 
== Firewall ==
 
=== Netfilter ===
Netfilter est un module qui permet de filtrer et manipuler les paquets réseau. Il fournit :
* Des fonctions de pare-feu
* De la traduction d'adresse (NAT)
* De l'historisation du trafic réseau
 
==== Tables ====
Il existe 3 tables principales :
* '''Filter''' : filtrage des paquets
* '''Nat''' : translation d'adresses ou de ports
* '''Mangle''' : modification des en-têtes des paquets
 
==== Chaînes ====
Les chaînes principales sont :
* '''INPUT''' : paquets à destination du système
* '''OUTPUT''' : paquets émis par les processus
* '''FORWARD''' : paquets à transmettre
 
=== Commandes iptables ===
 
==== Syntaxe générale ====
iptables [-t <table>] <commande> <options>
 
==== Commandes principales ====
* Lister les règles :
# iptables -L
 
* Ajouter une règle :
** En fin de chaîne : ''-A''
** En début de chaîne : ''-I''
 
* Supprimer :
** Une règle : ''-D''
** Toutes les règles : ''-F''
 
==== Critères principaux ====
{| class="wikitable"
! Critère !! Description
|-
| -p <protocole> || tcp, udp, icmp ou all
|-
| -s <adresse>[/masque] || Adresse source
|-
| -d <adresse>[/masque] || Adresse destination
|-
| -dport <port> || Port destination
|-
| -sport <port> || Port source
|-
| -i <interface> || Interface d'entrée
|-
| -o <interface> || Interface de sortie
|}
 
==== Cibles ====
* '''-j ACCEPT''' : autorise le paquet
* '''-j DROP''' : rejette sans notification
* '''-j REJECT''' : rejette avec notification
* '''-j LOG''' : enregistre dans les logs
 
=== Solutions de firewall ===
 
==== Shorewall ====
Shorewall est un outil de configuration haut niveau pour Netfilter, permettant de définir les règles via des fichiers de configuration.
 
'''Configuration principale''' :
* /etc/shorewall/zones : définition des zones
* /etc/shorewall/interfaces : association zones/interfaces
* /etc/shorewall/policy : politiques par défaut
* /etc/shorewall/rules : règles spécifiques
* /etc/shorewall/snat : configuration du masquerading
 
==== PfSense ====
PfSense est une solution complète de routeur/firewall basée sur FreeBSD :
* Interface web de gestion
* Multiple fonctionnalités de sécurité
* Configuration simple et intuitive
 
== Outils de diagnostic ==
 
=== netstat/ss ===
Affiche les connexions réseau :
# netstat -paunt
* ''-p''' : nom du programme et PID
* '''-a''' : tous les ports
* '''-u''' : ports UDP
* '''-t''' : ports TCP
* '''-n''' : affiche les IP
 
=== nmap ===
Scanner réseau :
* Détection des machines :
# nmap -sP 192.168.20.0/24
* Détection OS :
# nmap -O 192.168.20.20
* Scan complet :
# nmap -p- 192.168.20.20
 
=== tcpdump ===
Analyseur de paquets en ligne de commande :
* Capture basique :
# tcpdump -nv
* Capture sur port spécifique :
# tcpdump port http
* Capture avancée :
# tcpdump src 192.168.1.100 and dst 192.168.1.2 and port ftp -w capture.log
 
=== Solutions de sécurité additionnelles ===
* '''Fail2ban''' : bannissement automatique d'IP malveillantes
* '''PSAD''' : détection d'intrusion et analyse de ports
 
[[Category:Sécurité]]
[[Category:Réseau]]
[[Category:Administration système]]

Dernière version du 7 novembre 2024 à 23:41