petite incompréhension iptable

Forum traitant de la distribution sécurisée montante nommée IP cop et basée sur la distribution Smoothwall. C'est à l'heure actuelle le forum le plus actif du site.

Modérateur: modos Ixus

petite incompréhension iptable

Messagepar cheyrek » 16 Août 2004 23:08

bonsoir,

comme je n'ai pas réussi à résoudre mon problème avec squid ( cf post squid.conf )
pour rappel je souhaite couper l'acces au net à une ip de telle à heure,

j'ai donc décider de mettre une régle ds mon rc.firewall.local et de lancer un cron aux heures désirées.
( grande découverte pour moi ! )

voici mon fichier rc..firewall.local

#!/bin/sh
# Used for private firewall rules

# See how we were called.
case "$1" in
start)
## restriction de cette ip au net
/sbin/iptables -I FORWARD -s 192.168.10.8 -j DROP
;;
stop)
## redémarrage de l'ip
/sbin/iptables -I FORWARD -s 192.168.10.8 -j ACCEPT
;;
esac

j'ai trouvé cette règle sur le site d'antolien donc je pense pas trop de souci de ce coté.


mon cron : ( /var/spool/cron/root.orig )

voila ce que j'ai rajouté à la fin du texte

#deco ip
00 21 * * * /etc/rc.d/rc.firewall.local start

#reco ip
00 07 * * * /etc/rc.d/rc.firewall.local stop

je test donc un ping sur la machine en question vers google, et la, "delai de demande dépassée"
plutot bonne nouvelle, de plus, impossible de se connecter à msn.

je pensais avoir tt réussi, mais chose incompréhensible, je ne peux pinger aucun site depuis cette ip, par contre j'arrive à m'y connecter depuis IE. ( par ailleurs, tout fonctionne parfaitement sur les autres postes clients )

aurais je oublié qq chose, fais un erreur, ou alors pas compris un procédé ?

merci bcp

cheyrek
cheyrek
Quartier Maître
Quartier Maître
 
Messages: 22
Inscrit le: 23 Juil 2004 17:05

Messagepar tomtom » 17 Août 2004 11:34

Bah oui, car en utilisant ie tu passes par le proxy, et donc c'est bien dans les règles de squid qu'il faut agir.
Je n'ai pas eu le temps de lire ton autre post, mais il existe des moyens de controler les acces par horraire via des access-list !

t.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar golodh » 17 Août 2004 12:09

Bonjour,

Pour squid :

il suffit de définir l'acl :

acl poste_limite src 198.168.XX.YY

et ensuite de limiter sa plage de temps :

acl poste_limite time [day-abbrevs] [h1:m1-h2:m2]
# day-abbrevs:
# S - Sunday
# M - Monday
# T - Tuesday
# W - Wednesday
# H - Thursday
# F - Friday
# A - Saturday
# h1:m1 must be less than h2:m2

Bonne conf....
A+
gld.
Avatar de l’utilisateur
golodh
Premier-Maître
Premier-Maître
 
Messages: 55
Inscrit le: 14 Jan 2004 01:00

Messagepar cheyrek » 17 Août 2004 12:35

ok donc il faut que je mette les 2 ? iptable + les acl de suid ???

bon je vais test ça alors :)

sinon mes autres configs etaient corrects ?? ( iptables et cron )
cheyrek
Quartier Maître
Quartier Maître
 
Messages: 22
Inscrit le: 23 Juil 2004 17:05

Messagepar tomtom » 17 Août 2004 12:38

squid suffit !

Tu dois bien comprendre qu'un hote qui se connecte via ie ne traversera jamais la chaine forward, puisque la demande est traitee par le proxy (table input plutot !)

Ce genre de config doit se faire au niveau du proxy !

t.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar cheyrek » 17 Août 2004 13:28

ok, mais le client en question ne va pas seulement utiliser IE ( et donc squid ) il va utiliser tt les trucs imaginables, p2P, mail, msn, internet.

donc si j'ai bien compris, juste faire le filtrage squid suffira pour couper le web, mais pas le reste.

je veux que ce client n'est absolument aucun contact avec l'exterieur du lan pdt un temps donné.

n'est il pas possible d ecrire une regle pour lui interdire l acces a red ?
cheyrek
Quartier Maître
Quartier Maître
 
Messages: 22
Inscrit le: 23 Juil 2004 17:05

Messagepar tomtom » 17 Août 2004 14:26

iptables -t nat -I PREROUTING -s 192.168.xx.yy -j DROP


t.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar cheyrek » 17 Août 2004 19:27

ok merci bcp, je vais tenter avec ça alors :)
cheyrek
Quartier Maître
Quartier Maître
 
Messages: 22
Inscrit le: 23 Juil 2004 17:05

Messagepar cheyrek » 18 Août 2004 22:41

tomtom merci pour la regle iptable

now c est plus clair et qd je lance

/etc/rc.d/rc.firewall.local start

ça fait exactement ce que je desire et pareil qd je lance la commande stop :)

par contre gros souci qui m embette depuis des heures : le cron

j'ai lu le site de fcron et les différents post et rien ne m a choqqué ds ma config

#deco
25 22 * * * /etc/rc.d/rc.firewall.local start

#reco
00 07 * * * /etc/rc.d/rc.firewall.local stop

j ai essayé en le mettant avec VI en faisant fcrontab -e et j'ai mm testé avec winscp en edit de texte /var/spool/cron/root.orig

j ai reboot et tt...

la je comprends vraiment pas mais surement que qqu va voir le truc tt simple que je n ai pas vu ( car j ai vraiment 0 base en linux )

merci

cheyrek
cheyrek
Quartier Maître
Quartier Maître
 
Messages: 22
Inscrit le: 23 Juil 2004 17:05

Messagepar golodh » 18 Août 2004 23:09

Si c'est un truc simple ...

T'as vérifié si le service fcron était bien lancé ? ( [-X il ne faut pas :lol: c'est déjà arrivé ...)

A+
gld
Avatar de l’utilisateur
golodh
Premier-Maître
Premier-Maître
 
Messages: 55
Inscrit le: 14 Jan 2004 01:00

Messagepar Franck78 » 18 Août 2004 23:16

Salut
D'abord une erreur de conception dans ton algo d'autorisation.

Tu raisonnes comme si IPTABLES était un genre de bascule. C'est faut, il conserve toutes les règles que tu inséres.
Dans dix jours tu auras 10 fois tes lignes accept puis drop... !

La bonne solution est d'ajouter la règle pour interdire puis d'enlever cette même règle quand il faut. (car un plus ca ne marche pas: la première règle matchée est exécutée !)


Pour ton cron:

Est-ce que le demon cron tourne au moins. C'est pas le tout d'avoir le fichier, faut le programme !

Si il tourne et que ta commande ne s'effectue pas:

Il doit manquer quelques variables essentielles ! Publies "tout" ton fichier cron!
Franck
L'art de poser une question sur ce site afin d'obtenir la réponse
A LIRE
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Messagepar cheyrek » 18 Août 2004 23:34

pour le cron, je te reponds de suite,

j ai fcron qui est lancé qd je fais un ps -A donc je suppose qu il est bien en cours.

voici comme tu le demandes le fichier cron :


# $Id: crontab,v 1.9 2004/02/27 07:43:44 riddles Exp $
#
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# Log rotation
01 * * * * /usr/sbin/logrotate /etc/logrotate.conf

# Backup logs to flashdisk
01 * * * * [ -f "/etc/FLASH" ] && /etc/rc.d/rc.flash.down

# Set time
*/5 * * * * /usr/local/bin/timecheck > /dev/null 2>&1

# Summarize ip accounting info:
2 1 * * * /usr/sbin/ipacsum -r -t "the day 2 days ago" >/dev/null
3 1 * * 0 /usr/sbin/ipacsum -r -t "the week 4 weeks ago" >/dev/null
4 1 1 2 * /usr/sbin/ipacsum -r -t "the year 2 years ago" >/dev/null

# Make some nice graphs
*/5 * * * * /usr/local/bin/makegraphs >/dev/null

# Update the dynamic dns registration once a week
*/5 * * * * [ -f "/var/ipcop/red/active" ] && /usr/local/bin/setddns.pl >/var/log/dynupdate.log 2>&1
9 2 * * 0 [ -f "/var/ipcop/red/active" ] && /usr/local/bin/setddns.pl -f >/var/log/dynupdate.log 2>&1

# Logwatch
01 0 * * * /usr/local/bin/logwatch > /var/log/logwatch/`date -I -d yesterday`; \
LOGWATCH_KEEP=$(sed -ne 's/^LOGWATCH_KEEP=\([0-9]\+\)$/\1/p' /var/ipcop/logging/settings); \
find /var/log/logwatch/ -ctime +${LOGWATCH_KEEP=56} -exec rm -f '{}' ';'

#deco
25 22 * * * /etc/rc.d/rc.firewall.local start

#reco
00 07 * * * /etc/rc.d/rc.firewall.local stop


par contre j avoue que je n ai pas tt compris a mon prob de conception iptable, je pensais que ce que je mettais ds rc.firewall.local ne restait qu a cet endroit. j essaierai de me documenter d'avantage.
mais j avoue que cette partie reste floue pour moi :(

merci encore
cheyrek
Quartier Maître
Quartier Maître
 
Messages: 22
Inscrit le: 23 Juil 2004 17:05

Messagepar Franck78 » 19 Août 2004 00:49

Fais
#iptables -L

et tu comprendras !

J'avais zappé le Ipcop. Dans le cron est bon. Sauf que tu dois pas
l'éditer comme il faut.

fcrontab -e
(sur beta 6)

Pour qu'il soit "recompiler" après.
Franck
L'art de poser une question sur ce site afin d'obtenir la réponse
A LIRE
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Messagepar cheyrek » 21 Août 2004 11:38

bon le cron fonctionne à merveille :) et la tache que je desire est executée comme il faut. toutefois, lorsque que je fais ce que tu m as conseillé ( iptables -L ) je ne suis pas sure de vraiment comprendre le msg que tu voulais me faire passer.

je pense que je vais relire tte la doc sur iptable que j ai pour essayer de comprendre mon probleme :s

merci encore

cheyrek
cheyrek
Quartier Maître
Quartier Maître
 
Messages: 22
Inscrit le: 23 Juil 2004 17:05

Messagepar Franck78 » 21 Août 2004 12:11

En fait ca marche parceque tu fais des "INSERT". La dernière règle insérée est exécutée. N'empêche que c'est mauvais.

A bout de la dixième exécution de séquence START/STOP tu auras inséré dans le kernel


/sbin/iptables -I FORWARD -s 192.168.10.8 -j DROP
/sbin/iptables -I FORWARD -s 192.168.10.8 -j ACCEPT
/sbin/iptables -I FORWARD -s 192.168.10.8 -j DROP
/sbin/iptables -I FORWARD -s 192.168.10.8 -j ACCEPT
/sbin/iptables -I FORWARD -s 192.168.10.8 -j DROP
/sbin/iptables -I FORWARD -s 192.168.10.8 -j ACCEPT
/sbin/iptables -I FORWARD -s 192.168.10.8 -j DROP
/sbin/iptables -I FORWARD -s 192.168.10.8 -j ACCEPT
/sbin/iptables -I FORWARD -s 192.168.10.8 -j DROP
/sbin/iptables -I FORWARD -s 192.168.10.8 -j ACCEPT

!
C'a appelle du codage pourri. Ca marche un certain temps, jusqu'a épuisement des ressources. C'est pas toi que je vise partuculièrement, mais ton exemple est parfait !

En fait il ne devrait jamais y avoir la ligne ACCCEPT.
Si le mec à le droit de naviguer, ca ne l'empèche pas de se conformer au règles générales. Et la pour lui c'est tout ou rien. Deuxième bug !

Salut
Franck
L'art de poser une question sur ce site afin d'obtenir la réponse
A LIRE
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Suivant

Retour vers IPCop

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité

cron