Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Messages recommandés

Posté(e)

merci pour les liens

 

je te demande ca car j'ai du rajouter ces 2 lignes : ( pour utiliser la freephonie avec asterisk )

 

$IPTABLES -A INPUT -p udp --dport 5060 -j ACCEPT

$IPTABLES -A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT

 

c'est grave ou non ?

 

merci

Posté(e)

Ce qui est grave, c'est de bloquer les ports utilisés par les applications installées sur la machine (enfin, si tu veux qu'elles fonctionnent !)

 

Pour en revenir à la question de départ, ce n'est pas extrèmement grave de déclarer une DMZ, il faut juste configurer le firewall de cette machine de la même manière qu'on aurait [dû] configurer le firewall du routeur pour protéger son LAN. Avoir une DMZ permet d'éviter de configurer plusieurs firewalls (pour les malades qui en ont un sur chaque machine alors qu'ils sont en NAT, par exemple) ou de contourner les limitations d'un firewall intégré au routeur et qui se montre bien pauvre en options (je citerai en exemple le firewall des Livebox...).

Cela dit, si les règles de firewall sont simples, il est plus prudent d'éviter d'avoir une DMZ (on n'est de toute façon jamais à l'abri d'une intrusion) en configurant proprement son routeur, en ne forwardant (en entrée) et en n'ouvrant (en sortie) que les ports indispensables !

Posté(e) (modifié)

j'ai utilisé ce script pour iptables :

 

#!/bin/sh
echo "Configuration IPtables"
echo " [Debut]"
IPTABLES=/sbin/iptables

#echo 1 > /proc/sys/net/ipv4/ip_forward


# Alors la, on va appliquer quelques astuces
# pour empêcher les attaques de type spoofing
# et bloquer les réponses ICMP du firewall,
# comme ça c'est très propre. Attention, le
# fait de bloquer le trafic ICMP sur
# le firewall bloque les pings.

# 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

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

# REMISE à ZERO des règles de filtrage
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -X

######################## DEBUT des "politiques par défaut"#####################


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

########################## FIN des "politiques par défaut"####################


########################## DEBUT des règles de filtrage#######################

# on accepte les paquets relatifs aux connexion deja ouvert

$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# on accepte tout ce qui concerne l'interface loopback

$IPTABLES -A INPUT -i lo -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -o lo -m state --state NEW -j ACCEPT



######################################""""""PORT a ouvrire""""""""""########

#			  TCP

$IPTABLES -A INPUT -i eth0 -p tcp --dport 21 -j ACCEPT # ftp
#$IPTABLES -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT # http


#						  UDP

$IPTABLES -A INPUT -p udp --dport 5060 -j ACCEPT
$IPTABLES -A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT

# FIN des règles de filtrage

#on accepte tout ce qui sort vers l'exterieur
$IPTABLES -A OUTPUT -o eth0 -j ACCEPT

#on accepte de forwarder vers l'exterieur
$IPTABLES -A FORWARD -o eth0 -j ACCEPT

# Effectue la translation d'adresses :
#$IPTABLES -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#$IPTABLES -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE

# FIN des règles de "port forwarding"
# Toutes les règles qui n'ont pas passé les
# règles du firewall seront refusées ...


iptables -A FORWARD -j DROP
iptables -A INPUT -j DROP
iptables -A OUTPUT -j DROP

BANNED_IP="12.13.14.15/24 15.16.17.18/28 19.20.21.22"

RESERVED_NET="0.0.0.0/8 1.0.0.0/8 2.0.0.0/8 3.0.0.0/8 4.0.0.0/8 5.0.0.0/8 7.0.0.0/8 10.0.0.0/8 14.0.0.0/8 23.0.0.0/8 27.0.0.0/8 31.0.0.0/8 36.0.0.0/8 37.0.0.0/8 39.0.0.0/8 41.0.0.0/8 42.0.0.0/8 58.0.0.0/8 59.0.0.0/8 60.0.0.0/8 70.0.0.0/8 71.0.0.0/8 72.0.0.0/8 73.0.0.0/8 74.0.0.0/8 75.0.0.0/8 76.0.0.0/8 77.0.0.0/8 78.0.0.0/8 79.0.0.0/8 83.0.0.0/8 84.0.0.0/8 85.0.0.0/8 86.0.0.0/8 87.0.0.0/8 88.0.0.0/8 89.0.0.0/8 90.0.0.0/8 91.0.0.0/8 92.0.0.0/8 93.0.0.0/8 94.0.0.0/8 95.0.0.0/8 96.0.0.0/8 97.0.0.0/8 98.0.0.0/8 99.0.0.0/8 100.0.0.0/8 101.0.0.0/8 102.0.0.0/8 103.0.0.0/8 104.0.0.0/8 105.0.0.0/8 106.0.0.0/8 107.0.0.0/8 108.0.0.0/8 109.0.0.0/8 110.0.0.0/8 111.0.0.0/8 112.0.0.0/8 113.0.0.0/8 114.0.0.0/8 115.0.0.0/8 116.0.0.0/8 117.0.0.0/8 118.0.0.0/8 119.0.0.0/8 120.0.0.0/8 121.0.0.0/8 122.0.0.0/8 123.0.0.0/8 124.0.0.0/8 125.0.0.0/8 126.0.0.0/8 197.0.0.0/8 222.0.0.0/8 223.0.0.0/8 224.0.0.0/8 225.0.0.0/8 226.0.0.0/8 227.0.0.0/8 228.0.0.0/8 229.0.0.0/8 230.0.0.0/8 231.0.0.0/8 232.0.0.0/8 233.0.0.0/8 234.0.0.0/8 235.0.0.0/8 236.0.0.0/8 237.0.0.0/8 238.0.0.0/8 239.0.0.0/8 240.0.0.0/8 241.0.0.0/8 242.0.0.0/8 243.0.0.0/8 244.0.0.0/8 245.0.0.0/8 246.0.0.0/8 247.0.0.0/8 248.0.0.0/8 249.0.0.0/8 250.0.0.0/8 251.0.0.0/8 252.0.0.0/8 253.0.0.0/8 254.0.0.0/8 255.0.0.0/8 169.254.0.0/16 172.16.0.0/12 173.0.0.0/8 174.0.0.0/8 175.0.0.0/8 176.0.0.0/8 177.0.0.0/8 178.0.0.0/8 179.0.0.0/8 180.0.0.0/8 181.0.0.0/8 182.0.0.0/8 183.0.0.0/8 184.0.0.0/8 185.0.0.0/8 186.0.0.0/8 187.0.0.0/8 189.0.0.0/8 190.0.0.0/8"


# FIN des règles pour le partage de connexion (i.e. le NAT)

echo " [Termine]"

Modifié par marc2006
  • 6 mois après...
Posté(e) (modifié)

donc mettre lordi en dmz est déconseillé ! Et pour les redirections de ports ( les ports 21, 80, 6891, 13115, 50296, 37202 ), comment dois je configurer iptables, non pas pour l'ouverture des ports ( je reprend la ligne du ftp ! ), mais pour sécuriser ma machine contre les pirates ? ( car les ports sont ouverts )

 

Merci

 

voici mon iptables ( j'ai enlevé la dmz dans la freebox ! ) :

#!/bin/sh
echo "Configuration IPtables"
echo " [IPV4 Debut]"
IPTABLES=/sbin/iptables

echo 0 > /proc/sys/net/ipv4/ip_forward


# Alors la, on va appliquer quelques astuces
# pour empêcher les attaques de type spoofing
# et bloquer les réponses ICMP du firewall,
# comme ça c'est très propre. Attention, le
# fait de bloquer le trafic ICMP sur
# le firewall bloque les pings.

# 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

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

# Nous vidons les chaînes :
$IPTABLES -F

# Nous les faisons pointer par défaut sur DROP 
$IPTABLES -X

# Nous les faisons pointer par défaut sur DROP

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

# Nous faisons de même avec toutes les autres tables, 
# à savoir "nat" et "mangle", mais en les faisant pointer
# par défaut sur ACCEPT. Ca ne pose pas de problèmes 
# puisque tout est bloqué au niveau "filter"

$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 INPUT ACCEPT
$IPTABLES -t mangle -P OUTPUT ACCEPT
$IPTABLES -t mangle -P FORWARD ACCEPT
$IPTABLES -t mangle -P POSTROUTING ACCEPT

########################## FIN des "politiques par défaut"####################


########################## DEBUT des règles de filtrage#######################

# Autorise l'interface locale à dialoguer avec elle-même !
$IPTABLES -A OUTPUT -o lo -j ACCEPT
$IPTABLES -A INPUT -i lo -j ACCEPT

# Autorise le trafic sortant sur des connexions ouvertes
$IPTABLES -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# Autorise le trafic entrant sur des connexions ouvertes
$IPTABLES -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# Ignore les paquets provenant de l'extérieur avec une adresse non routable sur Internet
$IPTABLES -A INPUT -i eth0 -s 10.0.0.0/8 -j DROP
$IPTABLES -A INPUT -i eth0 -s 172.16.0.0/12 -j DROP
$IPTABLES -A INPUT -i eth0 -s 192.168.0.0/16 -j DROP
$IPTABLES -A INPUT -i eth0 -s 127.0.0.0/8 -j DROP

######################################""""""PORT a ouvrire""""""""""########

# Autorise les connexions entrantes sur un serveur local #
# Creer une ligne par protocole en changeant --dport	 #
# http, https, ftp, ssh, smtp, 53, 8080, ...			 #
##########################################################
# =============++++>>>> ENTRANTS
#			  TCP

$IPTABLES -A INPUT -i eth0 -m state --state NEW,ESTABLISHED -p tcp --dport http -j ACCEPT # Apache
$IPTABLES -A INPUT -i eth0 -m state --state NEW -p tcp --dport ftp -j ACCEPT # ftp
#$IPTABLES -A INPUT -i eth0 -m state --state RELATED -p tcp --dport 16401:16411 -j ACCEPT # proftpd
$IPTABLES -A INPUT -i eth0 -m state --state NEW -p tcp --dport 6891 -j ACCEPT # amsn
$IPTABLES -A INPUT -i eth0 -s 192.168.0.0/24 -d 0.0.0.0 -j DROP
#$IPTABLES -A INPUT -m state --state NEW -p tcp -s 212.27.38.253 --dport 8080 -j ACCEPT # freeplayer

#						  UDP

#$IPTABLES -A INPUT -i eth0 -m state --state RELATED -p udp --dport 16380:16400 -j ACCEPT # rtp asterisk

# FIN des règles de filtrage

$IPTABLES -t filter -A INPUT -i eth0 -s 192.168.0.0/24 -j ACCEPT

#on accepte tout ce qui sort vers l'exterieur
$IPTABLES -A OUTPUT -o eth0 -m state --state ! INVALID -j ACCEPT

# Toutes les règles qui n'ont pas passé les
# règles du firewall seront refusées ...

$IPTABLES -A FORWARD -j DROP
$IPTABLES -A INPUT -j DROP
$IPTABLES -A OUTPUT -j DROP

# Par curiosite, on peut tracer les demandes de connexions en provenance de l'exterieur
# Traces disponibles dans le fichier /var/log/messages
$IPTABLES -A INPUT -m state --state NEW -j LOG
# Idem pour les demandes faites localement vers l'extérieur (vers, troyan, ...)
$IPTABLES -A OUTPUT -m state --state NEW -j LOG

# FIN des règles pour le partage de connexion (i.e. le NAT)

echo " [IPV4 Termine]"

 

A critiquer !! :P :P

Modifié par marc2006
Posté(e)

redondance de règles, pas la même cible ?

IPTABLES -A INPUT -i eth0 -s 192.168.0.0/24 -d 0.0.0.0 -j DROP

IPTABLES -t filter -A INPUT -i eth0 -s 192.168.0.0/24 -j ACCEPT

 

$IPTABLES -A FORWARD -j DROP
$IPTABLES -A INPUT -j DROP
$IPTABLES -A OUTPUT -j DROP

# Par curiosite, on peut tracer les demandes de connexions en provenance de l'exterieur
# Traces disponibles dans le fichier /var/log/messages
$IPTABLES -A INPUT -m state --state NEW -j LOG
# Idem pour les demandes faites localement vers l'extérieur (vers, troyan, ...)
$IPTABLES -A OUTPUT -m state --state NEW -j LOG

 

rien ne sera loggé car les paquets sont droppés d'abord, la cible log doit être réalisée avant le drop (ou toute autre cible imposant un arrêt dans le défilement du paquet au travers des règles iptables)

 

tes serveurs (Apache, ftp, amsn) sont-ils sécurisés au niveau de leur configuration, chrootés ?

  • 3 mois après...
Posté(e)
redondance de règles, pas la même cible ?

IPTABLES -A INPUT -i eth0 -s 192.168.0.0/24 -d 0.0.0.0 -j DROP

IPTABLES -t filter -A INPUT -i eth0 -s 192.168.0.0/24 -j ACCEPT

 

$IPTABLES -A FORWARD -j DROP
$IPTABLES -A INPUT -j DROP
$IPTABLES -A OUTPUT -j DROP

# Par curiosite, on peut tracer les demandes de connexions en provenance de l'exterieur
# Traces disponibles dans le fichier /var/log/messages
$IPTABLES -A INPUT -m state --state NEW -j LOG
# Idem pour les demandes faites localement vers l'extérieur (vers, troyan, ...)
$IPTABLES -A OUTPUT -m state --state NEW -j LOG

 

rien ne sera loggé car les paquets sont droppés d'abord, la cible log doit être réalisée avant le drop (ou toute autre cible imposant un arrêt dans le défilement du paquet au travers des règles iptables)

 

tes serveurs (Apache, ftp, amsn) sont-ils sécurisés au niveau de leur configuration, chrootés ?

 

je ne sais plus où j'avais ouvert un sujet sur ça : comment savoir qu'une appli est sur écoute sur un port ?

Posté(e) (modifié)

comme ça c'est bon ?

#!/bin/sh
echo "Configuration IPtables"
echo " [IPV4 Debut]"
IPTABLES=/sbin/iptables

echo 0 > /proc/sys/net/ipv4/ip_forward


# Alors la, on va appliquer quelques astuces
# pour empêcher les attaques de type spoofing
# et bloquer les réponses ICMP du firewall,
# comme ça c'est très propre. Attention, le
# fait de bloquer le trafic ICMP sur
# le firewall bloque les pings.

# 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

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

# Active la protection TCP syn cookie
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

# Enregistre les paquets avec des adresses impossibles
# (cela inclut les paquets usurpés (spoofed), les paquets routés
# source, les paquets redirigés), mais faites attention à ceci
# sur les serveurs web très chargés
echo 1 >/proc/sys/net/ipv4/conf/all/log_martians 

# Désactive l'acceptation Redirect ICMP
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects

# Désactive Source Routed
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route

# Nous vidons les chaînes :
$IPTABLES -F

# Nous les faisons pointer par défaut sur DROP 
$IPTABLES -X

# Nous les faisons pointer par défaut sur DROP

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

# Nous faisons de même avec toutes les autres tables, 
# à savoir "nat" et "mangle", mais en les faisant pointer
# par défaut sur ACCEPT. Ca ne pose pas de problèmes 
# puisque tout est bloqué au niveau "filter"

$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 INPUT ACCEPT
$IPTABLES -t mangle -P OUTPUT ACCEPT
$IPTABLES -t mangle -P FORWARD ACCEPT
$IPTABLES -t mangle -P POSTROUTING ACCEPT

########################## FIN des "politiques par défaut"####################


########################## DEBUT des règles de filtrage#######################

# Autorise l'interface locale à dialoguer avec elle-même !
$IPTABLES -A OUTPUT -o lo -j ACCEPT
$IPTABLES -A INPUT -i lo -j ACCEPT

# Autorise le trafic sortant sur des connexions ouvertes
#$IPTABLES -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# Autorise le trafic entrant sur des connexions ouvertes
$IPTABLES -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# Ignore les paquets provenant de l'extérieur avec une adresse non routable sur Internet
$IPTABLES -A INPUT -i eth0 -s 10.0.0.0/8 -j DROP
$IPTABLES -A INPUT -i eth0 -s 172.16.0.0/12 -j DROP
$IPTABLES -A INPUT -i eth0 -s 192.168.0.0/16 -j DROP
$IPTABLES -A INPUT -i eth0 -s 127.0.0.0/8 -j DROP

######################################""""""PORT a ouvrire""""""""""########

# Autorise les connexions entrantes sur un serveur local #
# Creer une ligne par protocole en changeant --dport	 #
# http, https, ftp, ssh, smtp, 53, 8080, ...			 #
##########################################################
# =============++++>>>> ENTRANTS
#			  TCP

$IPTABLES -A INPUT -i eth0 -m state --state NEW -p tcp --dport ftp -j ACCEPT # ftp
$IPTABLES -A INPUT -i eth0 -m state --state RELATED -p tcp --dport 16401:16411 -j ACCEPT # proftpd
$IPTABLES -A INPUT -i eth0 -m state --state NEW -p tcp --dport 6891 -j ACCEPT # amsn
$IPTABLES -A INPUT -i eth0 -s 192.168.0.1 -d 0.0.0.0 -j ACCEPT
$IPTABLES -A INPUT -i eth0 -s 212.27.38.253 -j ACCEPT
$IPTABLES -A INPUT -i eth0 -s 192.168.0.0/24 -d 0.0.0.0 -j DROP
#$IPTABLES -A INPUT -m state --state NEW -p tcp -s 212.27.38.253 --dport 8080 -j ACCEPT # freeplayer

#						  UDP

$IPTABLES -A INPUT -i eth0 -m state --state RELATED -p udp --dport 16380:16400 -j ACCEPT # rtp asterisk

# FIN des règles de filtrage

#on accepte tout ce qui sort vers l'exterieur
$IPTABLES -A OUTPUT -o eth0 -m state --state ! INVALID -j ACCEPT

# Par curiosite, on peut tracer les demandes de connexions en provenance de l'exterieur
# Traces disponibles dans le fichier /var/log/messages
#$IPTABLES -A INPUT -m state --state NEW -j LOG
$IPTABLES -A INPUT -p all -j ULOG --ulog-prefix=DROP
# Idem pour les demandes faites localement vers l'extérieur (vers, troyan, ...)
$IPTABLES -A OUTPUT -m state --state NEW -p all -j ULOG --ulog-prefix=ACCEPT

# Toutes les règles qui n'ont pas passé les
# règles du firewall seront refusées ...

$IPTABLES -A FORWARD -j DROP
$IPTABLES -A INPUT -j DROP
$IPTABLES -A OUTPUT -j DROP

# FIN des règles pour le partage de connexion (i.e. le NAT)

echo " [IPV4 Termine]"

Modifié par marc2006

Rejoindre la conversation

Vous publiez en tant qu’invité. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...