Iptables - réseaux et sécurité - Linux et OS Alternatifs
Marsh Posté le 10-09-2003 à 21:43:54
Enfin si t'a un script plutôt détaillé, balance un lien sur ton site perso.
Marsh Posté le 10-09-2003 à 22:55:49
brainbugs a écrit : ben disons que c'est un delicat de le publier |
Mais sans script ça va être dur de t'aider...
Tu peux pas faire un tri ?
Marsh Posté le 11-09-2003 à 13:07:37
config firewall
Eth0 : sur le lan
Eth1 : vers l'extérieur
dans un premier tps je cherche un script me permettant d'autoriser l'acces au reseau local à :
dns, http, ftp.
et de bloquer tout le reste (surtout venu de l'exterieur)
mais je trouve pas d'exemple de script pour des machines avec 2 interfaces..
Marsh Posté le 11-09-2003 à 13:10:47
tu pourrais utiliser Arno's iptables firewall peut-être, enfin c'est une solution de simplicité et il est pas mal foutu, après tu peux l'étudier si tu souhaites comprendre le fonctionnement, voici l'adresse si ça t'intéresse : http://rocky.molphys.leidenuniv.nl/
Marsh Posté le 15-09-2003 à 12:29:22
mirtouf a écrit : |
voila le script en question :
#!/bin/sh
##################################################
# #
# FIREWALL ET PARTAGE DE CONNECTION INTERNET #
# #
##################################################
# activation du forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
# Je veux pas de spoofing
if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]
then
for filtre in /proc/sys/net/ipv4/conf/*/rp_filter
do
echo 1 > $filtre
done
fi
# pas de icmp (ping)
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# chargement des modules necessaires
modprobe ip_tables
modprobe iptable_filter
modprobe ip_conntrack_ftp
modprobe iptable_nat
modprobe ip_nat_ftp
# vidage des regles courantes
iptables -F
iptables -X
# on logue et on refuse le paquet
iptables -N LOG_DROP
iptables -A LOG_DROP -j LOG --log-prefix '[IPTABLES DROP] : '
iptables -A LOG_DROP -j DROP
# on logue et on accepte le paquet
iptables -N LOG_ACCEPT
iptables -A LOG_ACCEPT -j LOG --log-prefix '[IPTABLES ACCEPT] : '
iptables -A LOG_ACCEPT -j ACCEPT
# on refuse tout par defaut
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
# on autorise l'utilisation de l'interface lo
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# on autorise ce qui se passe sur le reseau local
iptables -A INPUT -s xxx.0.0.0/8 -j ACCEPT
iptables -A OUTPUT -d xxx.0.0.0/8 -j ACCEPT
iptables -A FORWARD -s xxx.0.0.0/8 -j ACCEPT
# on autorise le dns
iptables -A INPUT -i eth0 --protocol udp --source-port 53 -j ACCEPT
iptables -A OUTPUT -o eth0 --protocol udp --destination-port 53 -j ACCEPT
iptables -A INPUT -i eth0 --protocol tcp --source-port 53 -j ACCEPT
iptables -A OUTPUT -o eth0 --protocol tcp --destination-port 53 -j ACCEPT
iptables -A INPUT -i eth1 --protocol udp --source-port 53 -j ACCEPT
iptables -A OUTPUT -o eth1 --protocol udp --destination-port 53 -j ACCEPT
iptables -A INPUT -i eth1 --protocol tcp --source-port 53 -j ACCEPT
iptables -A OUTPUT -o eth1 --protocol tcp --destination-port 53 -j ACCEPT
# on autorise la navigation sur le net
iptables -A INPUT -i eth0 --protocol tcp --source-port 80 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 --protocol tcp --destination-port 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth1 --protocol tcp --source-port 80 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth1 --protocol tcp --destination-port 80 -m state --state NEW,ESTABLISHED -j ACCEPT
# on autorise les connections ssh vers internet
iptables -A INPUT -i tun0 --protocol tcp --source-port 22 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o tun0 --protocol tcp --destination-port 22 -m state --state NEW,ESTABLISHED -j ACCEPT
# on autorise les connections ssh depuis le reseau local
#iptables -A INPUT -i eth0 --protocol tcp --source-port 22 -m state --state NEW,ESTABLISHED -j LOG_ACCEPT
#iptables -A OUTPUT -o eth0 --protocol tcp --destination-port 22 -m state --state ESTABLISHED -j LOG_ACCEPT
# on autorise les connections ftp
iptables -A INPUT -i tun0 -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o tun0 -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
## connections en mode actif
iptables -A INPUT -i tun0 -p tcp --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o tun0 -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT
## connection en mode passif
iptables -A INPUT -i tun0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o tun0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
#
# PARTAGE DE LA CONNECTION INTERNET
#
# autorisation du forwarding
#iptables -F FORWARD
#iptables -A FORWARD -j ACCEPT
# masquage des machines du reseau local
#iptables -A POSTROUTING -t nat -o tun0 -j MASQUERADE
# acces complet a internet pour les machines du reseau local
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -o eth1 -i eth0 -j ACCEPT
# masquage des machines du reseau local
iptables -t nat -A POSTROUTING -s xxx.0.0.0/24 -j MASQUERADE
# tout le reste est refuse et logue
iptables -A FORWARD -j LOG_DROP
iptables -A INPUT -j LOG_DROP
iptables -A OUTPUT -j LOG_DROP
echo " [Termine]"
Marsh Posté le 10-09-2003 à 19:38:36
salut !
j'ai un petit soucis de conf :
firewall
126.0.0.143
255.0.0.0
lan de prod :
126.0.0.0
255.0.0.0
et reseau distant relié par transfix:
10.3.0.0
255.255.0.0
tous les postes du reseau 126.0.0.0 accedent à l'exterieur, mais maintenant, je voudrais faire en sorte que ceux du reseau 10.3.0.0 puissent aussi "sortir" en ne changeant que la conf de iptables.
des idées ??