Squid et site https

Fermé
brudao Messages postés 524 Date d'inscription samedi 10 février 2007 Statut Membre Dernière intervention 16 octobre 2014 - 16 oct. 2014 à 12:10
Zeddo Messages postés 75 Date d'inscription mercredi 27 janvier 2010 Statut Membre Dernière intervention 5 mars 2015 - 5 mars 2015 à 21:30
Bonjour!
J'ai installé un proxy squid sur Debian. il fonctionne très bien concernant les sites http. mais par contre, aucun site https ne s'affiche.
Voici mon fichier de configuration:

acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 20 # ftp-data
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # ssl
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 10000 # Administration
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 5190 # AIM
acl Safe_ports port 5222 # jabber
acl Safe_ports port 5050 # Yahoo Messenger
acl Safe_ports port 1863 # MSN Messenger
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 631 # cups
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # SWAT
acl CONNECT_ports port 443
acl CONNECT method CONNECT
acl MonReseauLocal src 192.168.3.0/25
acl IpExclus src 192.168.3.22 192.168.3.23 192.168.3.24 192.168.3.25 192.168.3.26


http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !CONNECT_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access deny IpExclus
http_access allow MonReseauLocal
http_access deny all
icp_access allow all


http_port 3128 transparent

# La redirection sur squidguard pour le contrôle
url_rewrite_program /usr/bin/squidGuard -c /etc/squid3/squidGuard.conf
url_rewrite_children 5

# On renseigne le nom de machine qui fait serveur
visible_hostname pc-proxy


hierarchy_stoplist cgi-bin ?
access_log /var/log/squid3/access.log squid
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
icp_port 3130
coredump_dir /var/spool/squid3
A voir également:

1 réponse

Zeddo Messages postés 75 Date d'inscription mercredi 27 janvier 2010 Statut Membre Dernière intervention 5 mars 2015 15
5 mars 2015 à 21:30
Bonsoir,

J'arrive un peu tard, mais voici ce qu'il faut faire (une des solutions)
Dsl si les explications ne sont pas très "pro", je suis un "novice avancé" qui s'exprime encore mal avec Linux.
Lorsque tu installes Squid via les dépots (un apt-get install squid sous Ubuntu par exemple), la "fonction ssl" n'est pas configurée par défaut.
Il faut télécharger les sources et les recompiler avec les options SSL pour qu'elles soient prises en compte. Pour mon cas, j'ai fais ceci :
ATTENTION : mon squid ne fait pas de cache ! Je m'en sers uniquement pour le filtrage d'URL !
Attention donc aux options dans le squid.conf qui n'iront pas à tout le monde !
Il y a également un squidguard chez moi, mais je n'ai pas mis la conf ici.
ATTENTION BIS :
Si tu fais un apt-get update et upgrade après ça, ca mettra ton squid à jour avec la version "dépots" -> sans les options SSL qui disparaîtront.


# Installation des outils de compilations
apt-get install devscripts build-essential fakeroot libssl-dev
# Déplacement dans l'environnement de travail
cd /usr/src
# Téléchargement des sources
apt-get source squid3
# Installation des dépendances pour la compilation
apt-get build-dep squid3
# Édition des règles de compilations
cd /usr/src/squid3-3.*

# Ajouter dans "--enable-ssl \" dans le fichier rules
# ainsi que "--enable-ssl-crtd \"
nano debian/rules
# Compilation
./configure
#La commande suivante est relativement longue. Ne stressez pas si ça dure plus de 5 minutes
debuild -us -uc -b
# Installation des paquets :
cd ..
dpkg -i squid3_*.deb squid3-common_*.deb

#Si vous rencontrez des erreurs, faites ceci :
#Des erreurs ont été rencontrées pendant l'exécution :
# squid3-common
# squid3
apt-get -f install
#Puis de nouveau
dpkg -i squid3_*.deb squid3-common_*.deb

#Création du certificat SSL
cd /etc/squid3
mkdir ssl_cert
chmod 700 ssl_cert
cd ssl_cert

openssl req -new -newkey rsa:2048 -sha256 -days 14600 -nodes -x509 -keyout myCA.pem -out myCA.pem

openssl x509 -in myCA.pem -outform DER -out myCA.der

/usr/lib/squid3/ssl_crtd -c -s /usr/lib/squid3/ssl_db
chown -R proxy /usr/lib/squid3/ssl_db
#S'asssurer que les droits sont bien en 755 maximum, c'est normalement suffisant.
#En cas de problème de droits, vous aurez un message d'erreur dans le cache.log de squid, qui dit qu'il ne peut pas écrire dans index.txt, ou accéder à la db.
#Le certificat sera déployé sur les pc du parc via GPO.

#Faire une copie de sauvegarde du fichier de conf Squid d'origine
cp /etc/squid3/squid.conf /etc/squid3/squid.conf.origin

#On édite de fichier Squid (vu le nombre de lignes, videz le, puis copiez-collez.
#Préférez WinSCP pour le modifier, car il est plutôt copieux de base. Sinon pour les courageux, il y a nano

nano /etc/squid3/squid.conf

http_port 3129
http_port 3128 intercept
https_port 3127 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/etc/squid3/ssl_cert/myCA.pem

#Force l'utilisation de l'IPV4 en premier. Utile si vous n'utilisez pas l'IP V6.
#Si vous êtes en IPV6, pas de panique, vous passez en second lieu, mais n'êtes pas bloqués.
dns_v4_first on

#partie ssl
always_direct allow all
ssl_bump server-first all

sslcrtd_program /usr/lib/squid3/ssl_crtd -s /usr/lib/squid3/ssl_db -M 4MB
sslcrtd_children 5

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320

acl localnet src 172.16.0.0/19 #RFC 1918 possible internal network

acl SSL_ports port 443 #https

acl Safe_ports port 80 #http
acl Safe_ports port 21 #ftp
acl Safe_ports port 443 #https
acl Safe_ports port 70 #gopher
acl Safe_ports port 210 #wais
acl Safe_ports port 1025-65535 #unregistered ports
acl Safe_ports port 280 #http-mgmt
acl Safe_ports port 488 #gss-http
acl Safe_ports port 591 #filemaker
acl Safe_ports port 777 #multiling http

acl CONNECT method CONNECT

http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localnet
http_access allow localhost
http_access deny all

forwarded_for off
error_directory /usr/share/squid3/errors/French
visible_hostname nvsquid

####Je veux 0 cache
cache deny all

###On appelle SquidGuard
redirect_program /usr/bin/squidGuard -c /etc/squidguard/squidGuard.conf
redirect_children 5

###Je veux le nom d'hote plutôt que l'adresse IP des machines qui se connectent.
#Je vais donc transformer un peu les logs
#Ici, je change le %>a en %>A -> %>a = IP - %>A = Hostname
logformat squid %ts.%03tu %6tr %>A %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt

### END CONFIGURATION ###


#On active ensuite la redirection :
nano /etc/sysctl.conf
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1

#On règle Iptable
nano /etc/init.d/iptablerules
### BEGIN INIT INFO
# Provides: iptablerules
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: iptablerules
# Description: Regles IPTABLE pour SQUID
### END INIT INFO

iptables -t nat -A PREROUTING -p tcp -s 172.16.0.0/19 --dport 80 -j DNAT --to 172.16.31.240:3128

iptables -t nat -A PREROUTING -p tcp -s 172.16.0.0/19 --dport 443 -j DNAT --to 172.16.31.240:3127



#Puis le rendre exécutable
chmod 755 /etc/init.d/iptablerules

#Puis forcer pour l'exécution au démarrage
update-rc.d iptablerules defaults 80

#Vérifiez après reboot que vos règles sont bien la :
iptables -L -t nat


#On redémarre le tout :
/etc/init.d/squid3 restart && /etc/init.d/networking restart
#(reboot de préférence)
Sur votre PC client, mettez en gateway l'IP de vote proxy.
0