Voici tout mon IPTABLES et SQUID.CONF HELP

Fermé
lord_cain - 28 févr. 2002 à 11:48
 lord_cain - 4 mars 2002 à 15:15
bon là je désespère ni mon firewall ni mon proxy ne fonctionne donc pour commencer je mets ci-dessous TOUT ce que g tapé dans iptables avec les objectifs, et ensuite TOUT le squid.conf SVP dites moi où ça merde je suis au bord de la dépression ! Parce que déjà quand j'active iptables, de ce poste-ci je ne peux plus me conecter au net, et aucun ping ne passe de moi vers autre ou inversement et ya aussi le prob que les autres postes du réseau en mettant mon poste en tant que proxy ne peuvent pas se connecter au net ARGGGGGG

détails importants : ce poste a 2 cartes réseau, une branchée au net et l'autre au réseau

voici l'iptables :

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 1433 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 21 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 110 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 23 -j ACCEPT

et maitenant les objectifs que veut mon tuteur :

_du net on doit pouvoir se connecter sur leur serveur web (port 80) où ya leur site
_du net on doit pouvoir se connecter à leur base de données (port 1433)
_de l'"intérieur" on doit pouvoir surfer sur le net
_de l'"intérieur" on doit pouvoir faire du ftp (port 21)
_de l'"intérieur" on doit pouvoir utiliser pop (port 110)
_de l'"intérieur" on doit pouvoir utiliser smtp (port25)
_de l'"intérieur" on doit pouvoir utiliser telnet (port23)
_ on doit pouvoir continuer à faire des pings au sein du réseau

et voici le squid.conf :

#port sur lequel le proxy écoute les clients Web
http_port 3128

#port sur lequel le proxy va dialoguer avec les autres proxy du réseau
icp_port 3130

#ne pas utiliser le cache pour ? et .cgi
hierarchy_stoplist cgi-bin ? .cgi

#mémoire RAM allouée au proxy
cache_mem 12 MB

#taille maximale des fichiers qui seront enregistrés dans le cache
maximum_object_size 4096 KB

#répertoire dans lequel seront stockés les fichiers enregistrés.
#dans cet exemple, la taille maximale de ce répertoire sera de 1Go - il y aura 16 sous divisions dans /var/spool/squid - et il y aura 256 divisions dans ces 16 sous divisions
cache_dir ufs /var/spool/squid 1000 16 256
#cache_dir ufs /var2/spool/squid 1500 16 256

#fichiers de log nécessaires pour contrôler le fonctionnement du cache
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
cache_swap_log /var/log/squid/swap.log


#localisation de la table MIME de squid
mime_table /etc/squid/mime.conf

#informations relatives au processus
pid_filename /var/run/squid.pid
debug_options ALL,1

#listes d'accès
acl allowed_hosts src 192.168.1.0/255.255.255.0
acl localhost src 127.0.0.1/255.255.255.255
acl manager proto cache_object
acl all src 0.0.0.0/0.0.0.0
acl SSL_ports port 443 563
acl safe_ports port 80 21 23 25 70 110 210 443 563 1025-65535
acl CONNECT method CONNECT
acl exclus url_regex "/etc/squid/exclus.txt"


#autorisation/interdiction des listes définies
http_access allow manager localhost
http_access allow manager allowed_hosts
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny exclus
http_access deny !allowed_hosts


#email du manager du cache
cache_mgr root

#nom (virtuel) du cache
visible_hostname www.NOM DE L'ENTREPRISE.fr

#rotation des fichiers log
logfile_rotate 4


#pour exclure du cache l'intranet (local)
#acl web-local dstdomain monlycee.fr
#always_direct allow web-local

voilà exactement les objectifs et exactement ce que g tapé dans iptables et le fichier squid.conf tel quel et là je vois vraiment pas ce qui ne marche pas., déjà que on a à peine survolé Linux en cours je ne cesse d'être bloqué... AIDEZ MOI SVP ça fait déjà 2 semaines que je suis sur ce firewall/proxy alors que je suis sur que quelqu'un de compétent fait ça en 1h...

Merci d'avance

16 réponses

Deja le probleme evident c'est que tu a un proxy qui tourne sur le port 3128, et ton firewall n'autorise aucune connexion sur ce port.

tu devrais decouper ton probleme en deux : faire fonctionner ton proxy, et a priori avec cette config ca doit marcher ( ne pas oublier d'initialiser le cache avec un squid -z ). pour tes tests le firewall doit autoriser tout en entree et sortie.

Et ensuite une fois que ton proxy marche, tu parametre ton firewall. Et la il te manque un tas de filtres ( bizarre le fait d'autoriser la connexion a une base depuis le net )

fodrait monter ton script iptables pas a pas.
mais ce qu'il fo savoir c'est si tes services web ( apache, pop3, smtp ) tournent en local sur ton firewall ?
0
Merci, donc d'après toi si g bien compris je désactive le firewall (service iptables stop) et j'essaie de faire marcher le proxy et une fois celu-ci ok je repasse à iptables ok ?
et le proxy après avoir fait service squid start je fais squid -z et tout ça en étant sous root, ensuite c censé fonctionner ?
0
c'est un squid -z avant le squid start.
sans le squid -z ton arbo du cache est inexistante.

pour etre sur que ton firewall est inactif tu fais un :

iptables -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT

apres voit si ca fonctionne avec un client x ou y.
0
bon g fait dans /etc/rc.d/init.d/squid -z puis squid start mais quand g regardé dans drakxconf il était psa démarré alors je l'ai démaré manuellement mais en prenant un autre poste du réseau en lui mettant comme proxy ce poste ça ne marche pas...
0
/usr/sbin/squid -z
/etc/rc.d/init.d/squid start

c'est quoi l'erreur au demarrage ( tail /var/log/messages ) ?

( par tes reponses je te sens un peu stresse par ce probleme. )
0
non non pas stressé, d'ailleurs grâce à toi je progresse petit à petit, donc maitenant g mis au début de squid.conf port 80 pour le port que squid écoute et donc quand d'un auter poste je comme proxy le mien le sitene vient, il est interdit mais au moins dans access.log ya le site qui s'ajoute.
mes derniers messages en date dans /var/logmessages sont :

Feb 28 14:09:00 fireprox CROND[4210]: (root) CMD ( /usr/share/msec/promisc_check.sh)
Feb 28 14:10:00 fireprox CROND[4219]: (root) CMD ( /usr/share/msec/promisc_check.sh)
Feb 28 14:10:00 fireprox CROND[4220]: (root) CMD ( /sbin/rmmod -as)
Feb 28 14:11:00 fireprox CROND[4225]: (root) CMD ( /usr/share/msec/promisc_check.sh)
Feb 28 14:12:00 fireprox CROND[4230]: (root) CMD ( /usr/share/msec/promisc_check.sh)
Feb 28 14:13:00 fireprox CROND[4236]: (root) CMD ( /usr/share/msec/promisc_check.sh)
Feb 28 14:14:00 fireprox CROND[4244]: (root) CMD ( /usr/share/msec/promisc_check.sh)
Feb 28 14:15:00 fireprox CROND[4251]: (root) CMD ( /usr/share/msec/promisc_check.sh)
Feb 28 14:16:00 fireprox CROND[4262]: (root) CMD ( /usr/share/msec/promisc_check.sh)
Feb 28 14:17:00 fireprox CROND[4267]: (root) CMD ( /usr/share/msec/promisc_check.sh)
Feb 28 14:18:00 fireprox CROND[4273]: (root) CMD ( /usr/share/msec/promisc_check.sh)
Feb 28 14:19:00 fireprox CROND[4281]: (root) CMD ( /usr/share/msec/promisc_check.sh)
Feb 28 14:20:00 fireprox CROND[4288]: (root) CMD ( /usr/share/msec/promisc_check.sh)
Feb 28 14:20:00 fireprox CROND[4289]: (root) CMD ( /sbin/rmmod -as)
Feb 28 14:21:01 fireprox CROND[4295]: (root) CMD ( /usr/share/msec/promisc_check.sh)
Feb 28 14:22:00 fireprox CROND[4301]: (root) CMD ( /usr/share/msec/promisc_check.sh)
Feb 28 14:23:00 fireprox CROND[4306]: (root) CMD ( /usr/share/msec/promisc_check.sh)
Feb 28 14:24:00 fireprox CROND[4314]: (root) CMD ( /usr/share/msec/promisc_check.sh)
Feb 28 14:25:00 fireprox CROND[4322]: (root) CMD ( /usr/share/msec/promisc_check.sh)
Feb 28 14:25:41 fireprox squid[4114]: Squid Parent: child process 4115 exited with status 0
Feb 28 14:25:47 fireprox squid[4383]: Squid Parent: child process 4384 started
Feb 28 14:26:00 fireprox CROND[4387]: (root) CMD ( /usr/share/msec/promisc_check.sh)
Feb 28 14:27:01 fireprox CROND[4396]: (root) CMD ( /usr/share/msec/promisc_check.sh)
Feb 28 14:28:00 fireprox CROND[4404]: (root) CMD ( /usr/share/msec/promisc_check.sh)
Feb 28 14:29:00 fireprox CROND[4409]: (root) CMD ( /usr/share/msec/promisc_check.sh)
Feb 28 14:30:00 fireprox CROND[4419]: (root) CMD ( /usr/share/msec/promisc_check.sh)
Feb 28 14:30:00 fireprox CROND[4420]: (root) CMD ( /sbin/rmmod -as)
Feb 28 14:31:00 fireprox CROND[4431]: (root) CMD ( /usr/share/msec/promisc_check.sh)

Merci de m'aider
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ok, si ta requete apparait dans les logs c'est presque bon.

J'ai pas bien compris ton dernier message, tu a un retour de page html qui te dis que tu n'a pas le droit d'acceder au proxy ?

Si tu a un soucis dans le temps de reponse ( ou dans le cas de pas de reponse du tout ) peut venir d'un dns trop long ou mal parametre. ( verifie le contenu de /etc/resolv.conf ) tu doit y retrouver le ou les ips dns.

au fait passe icp_port a 0, si tu ne monte pas plusieurs caches.
0
au fait renvoie les derniere lignes du fichier de log.

tail /var/log/squid/access.log

tu devrais avoir des TCP_DENIED dedans.
0
YOUPI en rajoutant dans squid.conf http_access allow all mon proxy fonctionne enfin !!!!!!!!!!!!!!!!! évidamment c pas terrible coté sécurité mais je vais laisser cette ligne et je vais protéger tout ça dans le firewall en bloquant les entrées de l'extérieur t'en penses quoi ?
0
j'en pense que ton probleme est la :

remplace les lignes :
http_access allow manager localhost
http_access allow manager allowed_hosts

par ce qui suit :
http_access allow manager
http_access allow localhost
http_access allow allowed_hosts

et remet en place le http_access deny all.
normalement apres ta config est terminee, sauf si tu doit mettre en place une authentification ou un redirecteur.
0
je te dis un grand MERCIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII THANK YOU VERY VERY VERY VERY VERY VERY MUCHHHHHHHHHHHHHHHHHhh
ça marche enfin merci merci donc maintenant nous reste 2 trucs à faire (donc reste sur le site svp :-) ) c d'interdier certains sites (qui seront dans le fichier exclus.txt que tu as vu dans squid.conf) et ensuite de faire marcher le firewall iptables
en tout cas grâce à toi on (gilles, du même forum qui pose aussi souvent des questions linux/proxy/firewall est stagiaire avec moi) a fait un bond énorme aujourd'hui MERCI BCP
0
Gilles, c'est lui qui veut modifier les fichiers d'erreur squid ?

Pas de soucis pour le coup de main. ca fera 30000 euros ht a virer sur mon compte en suisse ;-)

Je peu encore vous aider un peu, mais je vais pas tarder a allez me pioncé ( le temps de terminer une compilation de sources ), je suis leve depuis hier matin 9heures.
0
arg fausse alerte le proxy ne marche que avec http_access allow all, avec tes modifs ça marche plus
0
j'avais pas vut ca : http_access deny !allowed_hosts
t'en a pas besoin, puisque tu a deja l'inverse dans une acl plus haut.
il ne devrait te rester que ca sur la serie http_access :

http_access allow manager
http_access allow localhost
http_access allow allowed_hosts
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny exclus
http_access deny all

icp_access deny all

si ca ca marche pas je comprends plus rien.
et verifie la plage ip que tu a mis dans l'acl allowed_hosts
0
effectivement tu avais raison yavait un prob dans l'acl allowed_hosts maitenant ça marche reste lpus qu'à réussir à interdire les sites contenus dans le fichier exclus.txt, ils doivent être de la forme http://www.caramail.com parex ou www.caramail.com ou ... ??
0
et encore 2 chtites questions :
_ en stoppant squid pas d'erreurs c cool mais en le démarrant il marque ERROR : no running copy mais apparament ça ne gêne en rien...
_ta ligne icp.... à la fin elle sert à quoi ?
0
lord_cain > lord_cain
28 févr. 2002 à 16:04
oups désolé pour les multiples posts c parce que je surfe de linux là et c très lent
0
Icp c'est le protocole qui permet a plusieurs caches de discuter ensemble pour s'echanger des contenus. si tu t'en sert pas il faut desactiver dans l'acl pour interdire toute interrogation de ton cache par un autre proxy et mettre icp_port a 0.

Pour ce qui est du contenu de ton fichier exclus.txt tu met juste des noms, en fait il devrai plutot contenir des expressions regulieres.
un exemple simple pour interdire l'access a caramail.com tu peu mettre caramail et ca virera toutes les url qui contienent ce nom.
0
ok merci par contre après essais ça ne fnctionne pas pourtant dans le fichier exclus.txt ya juste cette ligne :
caramail

est-ce que c'est bon dans le fichier squid.conf les 2 lignes qui "parlent" d'exclus et exclus.conf ?

et pourquoi au démarrage de squid il me met ERROR : no running copy, mais bon si tu sais pas c pas grave ça a pas l'air d'avoir de conséquences

Merci
0
acl exclus url_regex "/etc/squid/exclus.txt"
http_access deny exclus

ta config est correcte.
verifie le chemin et les droits sur le fichier, il doit etre en lecture pour l'utilisateur sous lequel tourne squid ( souvent le user squid ).

Pour l'erreur "no running copy" , tu a ca quand tu demande l'arret de squid par un "squid -k shutdown" et que squid n'est pas lancé. probablement que dans ton script de lancement il y a un arret avant l'appel du proxy. Edite le fichier et ajoute un 2>/dev/null apres le squid -k shutdown dans la section "start".
0
- actuellement sur exclus.txt ya rw-r--r-- et je démare squid et fais tout en étant sous root, fallait pas ?

- dans quel fichier je dois ajouter 2>/dev/null après le squid -k shutdown ... ??

Merci encore c les dernières questions après on se débrouillera , merci
0
les droits c'est ok, t'est sur qu'il est au bon endroit ?
Verifie dans /var/log/messages sur les lignes de lancement de squid si il a pas un probleme avec le fichier. ( genre tail -100 /var/log/messages )

Pour ton message d'erreur c'est dans /etc/init.d/squid ( ou /etc/rc.d/init.d/squid )

il y a un "case $1 in"
et une section start)
si je me trompe pas, tu devrais avoir soit un "$0 stop"
soit un "squid -k shutdown", ou un truc dans le genre.

J'ai repondu a ta question sur lilo et le menu graphique.
Bon moi j'ai fini mes compils je vais me pioncer.
a+.
0
-le fichier exclus.txt est au bon endroit
et dans messages ya rien sur le fichier...

_et dans /etc/rc.d/init.d/squid pour la partie start et stop ya ça (et aucune trace de ta ligne $0 stop ou la shutdown) :

case "$1" in
start)
echo -n "Starting $SQUID: "
for adir in $CACHE_SWAP; do
if [ ! -d $adir/00 ]; then
echo -n "init_cache_dir $adir... "
$SQUID -z -F 2>/dev/null
fi
done
$SQUID $SQUID_OPTS &
RETVAL=$?
echo $SQUID
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$SQUID
;;

stop)
echo -n "Stopping $SQUID: "
$SQUID -k shutdown &
RETVAL=$?
if [ $RETVAL -eq 0 ] ; then
rm -f /var/lock/subsys/$SQUID
while : ; do
[ -f /var/run/squid.pid ] || break
sleep 2 && echo -n "."
done
echo "done"
else
echo
fi
;;


bon en tout cas comme je bosse pas demain c le week-end pour moi alors t'as le temps jusqu'à lundi pour me répondre (enfin si je ne t'ai pas encore trop saoûlé avec toutes mes questions). Et merci bcp, vraiment, pour tout, grâce à toi aujourd'hui on a avancé plus qu'en 1 semaine, merci, parce que Linux c vraiment obscur :-) et quand ce problème, enfin ces 2 petits problèmes seront résolus, promis pour la suite (firewall...) je ne poserai plus de questions :) Encore une fois merci, A++

Lord_cain, linuxien newbee
0
Momch Messages postés 40 Date d'inscription jeudi 28 février 2002 Statut Membre Dernière intervention 14 janvier 2004 105
3 mars 2002 à 21:38
A tu mis a jour la variable CACHE_SWAP dans le script.
Pour toi sa valeur doit etre :
CACHE_SWAP=/var/spool/squid

quelle est la valeur de $SQUID_OPTS ?

Sinon pour ce qui est du non fonctionnement des filtrages d'url,
alors là je doit dire que je comprends pas trop pourquoi ca deconne.
Tes directives sont correctes, j'ai revérifié sur une machine
ca tourne nickel.
0
la variable CACHE_SWAP dans le script a la bonne valeur.
la valeur de $SQUID_OPTS est :
SQUID_OPTS="-D"

et ya tjrs encore le no running copy et le filtrage ne fonctionne pas mais le proxy oui
0
lord_cain > lord_cain
4 mars 2002 à 12:58
HELPPPPPPPPPPPPPPPPPPPPPPPP
0
Momch Messages postés 40 Date d'inscription jeudi 28 février 2002 Statut Membre Dernière intervention 14 janvier 2004 105
4 mars 2002 à 13:06
Pas de panique,

Je te conseille les options sYD pour le demarrage de squid.
essaie de le lancer directement sans le script avec un

squid -sYD

pour l'arret tu fait un :

squid -k shutdown

l'option s lui demande de logguer les erreurs dans syslog, donc si il panique tu aura des message d'erreurs dans /var/log/messages.
0
alors en vrac :
-pour démarrer/stopper squid j'utilisais jusqque là drakxconf ==> service configuration parce que service squid start/stop marchait pas...
-quand j'utilise squid -sVD il me met qu'il est déjà en cours alors qu'il est stopppé (vu dans drakxconf)
- cette commande st censée résoudre le problème du running copy ? si oui c pas grave ça a pas l'air de gêner c plutôt le filtrage qui ne fonctionne pas et ça c + important
- pour en finir avec ces probs de proxy ça te dirait qu'on se retrouve 5-10mn dans un salon de caramail par exemple et comme ça en tps réel ça marchera plus vite :)
si t'es d'accord retrouve moi dans le salon public que je vais créer tout de suite, il s'appellera linuxhelp

Merci
0
Momch Messages postés 40 Date d'inscription jeudi 28 février 2002 Statut Membre Dernière intervention 14 janvier 2004 105
4 mars 2002 à 14:37
Ok pour caramail dans 15/20 minutes.
ca ira 2 fois plus vite.
0
on est sur cara now forum public linuxhelp (avant on a eu quelques probs il se peut que tu y étais pdt les quelques minutes où on y était pas)
0