Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 16/09/2019, à 21:40

buzami08

Serveur squid et windows 10 en client

Bonjour à tous,
A la maison j'ai mis en place un serveur ubuntu pour filtrer quelque peu le web à destination des enfants comme Orange ne permet pas de changer de serveur DNS pour OpenDNS j'ai choisi de monter une passerelle avec serveur dhcp (dnsmasq) et squid + squidGuard en proxy transparent. Il y a deux cartes réseau eno1 vers la box et enp5s0 vers le sous parc wifi ( routeur Netgear). J'ai cherché un peu mais ça fonctionne sur les tablettes et smartphones androids ou bien pc lubuntu. Mais problème quand j'ai relié au réseau un poste sous windows 10 là, plus de filtrage, porte ouverte sur le grand large du web.
Je pense que le souci doit venir des règles IPtables mais n'étant pas spécialiste réseau il y a sans doute d'autres failles dans mon système monté de manière très empirique. Il y a de plus un serveur samba pour héberger ma collection de films et de musiques.
Je vais vous donner le contenu de mes fichiers de conf au cas où une bonne âme aurait la gentillesse de me consacrer un peu de temps. D'avance merci

PS : les lignes de commentaires # ne sont pas dans les fichiers originaux.

netplan :

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
       dhcp4: true	#adresse fixée sur livebox à 192.168.1.17
       dhcp6: false
    enp5s0:
       addresses: [192.168.2.1/24]
       gateway4: 192.168.1.1 #adresse livebox
       nameservers:
           addresses: [208.67.222.222, 208.67.220.220] #OpenDNS mais ne sert à rien
       dhcp4: false
       dhcp6: false

dnsmasq.conf

domain-needed
bogus-priv
filterwin2k

localise-queries
local=/lan/
interface=enp5s0
domain=local.lan
expand-hosts
no-negcache
resolv-file=/tmp/resolv.conf.auto

dhcp-authoritative
dhcp-leasefile=/tmp/dhcp.leases

# use /etc/ethers for static hosts; same format as --dhcp-host
read-ethers

# Plage DHCP
dhcp-range=192.168.2.100,192.168.2.150,12h
# Netmask
dhcp-option=1,255.255.255.0
# Route
dhcp-option=3,192.168.2.1
# DNS
dhcp-option=6,208.67.222.222,208.67.220.220

/etc/iptables/rules.v4

# Generated by iptables-save v1.6.1 on Mon Sep 16 09:19:16 2019
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
# Completed on Mon Sep 16 09:19:16 2019
# Generated by iptables-save v1.6.1 on Mon Sep 16 09:19:16 2019
*nat
:PREROUTING ACCEPT [8090:956979]
:INPUT ACCEPT [1420:221113]
:OUTPUT ACCEPT [971:78457]
:POSTROUTING ACCEPT [49:8295]
-A PREROUTING -i enp5s0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.17:3129
-A POSTROUTING -o eno1 -j MASQUERADE
-A POSTROUTING -o eno1 -j MASQUERADE
COMMIT
# Completed on Mon Sep 16 09:19:16 2019

/etc/squid/squid.conf

acl SSL_ports port 443
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
acl LocalNet src 192.168.1.0/24
acl LocalNet2 src 192.168.2.0/24
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localhost
http_access allow LocalNet
http_access allow LocalNet2
http_access deny all
http_port 3129 intercept # créer un proxy transparent
coredump_dir /var/spool/squid
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern (Release|Packages(.gz)*)$      0       20%     2880
refresh_pattern .               0       20%     4320
url_rewrite_program /usr/bin/squidGuard -c /etc/squidguard/squidGuard.conf

/etc/squidguard/squidGuard.conf

dbhome /var/lib/squidguard/db/blacklists
logdir /var/log/squidguard
src admin {
        ip 192.168.1.17
}
src users {
        ip 192.168.1.0/24
        ip 192.168.2.0/24
}
dest pornographie {
        urllist adult/urls
        domainlist adult/domains
        expressionlist adult/very_restrictive_expression
}
dest drogues {
        urllist drogue/urls
        domainlist drogue/domains
}
dest phishing {
        urllist phishing/urls
        domainlist phishing/domains
}
acl {
        admin {
                pass any
          }
        users {
                pass !pornographie !drogues !phishing ! any
                redirect http://www.google.com/
        }
        default {
                pass none
                redirect http://www.google.com/
        }
}

Hors ligne

#2 Le 25/09/2019, à 17:54

buzami08

Re : Serveur squid et windows 10 en client

Re bonjour à tous,
Ne comprenant pas d'où venait mon souci, j'ai réinstallé le serveur et j'ai opté pour isc-dhcp-serveur au lieu de dnsmasq et là ça fonctionne.
Ceci dit, je ne dis pas que c'est la faute de dnsmasq mais j'ai pu faire fonctionner enfin les adresses serveur OpenDNS avec mon accès livebox.
Les contenus sont bien filtrés avec en plus squidGuard, ça fait un contrôle parental très efficace.
J'ai voulu aller plus loin et ajouter le plugin supplémentaire à squid qui permet de gérer le temps de connexion time_quota.
Donc compilation et réinstallation du logiciel.
Tout va bien mais il se trouve que le plugin ne fonctionne pas en mode transparent (intercept comme transparent), je ne sais pas la différence.
Il ne fonctionne que si on ajoute manuellement l'adresse du proxy dans le navigateur.
C'est dommage mais bon je me dis que le bénéfice est intéressant, aussi pour tester et voir quelle est la meilleure des solutions j'aurais voulu savoir comment faire en sorte que les clients ne puissent pas accéder à internet sans activer le proxy car là c'est le cas. Un ordinateur non configuré peut accéder  au net sans problème.
Merci d'avance de vos réponses

Hors ligne