Vous n'êtes pas identifié(e).
Salut à tous
J'ai simulé une architecture d'entreprise sous GNS3. Voici une image de l'architecture :
Comme vous voyez, nous avons 4 zones : une zone d'administration, une zone interne, une zone DMZ et Internet. Le parefeu au milieu est un système Debian 7.
J'ai codé un script bash pour configurer le pare-feu Netfilter. Voici un bref apperçu de mes règles iptables :
- toutes les zones peuvent accéder à la zone DMZ
- La zone admin peut accéder partout
- La zone interne peut accéder à Internet
- La zone DMZ peuvent accéder à Internet uniquement pour consulter un autre résolveur DNS
- La zone Internet peut accéder uniquement à la DMZ
- Un processus de Nat est configuré pour l'interface d'accès à Internet
- Quelques règles de sécurité sont aussi configurées
Voilà ma question est que je souhaiterais protéger mes serveurs de la DMZ via mon pare-feu contre les scans de port de tel sorte qu'un scanner nmap puisse afficher l'état FILTERED pour les
services que j'ai configuré au niveau de ma DMZ. Donc par exemple lorsqu'un pirate cherche depuis Internet à scanner les ports de mon serveur de la DMZ.
Code source de mon script pare-feu. (Quelques tutos m'ont aidé à écrire ce script)
#!/bin/bash
# Script Parefeu
##############################
# Déclaration des variables
# Description : Pour chaque interface relative à un sous-réseau, on a :
# - le nom de l'interface
# - sa plage d'adresse réseau
# - son adresse ip
ADMIF="eth1"
ADMRES="192.168.7.0/24"
ADMIP="192.168.7.254"
INTIF="eth2"
INTRES="10.10.7.0/24"
INTIP="10.10.7.254"
DMZIF="eth3"
DMZRES="172.16.7.0/24"
DMZIP="172.16.7.254"
NUAGEIF="eth4"
NUAGERES="195.24.7.0/24"
NUAGEIP="195.24.7.254"
CMD="/sbin/iptables"
clear
echo -e "\tLancement du parefeu ...\n"
# Activation de la combinaison des tcp_wrappers, vérification de route et
# filtrage des paquets, sur toutes les interfaces
for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo 1 > $f
done
# Interdire les réponses au ping Broadcast
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Ignorer les mauvais messages d'erreur
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
# Interdire les redirections ICMP
for f in /proc/sys/net/ipv4/conf/*/accept_redirects; do
echo 0 > $f
done
for f in /proc/sys/net/ipv4/conf/*/send_redirects; do
echo 0 > $f
done
# Interdire les paquets dont la source a été routée
for f in /proc/sys/net/ipv4/conf/*/accept_source_route; do
echo 0 > $f
done
# Activer la protection contre les dénis de service
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
# Activation du routage
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
echo -e "\t\tVidage de toutes les règles."
$CMD -F
$CMD -X
$CMD -t nat -F
$CMD -t nat -X
$CMD -t mangle -F
$CMD -t mangle -X
echo -e "\t\tInterdiction de toutes les connexions sur toutes les interfaces."
$CMD -P INPUT DROP
$CMD -P OUTPUT DROP
$CMD -P FORWARD DROP
$CMD -Z # Remise à zéro des compteurs de paquets
echo -e "\t\tActivation de toutes les connexions sur l'interface loopback."
$CMD -A INPUT -i lo -j ACCEPT
$CMD -A OUTPUT -o lo -j ACCEPT
$CMD -A FORWARD -i lo -j ACCEPT
$CMD -A FORWARD -o lo -j ACCEPT
echo -e "\t\tRègles de protection des connexions."
# Interdiction de tous les paquets hors session
$CMD -A INPUT -m state --state INVALID -j DROP
$CMD -A INPUT -m state --state INVALID -j DROP
# Règles Anti-spoofing
$CMD -A FORWARD -i $NUAGEIF -s $ADMRES -m state --state NEW -j DROP
$CMD -A FORWARD -i $NUAGEIF -s $INTRES -m state --state NEW -j DROP
$CMD -A FORWARD -i $NUAGEIF -s $DMZRES -m state --state NEW -j DROP
# Protection contre les scans de ports
$CMD -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
# Protection contre le ping de la mort
##$CMD -A FORWARD -p icmp --icmp-type 8 -m limit --limit 1/s -j ACCEPT
# Optimisation de la taille des paquets
$CMD -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS -o $NUAGEIF --clamp-mss-to-pmtu
echo -e "\t\tAutorisation des connexions déjà etablies."
$CMD -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
echo -e "\t\tFlux d'administration."
$CMD -A INPUT -i $ADMIF -p icmp --icmp-type 8 -s $ADMRES -m limit --limit 1/s -j ACCEPT
$CMD -A OUTPUT -o $ADMIF -p icmp --icmp-type echo-reply -d $ADMRES -j ACCEPT
# Acceptation des connexions déjà établies sur l'interface admin
$CMD -A INPUT -i $ADMIF -m state --state ESTABLISHED,RELATED -j ACCEPT
$CMD -A OUTPUT -o $ADMIF -m state --state ESTABLISHED,RELATED -j ACCEPT
# Connexion ssh
$CMD -A INPUT -i $ADMIF -p tcp --dport 22 -s $ADMRES -m state --state NEW -j ACCEPT
# Les hôtes de la zone d'administration peuvent envoier les requêtes icmp vers
# toutes les autres zones
$CMD -A FORWARD -p icmp --icmp-type 8 -s $ADMRES -d $INTRES -m limit --limit 1/s -j ACCEPT
#echo -e Flux Du réseau Interne
echo -e "\t\tFlux de la DMZ."
# Autorisation des requêtes icmp vers la DMZ
$CMD -A FORWARD -p icmp --icmp-type 8 -d $DMZRES -m limit --limit 1/s -j ACCEPT
# Autorisation du flux DNS vers le serveur DNS
$CMD -A FORWARD -p udp -d 172.16.7.1 --dport 53 -m state --state NEW -j ACCEPT
# Autorisation du flux HTTP/HTTPS vers le serveur WEB
$CMD -A FORWARD -p tcp -d 172.16.7.1 --dport 80 -m state --state NEW -j ACCEPT
$CMD -A FORWARD -p tcp -d 172.16.7.1 --dport 443 -m state --state NEW -j ACCEPT
# Translation d'adresses
$CMD -t nat -A PREROUTING -i $NUAGEIF -p tcp -d $NUAGEIP --dport 80 -j DNAT --to-destination 172.16.7.1:80
$CMD -t nat -A PREROUTING -i $NUAGEIF -p tcp -d $NUAGEIP --dport 443 -j DNAT --to-destination 172.16.7.1:443
echo -e "\t\tFlux du nuage."
# Les hôtes d'internet ne peuvent envoier de requêtes icmp uniquement
# vers les serveurs de la DMZ
$CMD -A FORWARD -p icmp --icmp-type 8 -d $NUAGERES -m limit --limit 1/s -j ACCEPT
$CMD -t nat -A PREROUTING -i $NUAGEIF -p icmp --icmp-type 8 -d $NUAGEIP -j DNAT --to-destination 172.16.7.1
$CMD -t nat -A POSTROUTING -o $NUAGEIF -j MASQUERADE
echo -e "\n\t Le parefeu est prêt...\n"
SVP, je souhaiterais résoudre ce problème de scan de port provenant de la zone Internet ou même de la zone Interne (car même en interne il y'a des attaques).
MERCI A VOUS.
Passionné par la Sécurité Informatique.
Le véritable ennemi de la connaissance n'est pas l'ignorance mais l'illusion de la connaissance.
La quête de la connaissance passe d'abord par l'humilité et ensuite la détermination.
Hors ligne
Salut
Grand merci pour ta proposition, je vais faire les tests avec cet outil.
J'aurai voulu quand même avoir quelques règles iptables pour bloquer ces scanners de port, bref bloquer les outils de reconnaissances (reconnaissance de services).
Si vous avez des propositions iptables ultérieurement, je serai très ravi.
Moi je souhaiterais comprendre en profondeur afin de mieux me familiariser sur la sécurité des scanners de ports, de services.
MERCI
Passionné par la Sécurité Informatique.
Le véritable ennemi de la connaissance n'est pas l'ignorance mais l'illusion de la connaissance.
La quête de la connaissance passe d'abord par l'humilité et ensuite la détermination.
Hors ligne
ba déja revoit ton infra pour avoir un double pare feu ! un frontal et un ventral ( et la DMZ au milieu ). sachant qu'il est préférable que les deux pare feu soient de technologies différentes.
Ainsi au "vu" d'internet seul les service publié vers internet ( site web par exemple ) seront visible et les autres services transiterons par le deuxième parfeu.
vi est mon ami pour la vie
Ph'nglui nglw-nafh Cthulhu R'lyeh wgah-nagl fhtagn
Hors ligne
C'est un super ouvrage, mais dans la partie IDS, je préfère suricata à Snort.
Security is always excessive until it’s not enough. — Robbie Sinclair
Hors ligne
SALUT
Grand merci à vous pour vos réponses.
@Viperr n'est-il pas mieux de mettre le 2ème parefeu en interne pour sécuriser les serveurs du réseau Intranet ? Car avec ta technique (sauf si je me trompe), cela obligera le serveur de la DMZ à se comporter aussi comme un routeur : ce qui n'est pas cool à mon avis.
Grand merci à toi MlleParker, je vais bosser sur ce livre et essayer de comprendre de mon mieux.
Voici un lien du livre dans GitHub : Linux Firewalls
MERCI
Dernière modification par rodrigue daniel (08-11-2016 19:46:22)
Passionné par la Sécurité Informatique.
Le véritable ennemi de la connaissance n'est pas l'ignorance mais l'illusion de la connaissance.
La quête de la connaissance passe d'abord par l'humilité et ensuite la détermination.
Hors ligne
nop un truc comme çà :
______________
| Zone Admin |
|____________|
|
_______________ | ____________ _
| | | | | | | |
|Zone interne |--------| |-----| Zone DMZ |------| |----internet
| | |_| |__________| |_|
--------------- Firewall Firewall
~
~
et tes server DMZ ne sont pas router
vi est mon ami pour la vie
Ph'nglui nglw-nafh Cthulhu R'lyeh wgah-nagl fhtagn
Hors ligne
SALUT
Merci beaucoup Viperr, je vois plus clairement. Donc on peut mettre un commutateur au milieu entre les deux pare-feu. Bref voilà une architecture dérivée de la tienne :
Voilà un peu comment j'ai compris ton architecture (c'est plus logique dans ma tête). Peut être je me trompe encore.
Grand Merci
MERCI
Dernière modification par rodrigue daniel (09-11-2016 12:02:31)
Passionné par la Sécurité Informatique.
Le véritable ennemi de la connaissance n'est pas l'ignorance mais l'illusion de la connaissance.
La quête de la connaissance passe d'abord par l'humilité et ensuite la détermination.
Hors ligne
viola c'est ca ! c'est un bon début dans une architecture sécurisé.
vi est mon ami pour la vie
Ph'nglui nglw-nafh Cthulhu R'lyeh wgah-nagl fhtagn
Hors ligne
Il ne manque plus que les sondes IDS et quelques HP
Léchouilles :*
On est quelques uns sur le chan pour t'aider là dessus.
++
Security is always excessive until it’s not enough. — Robbie Sinclair
Hors ligne
Salu à tous !
super topic, alors moi j'ai une question, je me suis lancé sur ce logiciel question d’approfondir mes connaissances mais je rencontre un souci de configuration lié au nuage(internet).
Quel est l'impact de ce nuage sur mon vrai réseau Physique? Et j'ai beau regarder partout mais je sais pas configurer ce fameux nuage .
Merci de votre aide
"Les paroles peuvent être plus tranchantes qu'un sabre affûté" écrit par Omar Khayam poète perse.
Hors ligne