Comment savoir si mon parefeu fonctionne bien?

Bonjour,

Comment puis je savoir si mon pare feu ci-dessous fonctionne bien comme il faut, et qu’il rempli bien son rôle?
(système debian 6.0.5 et branché en câble éthernet directement sur une freebox)

“”#!/bin/sh

BEGIN INIT INFO

Provides: mon_parefeu

Required-Start: $local_fs

Should-Start:

Required-Stop: $local_fs

Should-Stop:

X-Start-Before: $network

X-Stop-After: $network

Default-Start: S

Default-Stop: 0 6

Short-description: Configure le parefeu

Description: Met en place les règles iptables.

END INIT INFO

#------------------------Explications----------------------------------#

Défauts :

- Cette configuration s’applique à toutes les interfaces réseau.

Si vous voulez restreindre cela à une interface donnée,

utilisez ‘-i INTERFACE’ dans la variables $IPTABLES.

- Par défaut, le script autorise tout en sortie.

Pour changer ce comportement veuillez indiquer les numéros

de port en question dans les variables

$REMOTE_TCP_SERVICES

et/ou $REMOTE_UDP_SERVICES

- Pour configurer une machine routeur,

changez la valeur de la variable

ISROUTERNAT à true, ainsi que

les interfaces ethx et ethy selon votre configuration

ethx correspond à l’interface du LAN

ethy correspond à l’interface reliée à la truc-box

description: Active/Désactive le pare-feu au démarrage

#----------------------------------------------------------------------#

#------------------------VARIABLES-------------------------------------#
readonly IPTABLES=/sbin/iptables

. /lib/lsb/init-functions

Services que le système offrira au réseau, à séparer avec des espaces

ftp : 21, ssh : 22, serveur web : 80, cups : 631, jabber : 5222

TCP_SERVICES="“
UDP_SERVICES=”"

Services que le système utilisera du réseau

(défaut : autorise tout en sortie)

REMOTE_TCP_SERVICES="“
REMOTE_UDP_SERVICES=”"

Pour une machine faisant office de routeur avec NAT,

changer la valeur de la variable ISROUTERNAT à 1.

ISROUTERNAT=false

ethx correspond à l’interface du LAN

ethy correspond à l’interface reliée à la truc-box

ethx="eth1"
ethy=“eth0”
#----------------------------------------------------------------------#

if ! [ -x $IPTABLES ]; then
exit 0
fi

#----------------------------FONCTIONS---------------------------------#
fw_start () {

Vidage

fw_clear

Parefeu - Suppression des règles

Interdictions

$IPTABLES -t filter -P INPUT DROP
$IPTABLES -t filter -P FORWARD DROP
$IPTABLES -t filter -P OUTPUT DROP

Parefeu - interdictions générales établies

Loopback

$IPTABLES -t filter -A INPUT -i lo -j ACCEPT

Trafic d’entrée :

$IPTABLES -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Refus du ping pour éviter de répondre aux scans des éventuels vilains

$IPTABLES -t filter -A INPUT -p icmp -j LOG
$IPTABLES -t filter -A INPUT -p icmp -j DROP

Sortie autorisée, si aucun port autorisé en sortie n’est défini

if [ -z “$REMOTE_TCP_SERVICES”] && [ -z “$REMOTE_UDP_SERVICES” ]; then
$IPTABLES -t filter -P OUTPUT ACCEPT
fi

Services à autoriser en entrée

for PORT in $TCP_SERVICES; do
$IPTABLES -A INPUT -p tcp --dport ${PORT} -j ACCEPT
done

for PORT in $UDP_SERVICES; do
$IPTABLES -A INPUT -p udp --dport ${PORT} -j ACCEPT
done

Services à autoriser en sortie

for PORT in $REMOTE_TCP_SERVICES; do
$IPTABLES -A OUTPUT -p tcp --dport ${PORT} -j ACCEPT
done
for PORT in $REMOTE_UDP_SERVICES; do
$IPTABLES -A OUTPUT -p udp --dport ${PORT} -j ACCEPT
done

Parefeu - Mise en place des règles

if $ISROUTERNAT ; then
$IPTABLES -A INPUT -i $ethx -j ACCEPT
$IPTABLES -A INPUT -p icmp -j ACCEPT
$IPTABLES -A FORWARD -i $ethy -o $ethx -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A FORWARD -o $ethy -j ACCEPT
$IPTABLES -t nat -A POSTROUTING -o $ethy -j MASQUERADE

Parefeu - Routeur avec NAT

fi

Toutes les autres connexions sont enregistrées dans syslog

#$IPTABLES -t filter -A OUTPUT -j LOG
$IPTABLES -t filter -A INPUT -j LOG --log-level=4

Parefeu - Logging

}

fw_stop () {
#$IPTABLES -F
#$IPTABLES -t nat -F
#$IPTABLES -t mangle -F
#$IPTABLES -P INPUT DROP
#$IPTABLES -P FORWARD DROP
#$IPTABLES -P OUTPUT ACCEPT
iptables-save > /etc/firewall
}

fw_clear () {
$IPTABLES -t filter -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
$IPTABLES -t raw -F
$IPTABLES -t filter -P INPUT ACCEPT
$IPTABLES -t filter -P OUTPUT ACCEPT
$IPTABLES -t filter -P FORWARD ACCEPT
$IPTABLES -t nat -P PREROUTING ACCEPT
$IPTABLES -t nat -P POSTROUTING ACCEPT
$IPTABLES -t nat -P OUTPUT ACCEPT
$IPTABLES -t mangle -P PREROUTING ACCEPT
$IPTABLES -t mangle -P OUTPUT ACCEPT
$IPTABLES -t mangle -P POSTROUTING ACCEPT
$IPTABLES -t mangle -P FORWARD ACCEPT
$IPTABLES -t mangle -P INPUT ACCEPT
$IPTABLES -t raw -P OUTPUT ACCEPT
$IPTABLES -t raw -P PREROUTING ACCEPT
$IPTABLES -F
}

fw_status () {
$IPTABLES -L --line-numbers
}

#----------------------------------------------------------------------#

case “$1” in
start|restart)
log_daemon_msg "Starting firewall…"
fw_start
log_end_msg $?
;;
stop)
log_daemon_msg "Stopping firewall…"
fw_stop
log_end_msg $?
;;
clean)
log_daemon_msg "Clearing firewall rules…"
fw_clear
log_end_msg $?
;;
status)
log_daemon_msg "Firewall status"
fw_status
;;
*)
log_action_msg "Usage $0 {start|stop|restart|clean|status}"
exit 1
;;
esac
exit 0

Tiens c’est celui du wiki :slightly_smiling:
À ma connaissance, des sites permettent d’éprouver un parefeu :
zebulon.fr/outils/scanports/ … curite.php
Sinon, faut demander à un copain hacker d’essayer de prendre le contrôle de ton pc.

Un scan depuis l’extérieur ne sera pas pertinent si le PC cible à une adresse IP privée derrière un routeur NAT. Il faut faire le scan depuis un autre PC sur le réseau local.

Exactement thuban, c’est celui du wiki ^^

En fait je voulais surtout connaître la commande permettant d’être sûr que le parefeu tourne…

iptables-save

file ton IP :slightly_smiling:

sinon as tu un second pc ou portable que tu t’auto test en local dans un premier temps ?!

bah cette commande m’affiche rien dans le terminal…

euh non je ne n’autotest rien… je patauge déjà suffisement avec un ordi pour le tester avec un deuxième pour le moment
:mrgreen:

[quote=“karbon”]euh non je ne n’autotest rien… je patauge déjà suffisement avec un ordi pour le tester avec un deuxième pour le moment
:mrgreen:[/quote]

c’est ce que je disais pus haut justement :005 :wink:

et “iptables-save” dans le terminal c’est censé me donner quoi?

dans processus système je ne vois rien qui semble resembler à l’exécution du parefeu …

L’ensemble de tes règles mais si cette commande ne donne rien en tant que root ???
donne la réponse de :
$ apt-cache policy iptables

iptables:
Installé : 1.4.8-3
Candidat : 1.4.8-3
Table de version :
*** 1.4.8-3 0
500 ftp.fr.debian.org/debian/ squeeze/main i386 Packages
100 /var/lib/dpkg/status

Bizarre que
iptables-save
ne donne rien
:017

bah nan, quand je tape “iptables-save” en root, cela me fait rien, à part un retour à la ligne

voilà mon parefeu, dans un onglet “parefeu” dans etc dans inti.d :

#!/bin/sh

BEGIN INIT INFO

Provides: parefeu

Required-Start: $local_fs

Should-Start:

Required-Stop: $local_fs

Should-Stop:

X-Start-Before: $network

X-Stop-After: $network

Default-Start: S

Default-Stop: 0 6

Short-description: Configure le parefeu

Description: Met en place les règles iptables.

END INIT INFO

#------------------------Explications----------------------------------#

Défauts :

- Cette configuration s’applique à toutes les interfaces réseau.

Si vous voulez restreindre cela à une interface donnée,

utilisez ‘-i INTERFACE’ dans la variables $IPTABLES.

- Par défaut, le script autorise tout en sortie.

Pour changer ce comportement veuillez indiquer les numéros

de port en question dans les variables

$REMOTE_TCP_SERVICES

et/ou $REMOTE_UDP_SERVICES

- Pour configurer une machine routeur,

changez la valeur de la variable

ISROUTERNAT à true, ainsi que

les interfaces ethx et ethy selon votre configuration

ethx correspond à l’interface du LAN

ethy correspond à l’interface reliée à la truc-box

description: Active/Désactive le pare-feu au démarrage

#----------------------------------------------------------------------#

#------------------------VARIABLES-------------------------------------#
readonly IPTABLES=/sbin/iptables

. /lib/lsb/init-functions

Services que le système offrira au réseau, à séparer avec des espaces

ftp : 21, ssh : 22, serveur web : 80, cups : 631, jabber : 5222

TCP_SERVICES="“
UDP_SERVICES=”"

Services que le système utilisera du réseau

(défaut : autorise tout en sortie)

REMOTE_TCP_SERVICES="“
REMOTE_UDP_SERVICES=”"

Pour une machine faisant office de routeur avec NAT,

changer la valeur de la variable ISROUTERNAT à 1.

ISROUTERNAT=false

ethx correspond à l’interface du LAN

ethy correspond à l’interface reliée à la truc-box

ethx="eth1"
ethy=“eth0”
#----------------------------------------------------------------------#

if ! [ -x $IPTABLES ]; then
exit 0
fi

#----------------------------FONCTIONS---------------------------------#
fw_start () {

Vidage

fw_clear
# Parefeu - Suppression des règles

Interdictions

$IPTABLES -t filter -P INPUT DROP
$IPTABLES -t filter -P FORWARD DROP
$IPTABLES -t filter -P OUTPUT DROP

# Parefeu - interdictions générales établies

Loopback

$IPTABLES -t filter -A INPUT -i lo -j ACCEPT

Trafic d’entrée :

$IPTABLES -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Refus du ping pour éviter de répondre aux scans des éventuels vilains

$IPTABLES -t filter -A INPUT -p icmp -j LOG
$IPTABLES -t filter -A INPUT -p icmp -j DROP

Sortie autorisée, si aucun port autorisé en sortie n’est défini

    if [ -z "$REMOTE_TCP_SERVICES"] && [ -z "$REMOTE_UDP_SERVICES" ]; then
        $IPTABLES -t filter -P OUTPUT ACCEPT
    fi

Services à autoriser en entrée

for PORT in $TCP_SERVICES; do
	$IPTABLES -A INPUT -p tcp --dport ${PORT} -j ACCEPT
done

for PORT in $UDP_SERVICES; do
	$IPTABLES -A INPUT -p udp --dport ${PORT} -j ACCEPT
done

Services à autoriser en sortie

for PORT in $REMOTE_TCP_SERVICES; do
	$IPTABLES -A OUTPUT -p tcp --dport ${PORT} -j ACCEPT
done
for PORT in $REMOTE_UDP_SERVICES; do
	$IPTABLES -A OUTPUT -p udp --dport ${PORT} -j ACCEPT
done
# Parefeu - Mise en place des règles

if $ISROUTERNAT ; then
	$IPTABLES -A INPUT -i $ethx -j ACCEPT
	$IPTABLES -A INPUT -p icmp -j ACCEPT
	$IPTABLES -A FORWARD -i $ethy -o $ethx -m state --state RELATED,ESTABLISHED -j ACCEPT
	$IPTABLES -A FORWARD -o $ethy -j ACCEPT
	$IPTABLES -t nat -A POSTROUTING -o $ethy -j MASQUERADE
	# Parefeu - Routeur avec NAT
fi

Toutes les autres connexions sont enregistrées dans syslog

#$IPTABLES -t filter -A OUTPUT -j LOG
$IPTABLES -t filter -A INPUT -j LOG --log-level=4

# Parefeu - Logging

}

fw_stop () {
#$IPTABLES -F
#$IPTABLES -t nat -F
#$IPTABLES -t mangle -F
#$IPTABLES -P INPUT DROP
#$IPTABLES -P FORWARD DROP
#$IPTABLES -P OUTPUT ACCEPT
iptables-save > /etc/firewall
}

fw_clear () {
$IPTABLES -t filter -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
$IPTABLES -t raw -F
$IPTABLES -t filter -P INPUT ACCEPT
$IPTABLES -t filter -P OUTPUT ACCEPT
$IPTABLES -t filter -P FORWARD ACCEPT
$IPTABLES -t nat -P PREROUTING ACCEPT
$IPTABLES -t nat -P POSTROUTING ACCEPT
$IPTABLES -t nat -P OUTPUT ACCEPT
$IPTABLES -t mangle -P PREROUTING ACCEPT
$IPTABLES -t mangle -P OUTPUT ACCEPT
$IPTABLES -t mangle -P POSTROUTING ACCEPT
$IPTABLES -t mangle -P FORWARD ACCEPT
$IPTABLES -t mangle -P INPUT ACCEPT
$IPTABLES -t raw -P OUTPUT ACCEPT
$IPTABLES -t raw -P PREROUTING ACCEPT
$IPTABLES -F
}

fw_status () {
$IPTABLES -L --line-numbers
}

#----------------------------------------------------------------------#

case “$1” in
start|restart)
log_daemon_msg "Starting firewall…"
fw_start
log_end_msg $?
;;
stop)
log_daemon_msg "Stopping firewall…"
fw_stop
log_end_msg $?
;;
clean)
log_daemon_msg "Clearing firewall rules…"
fw_clear
log_end_msg $?
;;
status)
log_daemon_msg "Firewall status"
fw_status
;;
*)
log_action_msg "Usage $0 {start|stop|restart|clean|status}"
exit 1
;;
esac
exit 0

J’en déduis que ton parefeu n’est pas installé.
Reprends le tuto pour voir si tu n’as pas oublié qq chose.

Ca t’aiderait ceci?

iptables --help
iptables v1.4.8

Usage: iptables -[AD] chain rule-specification [options]
iptables -I chain [rulenum] rule-specification [options]
iptables -R chain rulenum rule-specification [options]
iptables -D chain rulenum [options]
iptables -[LS] [chain [rulenum]] [options]
iptables -[FZ] [chain] [options]
iptables -[NX] chain
iptables -E old-chain-name new-chain-name
iptables -P chain target [options]
iptables -h (print this help information)

Commands:
Either long or short options are allowed.
–append -A chain Append to chain
–delete -D chain Delete matching rule from chain
–delete -D chain rulenum
Delete rule rulenum (1 = first) from chain
–insert -I chain [rulenum]
Insert in chain as rulenum (default 1=first)
–replace -R chain rulenum
Replace rule rulenum (1 = first) in chain
–list -L [chain [rulenum]]
List the rules in a chain or all chains
–list-rules -S [chain [rulenum]]
Print the rules in a chain or all chains
–flush -F [chain] Delete all rules in chain or all chains
–zero -Z [chain [rulenum]]
Zero counters in chain or all chains
–new -N chain Create a new user-defined chain
–delete-chain
-X [chain] Delete a user-defined chain
–policy -P chain target
Change policy on chain to target
–rename-chain
-E old-chain new-chain
Change chain name, (moving any references)
Options:
[!] --proto -p proto protocol: by number or name, eg. tcp' [!] --source -s address[/mask][...] source specification [!] --destination -d address[/mask][...] destination specification [!] --in-interface -i input name[+] network interface name ([+] for wildcard) --jump -j target target for rule (may load target extension) --goto -g chain jump to chain with no return --match -m match extended match (may load extension) --numeric -n numeric output of addresses and ports [!] --out-interface -o output name[+] network interface name ([+] for wildcard) --table -t table table to manipulate (default:filter’)
–verbose -v verbose mode
–line-numbers print line numbers when listing
–exact -x expand numbers (display exact values)
[!] --fragment -f match second or further fragments only
–modprobe= try to insert modules using this command
–set-counters PKTS BYTES set the counter during insert/append
[!] --version -V print package version.

Non, le help ne dira pas si ton truc est installé.
reprends l’install selon le tuto, tu as dû manquer qq chose.

comment supprimer le parefeu via le terminal?