A voir également:
- Firewall
- Comodo firewall - Télécharger - Pare-feu
- Avs firewall. - Télécharger - Contrôle parental
- Zonealarm free antivirus + firewall - Télécharger - Pare-feu
- Firewall builder - Télécharger - Web & Internet
- Pc tools firewall plus - Télécharger - Pare-feu
7 réponses
Salut,
Pour la distribution je ne sais pas :-))
Quel parefeux?
En revanche pour le parfeux, d'après mes connaissances il n'y a qu'un seul et il s'appelle Netfilter
En attendant une solution pour le frontend voilà en ligne de commande
Pour la distribution je ne sais pas :-))
Quel parefeux?
En revanche pour le parfeux, d'après mes connaissances il n'y a qu'un seul et il s'appelle Netfilter
En attendant une solution pour le frontend voilà en ligne de commande
iptables -t filter -F iptables -t filter -X iptables -t filter -P INPUT ACCEPT iptables -t filter -P FORWARD ACCEPT iptables -t filter -P OUTPUT ACCEPTlami20j
Bonjour,
Si c'est une Mandriva, autant se simplifier la vie en passant par le Centre de Configuration Mandriva ;-)
Si c'est une Mandriva, autant se simplifier la vie en passant par le Centre de Configuration Mandriva ;-)
salut à Tous
Peut-etre un petit =>
# urpme shorewall
dans se cas l outil texte ( qui cree les regles iptables ) est desinstaller et iptables n est pas configurer ( par defaut ) donc tu n as pas de protection en attendant que tu puisses le manipuler à la main ( iptables ) ou via une interface graphique .
Enfin à confirmer c est une éventualité ...............
Peut-etre un petit =>
# urpme shorewall
dans se cas l outil texte ( qui cree les regles iptables ) est desinstaller et iptables n est pas configurer ( par defaut ) donc tu n as pas de protection en attendant que tu puisses le manipuler à la main ( iptables ) ou via une interface graphique .
Enfin à confirmer c est une éventualité ...............
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
salut j'ai un pb je veus mettre sur pied un proxy/firewall
un amis m'as donné un script deja fait sur cd et quand je le modifie
pour mon lan, avec VI il m'envoie le message :
E:45 'redonly' option is set (add ! to override) et quand je le fais et le rend executable par chmod 775 firewall et l'execute avec ./firewall il me dis que le fichier n'est pas reconnu ou alors que la commande n'est pas une commande bash svp je voudrai bien comprendre
un amis m'as donné un script deja fait sur cd et quand je le modifie
pour mon lan, avec VI il m'envoie le message :
E:45 'redonly' option is set (add ! to override) et quand je le fais et le rend executable par chmod 775 firewall et l'execute avec ./firewall il me dis que le fichier n'est pas reconnu ou alors que la commande n'est pas une commande bash svp je voudrai bien comprendre
Voici le script en question et je dois dire que je suis debutant sous linux, j'ai mis le script en question dans /home
#!/bin/sh
##################################
### declaration des variables ###
##################################
## carte public du serveur
public_if="eth1"
## carte local du serveur
local_if="eth0"
## Services a activer sur le firewall. Ce sont seul ces ports qui sont autoriser a traverser la passerelle.
## Si vous voulez ajouter des services, referencez les par leur type (tcp ou udp) et par leur ports puis ajoutez les entre les cotes en laissant lespacement entre deux numeros entier. Ici les service actifs sont le web (http, https), le mail (smtp, pop) le telechargement de fichiers (ftp) et la traduction de nom (dns).
activated_tcpports='20 21 25 80 110 143 443'
activated_udpports='53'
### Parametres de redirection de ports sur un serveur local
## determin si oui ou non on doit faire la redirection de ports. Mettre 'yes' si il ya la redirection de port.
local_redirect='no'
## adresse IP du serveur local sur le quel on doit faire la redirection de ports
local_serv=192.168.15.2
## ports tcp a rediriger sur le serveur local. ajouter les ports a rediriger sur le meme serveur en espassant ds les cotes
redirected_tcpports='80'
## ports udp a rediriger sur le serveur local. ajouter les ports a rediriger sur le meme serveur en espassant ds les cotes
redirected_udpports='20'
### Paramettre de regle de VPN. Mettre yes si le VPN est configure sur cette passerelle.
vpn='yes' ## mettre no si le VPN nest pas actif pour ce serveur
### recuperation des informations reseau. adresses IP des interfaces reseau
public_ip="`ifconfig $public_if | grep 'inet ad' | awk '{print $2}' | sed -e 's/.*://'`"
net="/etc/sysconfig/network-scripts/ifcfg-"$public_if
neto="`more $net | grep 'NETWORK' | awk '{print $1}' | sed -e 's/.*=//'`"
mask="`more $net | grep 'NETMASK' | awk '{print $1}' | sed -e 's/.*=//'`"
public_net=$neto/$mask
gateway="`more /etc/sysconfig/network | grep 'GATEWAY' | awk '{print $1}' | sed -e 's/.*=//'`"
local_ip="`ifconfig $local_if | grep 'inet ad' | awk '{print $2}' | sed -e 's/.*://'`"
net1="/etc/sysconfig/network-scripts/ifcfg-"$local_if
neto1="`more $net1 | grep 'NETWORK' | awk '{print $1}' | sed -e 's/.*=//'`"
mask1="`more $net1 | grep 'NETMASK' | awk '{print $1}' | sed -e 's/.*=//'`"
local_net=$neto1/$mask1
### Application des regles de filtrage ###
##vidage des regles de filtrage par defaut et de regles predefinies
iptables -t filter -F
iptables -t filter -X
## vidage des regles de nat par defaut et predefinis
iptables -t nat -F
iptables -t nat -X
## au depart on refuse tout les paquets entrant sortant ou traversant le serveur
iptables -t filter -P INPUT DROP
iptables -t filter -P OUTPUT DROP
iptables -t filter -P FORWARD DROP
# on accepte toute sorte de translation possible
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
## on accepte les trafic de toute sorte entre les processus locaux
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT
## on accepte les trafic du reseau local avec le serveur
iptables -t filter -A INPUT -s $local_net -i $local_if -m state --state ! INVALID -j ACCEPT
iptables -t filter -A OUTPUT -d $local_net -o $local_if -m state --state ! INVALID -j ACCEPT
## on accepte seulement les ping a traverser le serveur du reseau local vers lexterieur
iptables -t filter -A FORWARD -s $local_net -i $local_if -o $public_if -p icmp --icmp-type 8 -m state --state ! INVALID -j ACCEPT
## on autorise les connexion deja etablies de lexterieur vers le reseau local a traverser le serveur
iptables -t filter -A FORWARD -d $local_net -i $public_if -o $local_if -m state --state ! NEW,INVALID -j ACCEPT
## on autorise les connexion deja etablies du reseau local a traverser le serveur pour l'exterieur.
iptables -t filter -A FORWARD -s $local_net -o $public_if -i $local_if -m state --state ! NEW,INVALID -j ACCEPT
## on accepte certain services udp specifies par leur port a traverser le serveur du reseau local vers lexterieur. le port 53 est accepter pour la resolution de nom (DNS). Si il ya dautre service udp a autoriser, il faut ajouter leur port a la suite de 53 en espacant.
for udp_port_allow in $activated_udpports
do
iptables -t filter -A FORWARD -i $local_if -s $local_net -o $public_if -p udp --dport $udp_port_allow -m state --state ! INVALID -j ACCEPT
done
## on accepte certain services tcp specifies par leur port a traverser le serveur du reseau local vers lexterieur. les port 80 et 443 sont acceptes pour les service http et https. Si il ya dautre service tcp a autoriser, il faut ajouter leur port a la suite de 443 en espacant.
for tcp_port_allow in $activated_tcpports
do
iptables -t filter -A FORWARD -i $local_if -s $local_net -o $public_if -p tcp --dport $tcp_port_allow -m state --state ! INVALID -j ACCEPT
done
## on accepte les connexion etablies et relatives entrantes et sortante du serveur par linterface public. ceci est important pour permettre certains tests.
iptables -t filter -A INPUT -i $public_if -d $public_ip -m state --state ! NEW,INVALID -j ACCEPT
iptables -t filter -A OUTPUT -o $public_if -s $public_ip -m state --state ! NEW,INVALID -j ACCEPT
## on accepte les ping de lexterieur sur le serveur seulement pour certain reseau
for icmp_ip_accept in 0/0
do
iptables -t filter -A INPUT -s $icmp_ip_accept -i $public_if -p icmp -d $public_ip -m state --state ! INVALID -j ACCEPT
done
## on accepte la connexion par ssh de lexterieur sur le serveur seulement pour certain reseau
for ssh_ip_allow in $gateway 64.110.100.176/28 216.252.234.0/24 216.252.236.0/24 216.252.176.0/24
do
iptables -t filter -A INPUT -s $ssh_ip_allow -i $public_if -p tcp -d $public_ip --dport 22 -m state --state ! INVALID -j ACCEPT
done
## regles pour permettre certains tests (icmp, http, a partir du serveur)
iptables -t filter -A OUTPUT -s $public_ip -o $public_if -p icmp -m state --state ! INVALID -j ACCEPT
for udp_port_out in 53
do
iptables -t filter -A OUTPUT -s $public_ip -o $public_if -p udp --dport $udp_port_out -m state --state ! INVALID -j ACCEPT
done
for tcp_port_out in 20 21 53 80
do
iptables -t filter -A OUTPUT -s $public_ip -o $public_if -p tcp --dport $tcp_port_out -m state --state ! INVALID -j ACCEPT
done
### regles pour la redirection de port vers une machine du reseau local
if (test "$local_redirect" == "yes")
then
for ports in $redirected_tcpports
do
iptables -t filter -A FORWARD -d $local_serv -i $public_if -o $local_if -p tcp --dport $ports -m state --state NEW -j ACCEPT
iptables -t nat -A PREROUTING -d $public_ip -i $public_if -p tcp --dport $ports -j DNAT --to-destination $local_serv:$ports
done
for ports in $redirected_udpports
do
iptables -t filter -A FORWARD -d $local_serv -i $public_if -o $local_if -p udp --dport $ports -m state --state NEW -j ACCEPT
iptables -t nat -A PREROUTING -d $public_ip -i $public_if -p udp --dport $ports -j DNAT --to-destination $local_serv:$ports
done
fi
## application des regles relatif au vpn ##
if (test "$vpn" == "yes")
then
# IKE negotiations
iptables -A INPUT -p udp --sport 500 --dport 500 -j ACCEPT
iptables -A OUTPUT -p udp --sport 500 --dport 500 -j ACCEPT
# ESP encrypton and authentication
iptables -A INPUT -p 50 -j ACCEPT
iptables -A OUTPUT -p 50 -j ACCEPT
# For AH authentication header
iptables -A INPUT -p 51 -j ACCEPT
iptables -A OUTPUT -p 51 -j ACCEPT
# Accept forward ipsec packet#
iptables -t filter -A FORWARD -i $local_if -s $local_net -o ipsec0 -m state --state ! INVALID -j ACCEPT
iptables -t filter -A FORWARD -o $local_if -d $local_net -i ipsec0 -m state --state ! INVALID -j ACCEPT
fi
### Application des regles de translation dadresse. ###
# on translate toutes les adresses du reseau local en ladresse de linterface public du serveur
iptables -t nat -A POSTROUTING -s $local_net -o $public_if -j MASQUERADE
##### Activation du routage ##
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "echo 1 > /proc/sys/net/ipv4/ip_forward" >> /etc/rc.local
##### chargement des modules du suivie de la connexion et du ftp ##
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe iptable_nat
echo "modprobe ip_conntrack" >> /etc/rc.local
echo "modprobe ip_conntrack_ftp" >> /etc/rc.local
echo "modprobe ip_nat_ftp" >> /etc/rc.local
echo "modprobe iptable_nat" >> /etc/rc.local
## sauvegarde de la configuration et redemarrage
service iptables save
service iptables restart
#!/bin/sh
##################################
### declaration des variables ###
##################################
## carte public du serveur
public_if="eth1"
## carte local du serveur
local_if="eth0"
## Services a activer sur le firewall. Ce sont seul ces ports qui sont autoriser a traverser la passerelle.
## Si vous voulez ajouter des services, referencez les par leur type (tcp ou udp) et par leur ports puis ajoutez les entre les cotes en laissant lespacement entre deux numeros entier. Ici les service actifs sont le web (http, https), le mail (smtp, pop) le telechargement de fichiers (ftp) et la traduction de nom (dns).
activated_tcpports='20 21 25 80 110 143 443'
activated_udpports='53'
### Parametres de redirection de ports sur un serveur local
## determin si oui ou non on doit faire la redirection de ports. Mettre 'yes' si il ya la redirection de port.
local_redirect='no'
## adresse IP du serveur local sur le quel on doit faire la redirection de ports
local_serv=192.168.15.2
## ports tcp a rediriger sur le serveur local. ajouter les ports a rediriger sur le meme serveur en espassant ds les cotes
redirected_tcpports='80'
## ports udp a rediriger sur le serveur local. ajouter les ports a rediriger sur le meme serveur en espassant ds les cotes
redirected_udpports='20'
### Paramettre de regle de VPN. Mettre yes si le VPN est configure sur cette passerelle.
vpn='yes' ## mettre no si le VPN nest pas actif pour ce serveur
### recuperation des informations reseau. adresses IP des interfaces reseau
public_ip="`ifconfig $public_if | grep 'inet ad' | awk '{print $2}' | sed -e 's/.*://'`"
net="/etc/sysconfig/network-scripts/ifcfg-"$public_if
neto="`more $net | grep 'NETWORK' | awk '{print $1}' | sed -e 's/.*=//'`"
mask="`more $net | grep 'NETMASK' | awk '{print $1}' | sed -e 's/.*=//'`"
public_net=$neto/$mask
gateway="`more /etc/sysconfig/network | grep 'GATEWAY' | awk '{print $1}' | sed -e 's/.*=//'`"
local_ip="`ifconfig $local_if | grep 'inet ad' | awk '{print $2}' | sed -e 's/.*://'`"
net1="/etc/sysconfig/network-scripts/ifcfg-"$local_if
neto1="`more $net1 | grep 'NETWORK' | awk '{print $1}' | sed -e 's/.*=//'`"
mask1="`more $net1 | grep 'NETMASK' | awk '{print $1}' | sed -e 's/.*=//'`"
local_net=$neto1/$mask1
### Application des regles de filtrage ###
##vidage des regles de filtrage par defaut et de regles predefinies
iptables -t filter -F
iptables -t filter -X
## vidage des regles de nat par defaut et predefinis
iptables -t nat -F
iptables -t nat -X
## au depart on refuse tout les paquets entrant sortant ou traversant le serveur
iptables -t filter -P INPUT DROP
iptables -t filter -P OUTPUT DROP
iptables -t filter -P FORWARD DROP
# on accepte toute sorte de translation possible
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
## on accepte les trafic de toute sorte entre les processus locaux
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT
## on accepte les trafic du reseau local avec le serveur
iptables -t filter -A INPUT -s $local_net -i $local_if -m state --state ! INVALID -j ACCEPT
iptables -t filter -A OUTPUT -d $local_net -o $local_if -m state --state ! INVALID -j ACCEPT
## on accepte seulement les ping a traverser le serveur du reseau local vers lexterieur
iptables -t filter -A FORWARD -s $local_net -i $local_if -o $public_if -p icmp --icmp-type 8 -m state --state ! INVALID -j ACCEPT
## on autorise les connexion deja etablies de lexterieur vers le reseau local a traverser le serveur
iptables -t filter -A FORWARD -d $local_net -i $public_if -o $local_if -m state --state ! NEW,INVALID -j ACCEPT
## on autorise les connexion deja etablies du reseau local a traverser le serveur pour l'exterieur.
iptables -t filter -A FORWARD -s $local_net -o $public_if -i $local_if -m state --state ! NEW,INVALID -j ACCEPT
## on accepte certain services udp specifies par leur port a traverser le serveur du reseau local vers lexterieur. le port 53 est accepter pour la resolution de nom (DNS). Si il ya dautre service udp a autoriser, il faut ajouter leur port a la suite de 53 en espacant.
for udp_port_allow in $activated_udpports
do
iptables -t filter -A FORWARD -i $local_if -s $local_net -o $public_if -p udp --dport $udp_port_allow -m state --state ! INVALID -j ACCEPT
done
## on accepte certain services tcp specifies par leur port a traverser le serveur du reseau local vers lexterieur. les port 80 et 443 sont acceptes pour les service http et https. Si il ya dautre service tcp a autoriser, il faut ajouter leur port a la suite de 443 en espacant.
for tcp_port_allow in $activated_tcpports
do
iptables -t filter -A FORWARD -i $local_if -s $local_net -o $public_if -p tcp --dport $tcp_port_allow -m state --state ! INVALID -j ACCEPT
done
## on accepte les connexion etablies et relatives entrantes et sortante du serveur par linterface public. ceci est important pour permettre certains tests.
iptables -t filter -A INPUT -i $public_if -d $public_ip -m state --state ! NEW,INVALID -j ACCEPT
iptables -t filter -A OUTPUT -o $public_if -s $public_ip -m state --state ! NEW,INVALID -j ACCEPT
## on accepte les ping de lexterieur sur le serveur seulement pour certain reseau
for icmp_ip_accept in 0/0
do
iptables -t filter -A INPUT -s $icmp_ip_accept -i $public_if -p icmp -d $public_ip -m state --state ! INVALID -j ACCEPT
done
## on accepte la connexion par ssh de lexterieur sur le serveur seulement pour certain reseau
for ssh_ip_allow in $gateway 64.110.100.176/28 216.252.234.0/24 216.252.236.0/24 216.252.176.0/24
do
iptables -t filter -A INPUT -s $ssh_ip_allow -i $public_if -p tcp -d $public_ip --dport 22 -m state --state ! INVALID -j ACCEPT
done
## regles pour permettre certains tests (icmp, http, a partir du serveur)
iptables -t filter -A OUTPUT -s $public_ip -o $public_if -p icmp -m state --state ! INVALID -j ACCEPT
for udp_port_out in 53
do
iptables -t filter -A OUTPUT -s $public_ip -o $public_if -p udp --dport $udp_port_out -m state --state ! INVALID -j ACCEPT
done
for tcp_port_out in 20 21 53 80
do
iptables -t filter -A OUTPUT -s $public_ip -o $public_if -p tcp --dport $tcp_port_out -m state --state ! INVALID -j ACCEPT
done
### regles pour la redirection de port vers une machine du reseau local
if (test "$local_redirect" == "yes")
then
for ports in $redirected_tcpports
do
iptables -t filter -A FORWARD -d $local_serv -i $public_if -o $local_if -p tcp --dport $ports -m state --state NEW -j ACCEPT
iptables -t nat -A PREROUTING -d $public_ip -i $public_if -p tcp --dport $ports -j DNAT --to-destination $local_serv:$ports
done
for ports in $redirected_udpports
do
iptables -t filter -A FORWARD -d $local_serv -i $public_if -o $local_if -p udp --dport $ports -m state --state NEW -j ACCEPT
iptables -t nat -A PREROUTING -d $public_ip -i $public_if -p udp --dport $ports -j DNAT --to-destination $local_serv:$ports
done
fi
## application des regles relatif au vpn ##
if (test "$vpn" == "yes")
then
# IKE negotiations
iptables -A INPUT -p udp --sport 500 --dport 500 -j ACCEPT
iptables -A OUTPUT -p udp --sport 500 --dport 500 -j ACCEPT
# ESP encrypton and authentication
iptables -A INPUT -p 50 -j ACCEPT
iptables -A OUTPUT -p 50 -j ACCEPT
# For AH authentication header
iptables -A INPUT -p 51 -j ACCEPT
iptables -A OUTPUT -p 51 -j ACCEPT
# Accept forward ipsec packet#
iptables -t filter -A FORWARD -i $local_if -s $local_net -o ipsec0 -m state --state ! INVALID -j ACCEPT
iptables -t filter -A FORWARD -o $local_if -d $local_net -i ipsec0 -m state --state ! INVALID -j ACCEPT
fi
### Application des regles de translation dadresse. ###
# on translate toutes les adresses du reseau local en ladresse de linterface public du serveur
iptables -t nat -A POSTROUTING -s $local_net -o $public_if -j MASQUERADE
##### Activation du routage ##
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "echo 1 > /proc/sys/net/ipv4/ip_forward" >> /etc/rc.local
##### chargement des modules du suivie de la connexion et du ftp ##
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe iptable_nat
echo "modprobe ip_conntrack" >> /etc/rc.local
echo "modprobe ip_conntrack_ftp" >> /etc/rc.local
echo "modprobe ip_nat_ftp" >> /etc/rc.local
echo "modprobe iptable_nat" >> /etc/rc.local
## sauvegarde de la configuration et redemarrage
service iptables save
service iptables restart