Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 25-12-2011 20:51:59

pyrrha
Membre
Distrib. : Sid (Client) - Stable (Serveur)
(G)UI : Gnome
Inscription : 09-10-2010

firewall domestique pour passerelle/serveur divers

Bonjour à tous,

Je suis en train de monter mon firewall sous Debian Squeeze, le but est d'utiliser mon serveur comme passerelle à état et NAT Internet (et quelques services en plus, j'avais pensé à XEN, mais comme il semblerait que la virtualisation ne soit pas idéal pour un serveur de fichier a cause des I/O disque plus limitées, ... boah, j'essayerai sûrement un jour!).

Je voulais avoir vos avis si la rédaction du script iptables vous parait correct (pour l'instant, pas d'IPv6).

Je me demandais également comment je pouvais limiter un débit montant (vers Internet, pour SSH) ? J'avais vu certaines règles qui permettent de limiter le nombre de paquets (limit, que j'utilise pour limiter le ping entrant), mais ce n'est peut-être pas le plus pratique pour faire une limitation de vitesse !

Enfin, savez vous où je peux trouver de la documentation (en Français idéalement, mais l'anglais fera très bien l'affaire) au sujet des différentes constantes système qui permettent de protéger de l'IP spoofing, TCP SYN flood, etc.

Et enfin enfin (oui je sais, ça fait beaucoup !), j'ai utilisé pendant un petit moment FreeBSD qui est totalement différent (au niveau des init), et je me demandais quel était la place à privilégier pour lancer le script de firewall ? Je pensais naturellement au dossier /etc/network/if-pre-up.d/, histoire de lancer le script avant le démarrage des interfaces.

[small](ah oui et puis aussi, rien à voir, j'ai lu pas mal de choses vis à vis de l'UFS sous FreeBSD bien meilleurs que l'ext3/4 parce que plus solide bla bla bla... C'est de la branlette d'extrémistes ou ce sont des choses fondés ? Quand je parle de stabilité, je pense notamment aux extinctions brutales)[/small]

Merci beaucoup !
Bonne soirée,
pyrrha

#!/bin/sh

#eth0=local
#eth1=internet

#################################################################################
# initialisation des règles              #
#################################################################################
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

ip6tables -F
ip6tables -X
ip6tables -Z
ip6tables -P INPUT DROP
ip6tables -P OUTPUT DROP
ip6tables -P FORWARD DROP
ip6tables -A INPUT -i lo -j ACCEPT
ip6tables -A OUTPUT -o lo -j ACCEPT



#################################################################################
# paramètres noyau               #
#################################################################################
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects
echo 0 > /proc/sys/net/ipv4/tcp_ecn



#################################################################################
# trafic local et lo                #
#################################################################################
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A OUTPUT -o eth0 -j ACCEPT
iptables -A INPUT -i lo0 -j ACCEPT
iptables -A OUTPUT -o lo0 -j ACCEPT



#################################################################################
# NAT et état NAT connecté              #
#################################################################################
iptables -A POSTROUTING -t nat -o eth1 -j MASQUERADE
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISH -j ACCEPT



#################################################################################
# état connecté internet <-> serveur            #
#################################################################################
iptables -A INPUT -m state --state RELATED,ESTABLISH -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISH -j ACCEPT



#################################################################################
# initiation trafic internet -> serveur           #
#################################################################################
iptables -A INPUT -p icmp -m limit --limit 2/s -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 1006 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -p udp --dport 7777 -j ACCEPT
iptables -A INPUT -p udp --dport 7778 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 7779 -j ACCEPT



#################################################################################
# initiation trafic serveur -> internet           #
#################################################################################
iptables -A OUTPUT -p icmp -j ACCEPT
iptables -A OUTPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -m state --state NEW -p tcp --dport 25 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p udp --dport 123 -j ACCEPT

Dernière modification par pyrrha (25-12-2011 23:03:46)

Hors ligne

Pied de page des forums