voila la situation :
j essaie tout simplement de configurer un firewall avec iptable.
J ai lu pas mal de docs j ai recupéré différents scripts sur le net et j ai essayé de créer mon propre script. Pour savoir s'il marche correctement j ai été dans nmap et la je vois un tas de ports ouverts alors quand théorie je n'autorise que les port http https ftp. J'ai même essayé en n'autorisant aucun port et la toujours pas de changement.
Est ce normal quand ayant une politique par defaut qui rejette tous j ai encore une dizaine de ports ouverts ?
Je ne comprend pas trop.
Pour information je suis sur mdk9.2 j ai deux cartes reseaux (une connectée a internet eth0 et l autre au réseau local eth1, je sais ce n'est pas logique mais bon tant pis
eth0 est branché a un modem ethernet ppp0
Je joins le script que j ai bidouillé au cas ou, pour que vous puissiez me dire ce qui ne va pas.
Merci de vos réponses
#!/bin/sh
#
###############################################################################
# NOM: iptable-basic-1.sh
#
# COMMENTAIRE : Un premier exemple de script iptable
#
# Ce script fait partie du document :
# "Firewall et sécurité d'un réseau personnel sous Linux"
# [
olivieraj.free.fr]
#
# Auteur: Olivier ALLARD-JACQUIN (http://olivieraj.free.fr/)
# Créé le: 2003/07/01 Dernière modification le : 2003/07/09
###############################################################################
firewall_start() {
# Chargement des modules du suivi de connexion
#modprobe ip_conntrack ; # Module principal du suivi de connexion
#modprobe ip_conntrack_ftp ; # Module du suivi de connexion FTP
#modprobe ip_conntrack_irc ; # Module du suivi de connexion IRC
# Suppression de toutes les chaînes pré-définies de la table FILTER
iptables -t filter -F
# Suppression de toutes les chaînes utilisateur de la table FILTER
iptables -t filter -X
# Par defaut, toute les paquets sont détruits
iptables -t filter -P INPUT DROP
iptables -t filter -P OUTPUT DROP
iptables -t filter -P FORWARD DROP
# Autorise l'interface loopback à dialoguer avec elle-même
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Autorise les connexions avec le réseau 192.168.0.0/24 connecté à l'interface eth1
iptables -t filter -A OUTPUT -o eth1 -s 192.168.0.0/24 -d 192.168.0.0/24 -j ACCEPT
iptables -t filter -A INPUT -i eth1 -s 192.168.0.0/24 -d 192.168.0.0/24 -j ACCEPT
iptables -t filter -A OUTPUT -o ppp0 -p all -m state --state ! INVALID -j ACCEPT
iptables -t filter -A INPUT -i ppp0 -p all -m state --state RELATED,ESTABLISHED -j ACCEPT
############################ Fonctionnalités serveurs #####################################
iptables -t filter -A OUTPUT -o ppp0 -p tcp --dport 80 -j ACCEPT
iptables -t filter -A OUTPUT -o ppp0 -p tcp --dport 443 -j ACCEPT
iptables -t filter -A INPUT -i ppp0 -p tcp --sport 80 -j ACCEPT
iptables -t filter -A INPUT -i ppp0 -p tcp --sport 443 -j ACCEPT
################################################################################
# IP masquerading
################################################################################
# Chargement des modules du NAT
modprobe iptable_nat ; # Module principal du NAT
modprobe ip_nat_ftp ; # Module du NAT FTP
modprobe ip_nat_irc ; # Module du NAT IRC
# Suppression de toutes les chaînes pré-définies de la table NAT
iptables -t nat -F
# Suppression de toutes les chaînes utilisateur de la table NAT
iptables -t nat -X
# Par defaut, toute les paquets de la table NAT sont ACCEPTES
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
# Autorise les paquet à aller d'une interface réseau à l'autre
iptables -t filter -A FORWARD -i eth1 -o ppp0 -s 192.168.0.0/24 -m state --state ! INVALID -j ACCEPT
iptables -t filter -A FORWARD -i ppp0 -o eth1 -d 192.168.0.0/24 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Demande à la table NAT de modifier les paquets sortants
iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.0/24 -j MASQUERADE
# Activation du NAT dans le kernel
echo 1 > /proc/sys/net/ipv4/ip_forward
}
firewall_stop() {
iptables -F
iptables -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t nat -F
iptables -t nat -X
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
echo " [firewall descativé! ]"
}
firewall_restart() {
firewall_stop
sleep 2
firewall_start
}
case "$1" in
'start')
firewall_start
;;
'stop')
firewall_stop
;;
'restart')
firewall_restart
;;
'status')
iptables -L
iptables -t nat -L
iptables -t mangle -L
;;
*)
echo "Usage: firewall {start|stop|restart|status}"
esac