Forum Linux.debian/ubuntu serveur debian

Posté par  .
Étiquettes :
0
25
août
2007
Je m'excuse d'avance mais je n'ai pas trouvé un article pour l'instant correspondant a ma requete:
Voila mon pb:
j'ai trois pc .
pc1 serveur debian avec deux cartes reseau:
etho adresse static 192.168.0.1 (avec un service dhcp pour mon reseau privé)
jusque la rien de spécial mes deux pc2 et pc3 ont une adresse ,avec broadcast etc....RAS
ensuite eth1 adresse statics 192.168.30.11
Maintenant j'applique iptables.
#!/bin/sh
echo 0 /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -X
#regle par defaut
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
#j'accepte les connection sur loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
#j'accepte mes connection sortantes et entrantes vers eth1
#sur le serveur tous va bien via lynx
iptables -A INPUT -p tcp -m multiport --sport 80,53 -i eth1 -j ACCEPT
iptables -A INPUT -p udp -m multiport --sport 80,53 -i eth1 -j ACCEPT
iptables -A OUTPUT -p tcp -m multiport --dport 80,53 -o eth1 -j ACCEPT
iptables -A OUTPUT -p udp -m multiport --dport 80,53 -o eth1 -j ACCEPT
#je masque le tous vers eth1 qui reprends l'adresse publique du routeur
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
#bon c'est ici que ca va pas
iptables - A FORWARD -p all -i eth1 -o eth0 -j ACCEPT
iptables - A FORWARD -p all -i eth0 -o eth1 -j ACCEPT
#en activant iptables la tous le reseau local passe a travers (normal #on vas me dire ) alors je ne sais pas
#pour l'instant rediriger mes conections sortantes et entrantes vers #eth1 car actuellement mon reseau privé prend
#comme dns mon ip passerelle de mon routeur!!
echo 1 /proc/sys/net/ipv4/ip_forward

je pensais que vu que sur eth1 j'ai appliqué une regle qui autorise uniquement les connections par le 80 et 53 mon reseau local faisait de meme ,et ben non c'est la fete msn ,ftp ,irc etc.... aucun filtre.
apres je voudrais bloqué aussi l'acces a mon routeur justement de mon reseau local.
j'avance tous doucement.
  • # re

    Posté par  . Évalué à 1.

    si je comprends bien, tu souhaites restreindre les accès depuis ton réseau local. Dans ce cas, il faut que tu modules tes regles sur la cible FORWARD (en supprimant le -p all)
  • # logique

    Posté par  . Évalué à 1.

    tu fais un tas de regle avant

    dans l'ordre
    - je drop tout

    iptables -P INPUT DROP
    iptables -P FORWARD DROP
    iptables -P OUTPUT DROP

    - j'accepte les 80 et 53 en entrant et sortant

    iptables -A INPUT -p tcp -m multiport --sport 80,53 -i eth1 -j ACCEPT
    iptables -A INPUT -p udp -m multiport --sport 80,53 -i eth1 -j ACCEPT
    iptables -A OUTPUT -p tcp -m multiport --dport 80,53 -o eth1 -j ACCEPT
    iptables -A OUTPUT -p udp -m multiport --dport 80,53 -o eth1 -j ACCEPT


    - je masquerade mon LAN

    iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE


    - j'ouvre tout le trafic entre mes 2 cartes reseaux, sur tous les ports

    iptables - A FORWARD -p all -i eth1 -o eth0 -j ACCEPT
    iptables - A FORWARD -p all -i eth0 -o eth1 -j ACCEPT
    • [^] # Re: logique

      Posté par  . Évalué à 1.

      pas bien compris la?
      • [^] # Re: logique

        Posté par  . Évalué à 1.

        dans les 2 dernieres tu dis à iptables de laisser passer TOUS le trafic sur TOUS les PORTS

        donc forcement il ne bloque rien...
        • [^] # Re: logique

          Posté par  . Évalué à 1.

          c'est clair qu'il ne bloque rien j'ai enlever les options -p all ,bon pour pour l'instant ca passe encore a travers ralalala jsuis complètement paumé,alors si je drop ca fonctione pas normal aussi,a moin que j'autorise les port 80 et 53 entre eth0 et eth1 hhhm je vais voir ca...
          • [^] # Re: logique

            Posté par  (site web personnel) . Évalué à 2.

            le FROWARD est totalement indépandant de INPUT et OUTPUT
            INPUT (entrée) = ce qui rentre dans la machine
            OUTPUT (sortie) = ce qui sort de la machine
            FORWARD (renvoi) = ce qui traverse la machine

            Si tu veux regler la connexion des machines sur ton réseau local vers internet, c'est FORWARD (renvoi) qu'il faut reglé.
            Si tu as un serveur HTTP sur ta machine et que tu veux qu'il soit accessible, faut ouvrir le port 80 en destination dans INPUT (entrée)
            et si tu veux pouvoir lancer un wget ou firefox pour surfer depuis ton serveur, c'est le port 80 en destination en OUTPUT (sortie) qu'il faut ouvrir.

            Y a un site qui explique tres tres bien tout ça: http://christian.caleca.free.fr/netfilter/

            de plus, tu dois taper:
            echo 1 > /proc/sys/net/ipv4/ip_forward
            avec le signe >
            on affiche (echo) la valeur 1 dans (>) le fichier /proc/sys/net/ipv4/ip_forward
            • [^] # Re: logique

              Posté par  . Évalué à 1.

              donc on reviens bien a forwardé eth0 et eth1 mais les regles elle s'applique ou? puisque forward est independant de input et output?
              j'ai essayer de mettre les interfaces avec les ip en plus des -s et -d mais bon .....ca rame.. jsuis sur qu'en bidouillant ca je vais arriver a quelques chose....,je vais reverifier mes fichiers interfaces et ok pour >.
              merci
              Ps:courage.
              • [^] # Re: logique

                Posté par  . Évalué à 1.

                pour une meilleure lecture :

                mettre des variables au debut du script
                # interface connectée à internet
                INET = eth0
                # interface connectée au LAN
                ILAN = eth1

                je jouerais avec les regles de forward et les ports

                genre

                - je bloque tous les forwards sur les 2 cartes

                iptables - A FORWARD -p all -i $ILAN -o $INET -j DROP
                iptables - A FORWARD -p all -i $INET -o $ILAN -j DROP


                - ensuite j'ouvre uniquement le DNS (53) et le WEB (80) depuis le LAN vers le NET, pas besoin de forcer le retour

                iptables - A FORWARD -p all -dport 53 -i $ILAN -o $INET -j DROP

                iptables - A FORWARD -p all -dport 80 -i $ILAN -o $INET -j DROP


                - enfin, j'active le masquerading

                iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

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


                et pour memoire sur l'ordre des regles, il me semble qu'en general on a les regles suivantes :

                #
                # PREROUTING -> INPUT -> POSTROUTING
                #
                # PREROUTING -> FORWARD -> POSTROUTING
                #
                # OUTPUT -> POSTROUTING
                • [^] # Re: logique

                  Posté par  . Évalué à 1.

                  euh c'est pas accept pour drop si tu veux laissé les port 53 et 80 vers $INET ?
                  • [^] # Re: logique

                    Posté par  . Évalué à 1.

                    oui oui
                    un mauvais copier/coller

                    avec la correction ca donne :

                    - ensuite j'ouvre uniquement le DNS (53) et le WEB (80) depuis le LAN vers le NET, pas besoin de forcer le retour

                    iptables - A FORWARD -p all -dport 53 -i $ILAN -o $INET -j ACCEPT
                    iptables - A FORWARD -p all -dport 80 -i $ILAN -o $INET -j ACCEPT
                • [^] # Re: logique

                  Posté par  . Évalué à 1.

                  euh c'est pas accept pour drop si tu veux laissé les port 53 et 80 vers $INET ?
                  • [^] # Re: logique

                    Posté par  . Évalué à 1.

                    dsl ....
                    • [^] # Re: logique

                      Posté par  . Évalué à 1.

                      un petit up.
                      je n'ai toujouirs pas trouver comment bloquer tous mes ports et laisser les port 80, 53, sur mon reseau privé ,malgrer post, je cherche.................
                    • [^] # Re: logique

                      Posté par  . Évalué à 1.

                      meme avec les variables je n'arrive toujours pas a bloquer mes ports puis de les ouvrir au fur et a mesure concernant mon reseau privé je cherche
                      • [^] # Re: logique

                        Posté par  . Évalué à 1.

                        jai choisi apres avoir fais le tour d'iptables , firestarter (en GUI) , il me fait ce que je veux bloquer, le traffic sur certains port , je decide de qui va ou, et en plus il me donne un fichier de connections exactement ce que je cherchais voila merci bien

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.