à l'aide squid +virtual host

à l'aide squid +virtual host - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 06-03-2003 à 19:25:12    

salut à tous
décidément je n'en fini pas de demander de l'aide avec SQUID et IPTABLES heureusement qu'il y des des mecs sympa pour m'aider
 
j'ai encore une problème qui se situe dans SQUID
j'ai à l'interieur de mon réseau local un serveur APACHE avec des Virtuals Hosts qui me donne plusieurs sites Web
 
quand je configure mes clients avec SQUID mes requètes vers mes différents sites pointent toujours vers le même site
 
est ce quelqu'un a déja eu ce problème

Reply

Marsh Posté le 06-03-2003 à 19:25:12   

Reply

Marsh Posté le 06-03-2003 à 19:31:09    

il faut faire du DNAT mais attention avec le port 3128 (squid) en entrée et plus le port 80.


---------------
Gitan des temps modernes
Reply

Marsh Posté le 06-03-2003 à 19:36:40    

c'est ce que je fais
 
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.1.1:3128
 
je pense que c'est ça non ??

Reply

Marsh Posté le 06-03-2003 à 19:42:53    

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 3128 -j DNAT --to 192.168.1.1:80


---------------
Gitan des temps modernes
Reply

Marsh Posté le 06-03-2003 à 19:46:53    

merci de ton aide demain je vais tester au boulot
@+


Message édité par pat_testa_mora le 07-03-2003 à 13:25:17
Reply

Marsh Posté le 06-03-2003 à 19:47:53    

si ça marche pas donne moi ta config: eth1 = net? eth0=dmz? Proxy transparent?
 
Si tes postes et tes clients sont sur eth1 alors, il faut configurer appache sur un autre port. 8080 par exemple.
 
tu fais du DNAT en entrée sur le net (- A INPUT -i ppp0 -d 80 -j DNAT 192.168.1.1:8080 et de même sur les chaines FORWARD entre tes cliets et ton serveur).


---------------
Gitan des temps modernes
Reply

Marsh Posté le 07-03-2003 à 13:26:17    

Fichier SQUID
 
#####################################################
#port sur lequel le proxy écoute les clients Web
http_port 3128
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
 
#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 8 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 l y aura 256 divisions dans ces 16 sous divisions
cache_dir ufs /home/squid/spool/squid 1000 16 256
#cache_dir ufs /var2/spool/squid 1500 16 256
 
#fichiers de log nécessaires pour controler 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 193.51.200.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 443 563 70 210 1025-65535
acl CONNECT method CONNECT
acl porn url_regex "/etc/squid/porn.txt"
#acl notporn url_regex "/etc/squid/notporn.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  porn
 
#email du manager du cache
cache_mgr administrateur@test.fr
 
#nom (virtuel) du cache
#visible_hostname test.fr
 
#rotation des fichiers log
logfile_rotate 4
 
cache_effective_user squid
cache_effective_group squid
 
#pour exclure du cache l'intranet (local)
acl web-local dstdomain test.fr
always_direct allow web-local
no_cache deny web-local
 
 
 
#################################################################################
 
Script de firewall
###################
 
#!/bin/bash
 
#Activation du routage IP
echo 1 > /proc/sys/net/ipv4/ip_forward
 
# Protection contre le 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
 
# Protection contre le ICMP
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
 
# Chargement des modules
modprobe ip_tables
modprobe ip_nat_ftp
modprobe iptable_filter
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
 
# Effacement des anciennes règles et chaines
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
 
# Politique par defaut
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
 
# Pour tout accepter sur la boucle locale
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
 
# Pour que le Proxy soit connecte
iptables -A OUTPUT -o eth0 -p tcp -m multiport --dport 80,443,21 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m multiport --sport 80,443,21 -m state --state ESTABLISHED -j ACCEPT
 
# Pour accepter la Resolution DNS sur la passerelle
iptables -A OUTPUT -o eth0 -p udp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p udp --sport 53 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport 53 -m state --state ESTABLISHED -j ACCEPT
 
# Pour que le Proxy soit tansparent
iptables -t nat -A PREROUTING -p tcp -m multiport --dport 80 -j DNAT --to-destination 193.51.200.2:3128
iptables -A INPUT -i eth1 -s 193.51.200.0/24 -p tcp --dport 3128 -j ACCEPT
iptables -A OUTPUT -o eth1 -d 193.51.200.0/24 -p tcp --sport 3128 -j ACCEPT
 
# Pour Masquer le LAN en faisant du Masquerading
iptables -t nat -A POSTROUTING -s 193.51.200.0/24 -j MASQUERADE
 
# Pour donner l'acces a internet au Lan
iptables -A FORWARD -s 193.51.200.0/24 -i eth1 -o eth0 -p tcp -m multiport --dport 443,21 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A FORWARD -d 193.51.200.0/24 -i eth0 -o eth1 -p tcp -m multiport --sport 443,21 -m state --state ESTABLISHED -j ACCEPT
 
# Pour accepter la resolution DNS sur le LAN
iptables -A FORWARD -s 193.51.200.0/24 -i eth1 -o eth0 -p udp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A FORWARD -d 193.51.200.0/24 -i eth0 -o eth1 -p udp --sport 53 -m state --state ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 193.51.200.0/24 -i eth1 -o eth0 -p tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A FORWARD -d 193.51.200.0/24 -i eth0 -o eth1 -p tcp --sport 53 -m state --state ESTABLISHED -j ACCEPT
 
# Pour accepter une connexion SSH
iptables -A INPUT -m state --state NEW,ESTABLISHED -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED -p tcp --sport 22 -j ACCEPT
 
# Emettre une Connexion SSH
iptables -A OUTPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
 
# Pour Autoriser les connexion FTP sur notre serveur
iptables -A FORWARD -p tcp --sport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A FORWARD -p tcp --dport 21 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp --sport 20 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT
iptables -A FORWARD -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A FORWARD -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
 
# Pour envoyer des Mails
iptables -A FORWARD -i eth1 -o eth0 -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -p tcp --sport 25 -m state --state ESTABLISHED -j ACCEPT
 
# Pour recevoir des Mails
iptables -A FORWARD -i eth1 -o eth0 -p tcp --dport 110 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -p tcp --sport 110 -m state --state ESTABLISHED -j ACCEPT
 
# Pour accepter une connexion a Webmin
iptables -A INPUT -i eth0 -p tcp --dport 10000 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 10000 -m state --state ESTABLISHED -j ACCEPT
 
echo " [Firewall Active]"
 
 
####################################################################
configuration Réseau
 
eth0 : 81.51.XX.XX IP Publique
eth1 : 193.51.200.1 IP Privé connecté à mon LAN
 
 
 
 
 
 

Reply

Marsh Posté le 07-03-2003 à 22:31:52    

j'ai essayé au boulot mais ça ne marche pas  
à l'aide

Reply

Marsh Posté le 07-03-2003 à 22:59:02    

d'après ton script iptables, le proxy n'est pas sur le routeur. Donc ce n'est pas en INPUT et OUTPUT mais en FORWARD que les clients accèdent au proxy. Donc mets une chaine FORWARD sur le port 3128.
 
Ensuite, il faut que le proxy, lui accède au net par le port 80. Donc chaine FORWARD entre le proxy et eth0 sur le port 80.
 
Sur ta chaine PREROUTING pour le proxy, rajoute "-i eth1".
 
Là, le proxy transparent devrait fonctionner.
 
Ton adresse en 193.51 ne me semble pas très privée. Utilise plutôt du 192.168.
 
Ensuite, si ta passerelle est bien configurée au niveau du host, le serveur web interne devrait être trouvé. Si ce n'est pas le cas regarde ton fichier hosts.


---------------
Gitan des temps modernes
Reply

Marsh Posté le 08-03-2003 à 19:55:56    

mon proxy est bien sur mon firewall je suis partit du tutorial sur www.lea-linux.org mais pas moyen de le faire marcher correctement tel que mon firewall et mon proxy sont configurés je sort sur le net à travers SQUID puisque lorsque je tape une adresse( sexe.com) squid me renvois un message d'erreur de type Accès Refusé

Reply

Marsh Posté le 08-03-2003 à 19:55:56   

Reply

Marsh Posté le 08-03-2003 à 22:08:49    

remplace ta chaine PREROUTING par:
iptables -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
 
et rajoute dans ton squid.conf:
http_access allow allowed_hosts après tes 2 "manager"

Reply

Marsh Posté le 08-03-2003 à 22:57:38    

mais alors il faut que j'enlève les règles ou pas  
 
iptables -A INPUT -i eth1 -s 193.51.200.0/24 -p tcp --dport 3128 -j ACCEPT
iptables -A OUTPUT -o eth1 -d 193.51.200.0/24 -p tcp --sport 3128 -j ACCEPT

Reply

Marsh Posté le 08-03-2003 à 23:18:48    

non elles sont bonnes car squid est sr le routeur

Reply

Marsh Posté le 08-03-2003 à 23:42:17    

ok je vais tester de suite j'ai chez moi une conf qui resemble à mom réseau au boulot

Reply

Marsh Posté le 09-03-2003 à 10:14:13    

merde je ne comprends pas pourquoi ça ne marche toujours pas pourtant je suis pas à pas des differents tutos sur le net et rien à faire toujours ce problème

Reply

Marsh Posté le 10-03-2003 à 00:32:34    

apres bien des déboirs j'y suis arrivé merci BOBOR pour ton aide

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed