Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1518 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  explication sur une règle iptables

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

explication sur une règle iptables

n°128176
bobor
tueur de n44b
Posté le 23-07-2002 à 13:13:28  profilanswer
 

voici un extrait de mes règles iptables. Je ne comprends pas la dernière ligne. Sans celle ci je n'accède pas à internet. Que fait-elle exactement.
 
 

Code :
  1. ####
  2. # bad_tcp_packets chain
  3. ####
  4. $IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP
  5. ####
  6. # allowed rules
  7. ####
  8. $IPTABLES -A allowed -p TCP --syn -j ACCEPT
  9. $IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
  10. $IPTABLES -A allowed -p TCP -j DROP
  11. ####
  12. # tcp_packets rules
  13. ####
  14. $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 80 -j allowed  #http
  15. ####
  16. # udpincoming_packets rules
  17. ####
  18. $IPTABLES -A udpincoming_packets -p UDP -s 0/0 --source-port 53 -j ACCEPT  #dns
  19. $IPTABLES -A udpincoming_packets -p UDP -s 0/0 -j DROP
  20. ############################################################################
  21. # INPUT chain
  22. #
  23. # Bad TCP packets we don't want.
  24. ############################################################################
  25. $IPTABLES -A INPUT -p tcp -j bad_tcp_packets
  26. ####
  27. # Rules for incoming packets from the internet.
  28. ####
  29. $IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets
  30. $IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udpincoming_packets
  31. $IPTABLES -A INPUT -p tcp -i $INET_IFACE -d $INET_IP -m state --state ESTABLISHED,RELATED -j ACCEPT

 
 
 
 
En particulier, si je limite cette dernière règle au port 80, je n'ai plus internet. N'est-elle pas répétitive avec $IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets?

mood
Publicité
Posté le 23-07-2002 à 13:13:28  profilanswer
 

n°128178
asphro
Posté le 23-07-2002 à 13:20:37  profilanswer
 

t accepte tous les paquet ayant une connexion une connexion "ESTAbLISHED"
ou assimilable "RELATED"

n°128181
asphro
Posté le 23-07-2002 à 13:24:28  profilanswer
 

mais yon $inet_ip ca redirige vers ou ?

n°128191
bobor
tueur de n44b
Posté le 23-07-2002 à 13:38:18  profilanswer
 

Encore toi! :D  
 
mon INET_IFACE est mon interface interface internet donc ppp0
 
Mais je trouve cette règle redondante et moins restrictive que
$IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets
 
Or il devrait suffire d'accepter les packets sur le port 80 pour internet.

n°128210
chupabouc
Put a daemon in your pc !
Posté le 23-07-2002 à 14:15:58  profilanswer
 

bobor a écrit a écrit :

voici un extrait de mes règles iptables. Je ne comprends pas la dernière ligne. Sans celle ci je n'accède pas à internet. Que fait-elle exactement.
 
 

Code :
  1. ####
  2. # bad_tcp_packets chain
  3. ####
  4. $IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP
  5. ####
  6. # allowed rules
  7. ####
  8. $IPTABLES -A allowed -p TCP --syn -j ACCEPT
  9. $IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
  10. $IPTABLES -A allowed -p TCP -j DROP
  11. ####
  12. # tcp_packets rules
  13. ####
  14. $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 80 -j allowed  #http
  15. ####
  16. # udpincoming_packets rules
  17. ####
  18. $IPTABLES -A udpincoming_packets -p UDP -s 0/0 --source-port 53 -j ACCEPT  #dns
  19. $IPTABLES -A udpincoming_packets -p UDP -s 0/0 -j DROP
  20. ############################################################################
  21. # INPUT chain
  22. #
  23. # Bad TCP packets we don't want.
  24. ############################################################################
  25. $IPTABLES -A INPUT -p tcp -j bad_tcp_packets
  26. ####
  27. # Rules for incoming packets from the internet.
  28. ####
  29. $IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets
  30. $IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udpincoming_packets
  31. $IPTABLES -A INPUT -p tcp -i $INET_IFACE -d $INET_IP -m state --state ESTABLISHED,RELATED -j ACCEPT

 
 
 
 
En particulier, si je limite cette dernière règle au port 80, je n'ai plus internet. N'est-elle pas répétitive avec $IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets?




 
Je ne connais pas tres bien iptables (je me suis arrete a ipchains, et passe directement a bsd), mais cette regle te permet sans doute d'accepter toutes les reponses a tes requetes TCP, sans etablir de regles specifiques.  
Il faudrait savoir a quoi correspond 'tcp_packets'.


---------------
Linux is for people who don't like Windows, BSD is for people who like Unix.
n°128232
asphro
Posté le 23-07-2002 à 14:45:26  profilanswer
 

y a un truc que je capte po tu veux accpter les connexion seulement sur le port 80 or qund tu appliques cette regle tu n as pu de connex c 'est cela ?

n°128241
djoh
Posté le 23-07-2002 à 14:55:10  profilanswer
 

faut pas oublier le 53

n°128242
asphro
Posté le 23-07-2002 à 14:56:40  profilanswer
 

djoh a écrit a écrit :

faut pas oublier le 53




 
 
 
edit: enfait je vois pas pkoi mes port 53 sont fermé pour l exterieur !!!
 
Peux tu detailler ?


Message édité par asphro le 23-07-2002 à 14:59:56
n°128243
bobor
tueur de n44b
Posté le 23-07-2002 à 14:59:16  profilanswer
 

non c'est l'inverse, si je n'applique pas cette règle, je n'ai plus de connec. Mais je viens de trouver. En fait je m'étais planté dans tcp_packet et j'avais mis --dport 80 au lieu de --sport 80. Et j'ai mon OUTPUT en -p all -j ACCEPT pour l'instant.
Maintenant cela donne ça:
 
 
 
 

Code :
  1. ####
  2. # allowed rules
  3. ####
  4. $IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
  5. $IPTABLES -A allowed -p TCP -j DROP
  6. ####
  7. # icmp_packets rules
  8. ####
  9. $IPTABLES -A icmp_packets -p ICMP -s 0/0 -j DROP
  10. ####
  11. # tcp_packets rules
  12. ####
  13. $IPTABLES -A tcp_packets -p TCP -s 0/0 --sport 80 -j allowed  #http
  14. ####
  15. # udpincoming_packets rules
  16. ####
  17. $IPTABLES -A udpincoming_packets -p UDP -s 0/0 --source-port 53 -j ACCEPT  #dns
  18. $IPTABLES -A udpincoming_packets -p UDP -s 0/0 -j DROP
  19. ############################################################################
  20. # INPUT chain
  21. #
  22. # Bad TCP packets we don't want.
  23. ############################################################################
  24. $IPTABLES -A INPUT -p tcp -j bad_tcp_packets
  25. ####
  26. # Rules for incoming packets from the internet.
  27. ####
  28. $IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets
  29. $IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets
  30. $IPTABLES -A INPUT -p UDP -i $INET_IFACE -j -udpincoming_packets

 
 
Donc maintenant ça marche, mais ne quitte pas le post, j'auria peut-être d'autres interrogations...
 :D

n°128253
Gaellick
Quoi ??? Noooonn !! Si !
Posté le 23-07-2002 à 15:32:29  profilanswer
 

Je ne vois pas l'interet des deux regles :
 
$IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT  
 
et
 
$IPTABLES -A tcp_packets -p TCP -s 0/0 --sport 80 -j allowed  #http  
 
Je croyais que quand le firewall avait trouve une regle qui s'appliqueait au paquet il sortait. Hors la la premiere regle s'applique a tous les paquets TCP, il ne devrait donc jamais lire la deuxieme ? Y'a un truc que j'ai pas pige.
 
 
En fait la premiere partie ne serait qu'une definition de tes propres chaines et regles qui sont apres appliquees au chaine standeard INPUT, OUTPUT et FORWARD ? C'est ca le principe ?


Message édité par Gaellick le 23-07-2002 à 15:36:34

---------------
Qui cherche le soleil évite la pluie !
mood
Publicité
Posté le 23-07-2002 à 15:32:29  profilanswer
 

n°128259
fl0ups
東京 - パリ - SLP
Posté le 23-07-2002 à 15:41:57  profilanswer
 

Cette dernière règle te permet d'avoir un firewall statefull
 
c-à-d, qu'il garde en mémoire les paquets que tu as envoyés en sortie, et qu'il laisse entrer (INPUT) les paquets qui sopnt en reponse a ton traffic sortant (related) et les connections qui etaient déja en cours au moment ou tu as lancé ton firewall (established)
 
Le statefull est vraiment genial car il te permet de faire du surf / ftp etc. sans avoir a ouvrir des ports (pour le ftp passif par exemple) comme il faut le faire avec un firewall non statefull

n°128260
bobor
tueur de n44b
Posté le 23-07-2002 à 15:44:39  profilanswer
 

si un packet tcp arrive sur la chaine INPUT, alors la chaine tcp_packets est appelée. Alors si le packet provient d'un port 80 (hhtp), la chaine allowed est appelée sinon il drop.
La chaine allowed vérifie que ce soit bien une connection déjà établie pour accepter la connection, sinon il drop.


---------------
Gitan des temps modernes
n°128268
xmulder
un peu plus au nord...
Posté le 23-07-2002 à 16:00:23  profilanswer
 

fl0ups a écrit a écrit :

Cette dernière règle te permet d'avoir un firewall statefull
 
c-à-d, qu'il garde en mémoire les paquets que tu as envoyés en sortie, et qu'il laisse entrer (INPUT) les paquets qui sopnt en reponse a ton traffic sortant (related) et les connections qui etaient déja en cours au moment ou tu as lancé ton firewall (established)
 
Le statefull est vraiment genial car il te permet de faire du surf / ftp etc. sans avoir a ouvrir des ports (pour le ftp passif par exemple) comme il faut le faire avec un firewall non statefull




 
et comment il reconnait q c un related et pas autre chose?

n°128337
asphro
Posté le 23-07-2002 à 18:07:58  profilanswer
 

c dans les packets ip !!!!!!!!!!!!

n°128345
bobor
tueur de n44b
Posté le 23-07-2002 à 18:16:29  profilanswer
 

puisque tu es encore là quelques questions:
- quelle est la différence entre --syn et -m state --state NEW?
- pourquoi ma station configuré en dhcp parvient à avoir son IP depuis le serveur alors que je n'ai pas ouvert les ports udp 67 et 68?
 
si tu veux je remets mon script iptables complet.


---------------
Gitan des temps modernes
n°128347
Gaellick
Quoi ??? Noooonn !! Si !
Posté le 23-07-2002 à 18:18:19  profilanswer
 

C'est quoi --syn ?


---------------
Qui cherche le soleil évite la pluie !
n°128356
asphro
Posté le 23-07-2002 à 18:35:11  profilanswer
 

oui mais ton scriopt complet
 
pour te dire pkou avec le dhcp
 
-m state --state NEW accepte tout nouvelle connexion
--syn accepte les packets ayant un flag syn cad pour la connexion
 
$IPTABLES -A allowed -p TCP --syn -j ACCEPT  
$IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT  
 
en klr ici ca accepte tout packet ayant le flag syn (voulant ce connecter chez toi)
ensuite t accepte tout packet dont la connexion a etait etabli  
 
ca vaut faire a faire ca ( d apres ce que j ai lu)
(je demande confirmation quand même)
 
$IPTABLES -A allowed -p TCP -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT  
 
 
 

n°128358
djoh
Posté le 23-07-2002 à 18:39:13  profilanswer
 

Gaellick a écrit a écrit :

C'est quoi --syn ?




 
 
man iptables (faut chercher un peu !   :o ) :
 
 

--syn
              Only match TCP packets with the SYN bit set and the ACK and FIN bits cleared.  Such packets are used to request TCP
              connection  initiation; for example, blocking such packets coming in an interface will prevent incoming TCP connec­
              tions, but outgoing TCP connections will be unaffected.  It is equivalent to --tcp-flags SYN,RST,ACK SYN.   If  the
              "!" flag precedes the "--syn", the sense of the option is inverted.


 
syn, c'est un flag (un bit a priori) situé dans l'entete dans un paquet de données qui prévient au destinataire qu'il veut établir une connection (d'après ce que j'ai compris)
 
c'est sans doute équivalent à -m state --state NEW

n°128362
asphro
Posté le 23-07-2002 à 18:43:35  profilanswer
 

mais je comprend pas car j utilise pa siptable moi c pf sur openbsd
 
 
qu il y est de truc different pour accepte le packet ayant un flags syn !!!!
 
c un peu byzarre a mon gout non ?

n°128366
bobor
tueur de n44b
Posté le 23-07-2002 à 18:49:40  profilanswer
 

voici mon script complet. C'est un peu compliqué donc je résume:
- 4 cartes réseaux connectées au serveur
- eth0 accés au net et aux ressources internes
- eth1 accés aux ressources internes, aucune communication vers l'extérieur. Pas encore implémenté.
- eth2 accés au net et à quelques ressources internes. En cours d'implémentation
- eth3 pas d'accés au net, source non sûre (WIFI), accés à quelques ressources internes. Pas encore implémenté.
- ppp0 est l'accés internet (ADSL) donc non sûr.
 
Le script:
 
 
 
[/cpp]#!/bin/sh
#
# rc.firewall - Initial SIMPLE IP Firewall script for Linux 2.4.x and iptables
#  echo -e "\n\nLoading rc.firewall script ..\n"
 
###########################################################################
#
# 1. Configuration options.
#
 
###########################################################################
#
# Local Area Network configuration.
#
 
LAN_IP0="192.168.100.254"
LAN_IP1="192.168.101.254"
LAN_IP2="192.168.102.254"
LAN_IP3="192.168.103.254"
LAN_IP_RANGE="192.168.0.0/16"
LAN_BCAST_ADRESS0="192.168.100.255"
LAN_BCAST_ADRESS1="192.168.101.255"
LAN_BCAST_ADRESS2="192.168.102.255"
LAN_BCAST_ADRESS3="192.168.103.255"
LAN_IFACE0="eth0"
LAN_IFACE1="eth1"
LAN_IFACE2="eth2"
LAN_IFACE3="eth3"
 
##################################################
 
#########################
#
# Localhost Configuration.
#
 
LO_IFACE="lo"
LO_IP="127.0.0.1"
 
##################################################
 
#########################
#
# Internet Configuration.
#
 
echo -e "Internet Configuration ..\n"
 
INET_IP=`ifconfig 'ppp0' | grep 'inet adr' | awk '{print $2}' | sed -e 's/adr\://'`
INET_IFACE="ppp0"
 
echo "External interface: $INET_IP"
echo "1st Internal interface: $LAN_IP0"
echo "2sd Internal interface: $LAN_IP1"
echo "3th Internal interface: $LAN_IP2"
echo "4th Internal interface: $LAN_IP3"
 
###########################################################################
#
# IPTables Configuration.
#
 
IPTABLES="/sbin/iptables"
##################################################
 
#########################
#
# 2. Module loading.
#
 
echo "Module Loading .."
#/sbin/depmod -q
 
 
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ip_nat_ftp
#/sbin/modprobe -a -k -s -v ip_nat_h323
/sbin/modprobe ipt_REJECT
/sbin/modprobe ipt_MASQUERADE
 
#/sbin/modprobe ipt_owner
 
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc
 
echo "Done loading modules"
 
###########################################################################
#
# 3. /proc set up.
#
 
echo "enabling forwarding .."
echo "1" > /proc/sys/net/ipv4/ip_forward
 
#
# Dynamic IP users:
#
echo "enabling DynamicAddr .."
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
 
##################################################
 
#########################
# INPUT, FORWARD and OUTPUT chains.
#
 
echo "Set  policies."
$IPTABLES -F
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -t nat -F
 
#############################################################################
# Create separate chains
#############################################################################
 
$IPTABLES -N icmp_packets
$IPTABLES -N tcp_packets
$IPTABLES -N udpincoming_packets
$IPTABLES -N allowed
$IPTABLES -N bad_tcp_packets
 
$IPTABLES -N icmp_lan0
$IPTABLES -N tcp_lan0
$IPTABLES -N udp_lan0
 
$IPTABLES -N tcp_inet_lan
$IPTABLES -N tcp_lan_inet
$IPTABLES -N spoofing
 
 
####
# bad_tcp_packets chain
####
 
 
#$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn:"
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP
 
# Do some checks for obviously spoofed IP's
$IPTABLES -A spoofing -i $INET_IFACE -s 192.168.0.0/16 -j DROP
$IPTABLES -A spoofing -i $LAN_IFACE3 ! -s 192.168.103.0/24 -j DROP
$IPTABLES -A spoofing -s 10.0.0.0/8 -j DROP
$IPTABLES -A spoofing -s 172.16.0.0/12 -j DROP
 
 
####
# allowed rules
####
 
#$IPTABLES -A allowed -p TCP --syn -j ACCEPT
$IPTABLES -A allowed -p TCP -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A allowed -p TCP -j DROP
 
####
# icmp_packets rules
####
 
#$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT
#$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT
$IPTABLES -A icmp_packets -p ICMP -s 0/0 -j DROP
 
####
# tcp_packets rules
####
 
$IPTABLES -A tcp_packets -p TCP -s 0/0 --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT  #http
$IPTABLES -A tcp_packets -p TCP -j DROP
 
####
# udpincoming_packets rules
####
 
$IPTABLES -A udpincoming_packets -p UDP -s 0/0 --source-port 53 -j allowed  #dns
$IPTABLES -A udpincoming_packets -p UDP -s 0/0 -j DROP
 
####
# icmp_lan0
####
 
$IPTABLES -A icmp_lan0 -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT
$IPTABLES -A icmp_lan0 -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT
 
####
# udp_lan0
####
 
$IPTABLES -A udp_lan0 -p UDP --dport 53 -j ACCEPT  #dns
#$IPTABLES -A udp_lan0 -p UDP --dport 67 -j allowed  #dhcp
#$IPTABLES -A udp_lan0 -p UDP --dport 68 -j allowed  #dhcp
$IPTABLES -A udp_lan0 -p UDP -j DROP
 
####
# tcp_lan0
####
 
$IPTABLES -A tcp_lan0 -p TCP --dport 137 -j allowed  #samba
$IPTABLES -A tcp_lan0 -p TCP --dport 138 -j allowed  #samba
$IPTABLES -A tcp_lan0 -p TCP --dport 139 -j allowed  #samba
$IPTABLES -A tcp_lan0 -p TCP -j DROP
 
############################################################################
# INPUT chain
#
# Bad TCP packets we don't want.
############################################################################
$IPTABLES -A INPUT -p tcp -j spoofing
$IPTABLES -A INPUT -i $INET_IFACE -p tcp -j bad_tcp_packets
 
####
# Rules for incoming packets from the internet.
####
 
$IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets
$IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets
$IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udpincoming_packets
 
####
# Rules for special networks not part of the Internet
####
 
$IPTABLES -A INPUT -p udp -i $LAN_IFACE0 -j udp_lan0
$IPTABLES -A INPUT -p icmp -i $LAN_IFACE0 -j icmp_lan0
$IPTABLES -A INPUT -p tcp -i $LAN_IFACE0 -j tcp_lan0
 
#$IPTABLES -A INPUT -p ALL -i $LAN_IFACE0 -d $LAN_BCAST_ADRESS0 -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LO_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LAN_IP0 -j ACCEPT
 
 
 
#$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $INET_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LAN_IFACE0 -s $LAN_IP_RANGE -j ACCEPT
 
#$IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT INPUT packet died: "
$IPTABLES -A INPUT -p ALL -i $LAN_IFACE0 -d $LAN_BCAST_ADRESS0 -j ACCEPT
 
#############################################################################
# OUTPUT chain
#############################################################################
 
$IPTABLES -A OUTPUT -p udp -j ACCEPT
 
####
# Special OUTPUT rules to decide which IP's to allow.
####
 
$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -o $LAN_IFACE0 -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $INET_IP -j ACCEPT
 
####
# Log weird packets that don't match the above.
####
 
#$IPTABLES -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT OUTPUT packet died: "
 
#############################################################################
# POSTROUTING chain
#############################################################################
echo "Enabling NAT"
$IPTABLES -t nat -A POSTROUTING -s $LO_IP --o $INET_IFACE -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -s 192.168.100.0/24 --o $INET_IFACE -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -s 192.168.102.0/24 --o $INET_IFACE -j MASQUERADE
 
####
# forwarded rules
####
 
#lan vers inet
 
$IPTABLES -A tcp_lan_inet -p TCP --dport 80 -j allowed
$IPTABLES -A tcp_lan_inet -p TCP -j DROP
 
#inet vers lan
$IPTABLES -A tcp_inet_lan -p tcp ! --syn -m state --state NEW -j DROP
$IPTABLES -A tcp_inet_lan -p TCP --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A tcp_inet_lan -p TCP -j DROP
 
#bad tcp lan
 
####
# Accept the packets we actually want to forward
####
 
$IPTABLES -A FORWARD -p TCP -i $INET_IFACE -o $LAN_IFACE0 -j tcp_inet_lan
$IPTABLES -A FORWARD -p ICMP -i $LAN_IFACE0 -o $INET_IFACE -j DROP
$IPTABLES -A FORWARD -p TCP -i $LAN_IFACE0 -o $INET_IFACE -j tcp_lan_inet
 
$IPTABLES -A FORWARD -p TCP -i $INET_IFACE -o $LAN_IFACE2 -j tcp_inet_lan
$IPTABLES -A FORWARD -p ICMP -i $LAN_IFACE2 -o $INET_IFACE -j DROP
$IPTABLES -A FORWARD -p TCP -i $LAN_IFACE2 -o $INET_IFACE -j tcp_lan_inet
 
#$IPTABLES -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT FORWARD packet died: "
$IPTABLES -A FORWARD -j spoofing[cpp]


Message édité par bobor le 23-07-2002 à 18:52:39
n°128369
asphro
Posté le 23-07-2002 à 18:51:04  profilanswer
 

tres jolie script !!!!!!!!!!!!!!!

n°128371
djoh
Posté le 23-07-2002 à 18:52:58  profilanswer
 

asphro a écrit a écrit :

mais je comprend pas car j utilise pa siptable moi c pf sur openbsd
 
 
qu il y est de truc different pour accepte le packet ayant un flags syn !!!!
 
c un peu byzarre a mon gout non ?




 
 
je peux pas te dire, je viens d'apprendre l'existence de l'option --syn
c'est bizarre mais c'est peut-être par souci d'ergonomie http://forum.hardware.fr/images/perso/isa.gif[:jofusion]


Message édité par djoh le 23-07-2002 à 18:54:16
n°128372
Gaellick
Quoi ??? Noooonn !! Si !
Posté le 23-07-2002 à 18:53:03  profilanswer
 

Je comprends pas ta configuration la !
 
Merci Djoh :D


---------------
Qui cherche le soleil évite la pluie !
n°128375
bobor
tueur de n44b
Posté le 23-07-2002 à 18:54:33  profilanswer
 

oui mon copier-coller de linux ne voulait pas marcher. Il a fallu faire par petits bouts. Problème de mémoire ou de gnome??? Ce n'est pas la priorité de toute façon.

n°128379
asphro
Posté le 23-07-2002 à 18:59:00  profilanswer
 

djoh a écrit a écrit :

 
 
 
je peux pas te dire, je viens d'apprendre l'existence de l'option --syn
c'est bizarre mais c'est peut-être par souci d'ergonomie http://forum.hardware.fr/images/perso/isa.gif[:jofusion]




 
syn c logique mais  
 
-state -m stata NEW ca me semble zarb quand meme

n°128383
djoh
Posté le 23-07-2002 à 19:04:01  profilanswer
 

asphro a écrit a écrit :

 
 
syn c logique mais  
 
-state -m stata NEW ca me semble zarb quand meme




 
??
ben non, c'est ce que j'utilise
c'est plus facile à comprendre pour ceux qui ne connaisse pas les flag (syn ack rst ...). On peut connaitre un peu le fonctionnement d'un reseau, et monter un firewall, sans pour autant connaitre les flag (perso j'ai monté mon firewall avant de connaitre les flags) Et qq'un qui programme des sockets n'a pas forcément besoin de savoir ce que sont ces flags, vu que les fonctions dispo en C gère ça toute seule
 
EDIT : c'est pour ça que je parle d'ergonomie :p  
mais il y a peut-être une explication plus importante


Message édité par djoh le 23-07-2002 à 19:05:09
n°128386
bobor
tueur de n44b
Posté le 23-07-2002 à 19:10:11  profilanswer
 

par ailleurs, je trouve les liaisons internet beaucoup plus lentes. Est-ce iptables qui ralentit le bazar? Le servuer est un athlon 800 et 393Mo de RAM.
Ou est-ce le script iptables qui n'est pas optimisé?


---------------
Gitan des temps modernes
n°128389
djoh
Posté le 23-07-2002 à 19:16:39  profilanswer
 

bobor a écrit a écrit :

par ailleurs, je trouve les liaisons internet beaucoup plus lentes. Est-ce iptables qui ralentit le bazar? Le servuer est un athlon 800 et 393Mo de RAM.
Ou est-ce le script iptables qui n'est pas optimisé?




 
ben il est un peu bourrin ton script, mais vu ta machine, ça m'étonnerait que ça ralentisse quoique ce soit
 
c'est plus lent par rapport à quoi ?
a quel niveau est-ce plus lent ? ping, debit ?

n°128398
asphro
Posté le 23-07-2002 à 19:27:02  profilanswer
 

djoh c vrai ta raison pour l ergonomie !!!!
 
mais c parce que moi j ai apris avec pf donc...

n°128408
bobor
tueur de n44b
Posté le 23-07-2002 à 19:39:59  profilanswer
 

djoh a écrit a écrit :

 
 
ben il est un peu bourrin ton script, mais vu ta machine, ça m'étonnerait que ça ralentisse quoique ce soit
 
c'est plus lent par rapport à quoi ?
a quel niveau est-ce plus lent ? ping, debit ?




 
bah les pages mettent 3 heures à s'afficher. Lorsque je ping tf1.fr, j'ai un ping de 55 à 65ms. C'est bon ou pas?


---------------
Gitan des temps modernes
n°128433
djoh
Posté le 23-07-2002 à 20:09:46  profilanswer
 

bobor a écrit a écrit :

 
 
bah les pages mettent 3 heures à s'afficher. Lorsque je ping tf1.fr, j'ai un ping de 55 à 65ms. C'est bon ou pas?
 




 
lol
ouai dans ce cas c'est possible que ce soit ton script
je sais pas ce qu'il fait mais y-a des trucs un peu obscur qui doivent le faire attendre avant d'accepter (genre ton avant derniere ligne contre le flood qui accepte que 3 par minute, ça me parait louche, mais je connais que les bases. ce que tu as fait c'est trop compliqué pour moi (enfin j'ai pas envi de me pencher dessus :D )
essaie avec un script de base, et rajoute les truc les un après les autres
 
pour commencer, active le masquerading sans aucune regle de firewall, et regarde si ça rame toujours autant

n°128436
bobor
tueur de n44b
Posté le 23-07-2002 à 20:13:06  profilanswer
 

bon pour la rapidité, c'est réglé. Je m'étais planté (encore une fois  :D ) sur la remise à zéro des règles pendant mes tests. Maintenant j'utilise iptables-save et tout roule!
 
Mais cela ne règle pas mon problème de DHCP. Je ne comprends pas que la station sur eth0 puisse parfaitement configurer sa carte réseau en DHCP alors que je n'ai pas ouvert le port.
A contrario, je n'accède pas au serveur samba alors que j'ai ouvert les ports. Le serveur apparait bien dans le voisinnage réseau mais impossible d'y accéder car les ressources réseaux ne sont pas autorisées...
 
Script un peu bourrin. Sûrement mais à quel niveau? Il est structuré de manière à configuré simplement les différents acces réseaux. Où puis-je l'améliorer?

n°128440
bobor
tueur de n44b
Posté le 23-07-2002 à 20:15:28  profilanswer
 

djoh a écrit a écrit :

 
 
lol
ouai dans ce cas c'est possible que ce soit ton script
je sais pas ce qu'il fait mais y-a des trucs un peu obscur qui doivent le faire attendre avant d'accepter (genre ton avant derniere ligne contre le flood qui accepte que 3 par minute, ça me parait louche, mais je connais que les bases. ce que tu as fait c'est trop compliqué pour moi (enfin j'ai pas envi de me pencher dessus :D )
essaie avec un script de base, et rajoute les truc les un après les autres
 
pour commencer, active le masquerading sans aucune regle de firewall, et regarde si ça rame toujours autant




:non:
Penche toi quand même dessus, je suis sûr que tu as plein de choses à apprendre encore  :D   et ce script est un très bon TP  :ange:

n°128446
bobor
tueur de n44b
Posté le 23-07-2002 à 20:18:14  profilanswer
 

Et pour l'anecdocte, lorsque j'ai fait mon iptables-save, je me suis planté (et oui encore une fois  :pt1cable: ) lors de la sauvegarde de mon script et je l'ai perdu.... :gun:  
Heureusement qe je l'avais posté sur le forum  [:xfalken]

n°128551
bobor
tueur de n44b
Posté le 24-07-2002 à 00:16:55  profilanswer
 

Pour Samba, problème réglé: 139 en tcp et 137 en udp.
 
Pour le dhcp, je ne comprends toujours pas. Qq'un a-t-il essayé sur son firewall?
 
Par ailleurs, j'ai qq chose de bizarre sur le pop. J'ai ouvert mon port pop (110) sur l'interface eth0 vers le serveur. Cela fonctionne mais outlook met un certain temps pour faire un "send/receive". Aucune erreur est signalée, les messages sont bien reçus mais avant la mise en place du firewall cela se faisait en moins d'une seconde.

n°128838
bobor
tueur de n44b
Posté le 24-07-2002 à 15:42:34  profilanswer
 

:bounce:  
 
aidez moi svp. Pourquoi DHCP fonctionne?

n°128851
Zzozo
Modérateur
Un peu, passionément, à la fol
Posté le 24-07-2002 à 15:59:24  profilanswer
 

bobor a écrit a écrit :

 :bounce:  
 
aidez moi svp. Pourquoi DHCP fonctionne?




T'es sur qu'un NetMask de 16 bits cé bon pour un réseau de classe C (192.168.x.x) ? perso j'aurais plutot mis 24 bits ... à moins qu'on puisse m'expliquer auquel cas je suis preneur ... ;)


---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
n°128856
Zzozo
Modérateur
Un peu, passionément, à la fol
Posté le 24-07-2002 à 16:02:45  profilanswer
 

la règle :
$IPTABLES -A spoofing -i $INET_IFACE -s 192.168.0.0/16 -j DROP
 
est-elle vraiment utile ?
 
EDIT : j'aurais plutot remplacé par :
$IPTABLES -A spoofing -i $INET_IFACE -s 192.168.100.0/24 -j DROP
$IPTABLES -A spoofing -i $INET_IFACE -s 192.168.101.0/24 -j DROP
$IPTABLES -A spoofing -i $INET_IFACE -s 192.168.102.0/24 -j DROP
$IPTABLES -A spoofing -i $INET_IFACE -s 192.168.103.0/24 -j DROP
 
et tu gardes
$IPTABLES -A spoofing -i $LAN_IFACE3 ! -s 192.168.103.0/24 -j DROP
 


Message édité par Zzozo le 24-07-2002 à 16:28:35

---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
n°128865
Zzozo
Modérateur
Un peu, passionément, à la fol
Posté le 24-07-2002 à 16:08:58  profilanswer
 

et tu peux même virer les lignes :
$IPTABLES -A spoofing -s 10.0.0.0/8 -j DROP
$IPTABLES -A spoofing -s 172.16.0.0/12 -j DROP
 
Vu la config IP de ton réseau tu prends pas trop de risque en les virant à mon humble avis


---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
n°128964
bobor
tueur de n44b
Posté le 24-07-2002 à 18:14:39  profilanswer
 

oui je sais c'est ceinture et bretelles  :D  
 
Sinon, je pense que cela a un interêt, car qq'un qui essaie de faire du spoofing sera directement droppé.En effet, même si qq'un essaie de tromper mon serveur avec une adresse non reconnue par le serveur, il n'en est pas moins indésirable et donc droppé. Maintenant, peut-être que je me trompe. Je reste assez modeste, car c'est mon premier script iptables, je ne suis pas inofrmaticien de formation, et cela fait 2 ans que j'avais pas touché à linux (j'ai commencé en 95).
 
Puisque tu t'interesses à mon script, et je t'en remercie, sais tu pourquoi j'ai toujours la fonctionnalité dhcp alors que je n'ai pas encore ouvert les ports???

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  explication sur une règle iptables

 

Sujets relatifs
pb iptables et nat[iptables] infos sur -j LOG
IPTABLES NETFILTER, ok ! mais vous utilisez quoi pour gerer les reglesRègles iptables : Votre avis please :D
iptablesPengAOL + iptables, ça peux marcher ?
Newbie sur iptables and co...Iptables : activer le forward d'un port vers ma machine windows.
Fichier des règles iptables / MDK 8.2[ IPTABLES ] J'ai pas bien compris ce que faisait l'option -P ?
Plus de sujets relatifs à : explication sur une règle iptables


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR