crocodudule Posté(e) le 29 juin 2018 Partager Posté(e) le 29 juin 2018 Bonjour à tous. Je souhaite mettre en place un petit vpn et, au travers, accéder au serveur proxy installé sur le serveur VPN. L’objectif étant que toute machine sur le VPN puisse utiliser le proxy et donc mon IP française depuis l’étranger. Pour l’anecdote avec neorouter (tout comme openvpn) j’y arrivais sans mal sous windows (mais je n’utilisais pas squid comme proxy que je ne maîtrise manifestement pas), ce n'est pas le cas sous raspbian que j'utilise uniquement en SSH, ce raspberry me servant de mini serveur web sans écran. S’agissant du VPN, en l’espèce neorouter le serveur est correctement installé sur le raspberry, auquel j’ai ajouté également un client neorouter, de sorte que je vois et je “pingue” sans difficulté l’ensemble des IP du VPN. S’agissant du proxy, ici squid 2.7, il est également installé sur le serveur raspberry et fonctionne parfaitement s’agissant du réseau local “réel” puisque je peux surfer sur firefox en renseignant l’ip du serveur proxy (192.168.0.50) et le port d’écoute (3128) dans les paramètres (passant iptable sans problème). En revanche, si j’entre l’ip du serveur proxy dans le réseau VPN , cela ne fonctionne pas; . un refus de connexion si j’entre l’ip du serveur neorouter dans le VPN (10.0.0.1), . délai d’attente dépassé si j’entre l’ip du client neorouter installé sur le serveur (10.0.0.7). (je précise la distinction car contrairement à openvpn, le serveur neorouter n'est jamais visible par les clients, c'est pourquoi dans mon installation précédente sous windows j'ajoutais un client à la machine serveur accédant au proxy via l'ip de ce client) Pour faciliter la compréhension de mon fichier de configuration de squid je précise comment est mon réseau: . raspbian: ip locale fixe; 192.168.0.50 / 255.255.255.0 ip du serveur neorouter: 10.0.0.1 / 255.0.0.0 ip du client neorouter (installé également) : 10.0.0.7 / 255.0.0.0 . Ma machine locale: ip locale fixe; 192.168.0.29 ip du client neorouter : 10.0.0.3/255.0.0.0 Voilà ma configuration de squid: visible_hostname raspberrypi acl all src all acl manager proto cache_object acl localhost src 127.0.0.1/32 acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 acl localnet src 192.168.0.0/255.255.255.0 # RFC1918 possible internal network acl netvpn src 10.0.0.0/255.0.0.0 # RFC1918 possible internal network acl SSL_ports port 443 # https acl SSL_ports port 563 # snews acl SSL_ports port 873 # rsync 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 Safe_ports port 631 # cups acl Safe_ports port 873 # rsync acl Safe_ports port 901 # SWAT acl purge method PURGE acl CONNECT method CONNECT http_access allow manager localhost http_access deny manager http_access allow purge localhost http_access deny purge http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localnet http_access allow localhost http_access allow netvpn tcp_outgoing_address 192.168.0.0/255.255.255.0 localnet tcp_outgoing_address 10.0.0.0/255.0.0.0 netvpn http_access deny all forwarded_for off icp_access allow localnet icp_access allow netvpn http_port 3128 J'ajoute pour info la partie modifiée du fichier de configuration d'iptable: # Serveur SQUID (3128) iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 3128 -j ACCEPT iptables -A INPUT -p tcp --dport 3128 -j DROP iptables -A OUTPUT -d 192.168.0.0/24 -p tcp --sport 3128 -J ACCEPT iptables -A OUTPUT -p tcp --sport 3128 -j DROP iptables -A INPUT -s 10.0.0.0/8 -p tcp --dport 3128 -j ACCEPT iptables -A INPUT -p tcp --dport 3128 -j DROP iptables -A OUTPUT -d 10.0.0.0/8 -p tcp --sport 3128 -J ACCEPT iptables -A OUTPUT -p tcp --sport 3128 -j DROP Et toujours dans iptable, celle s'agissant de neorouter: # Serveur NEOROUTER (1196) iptables -t filter -A INPUT -p tcp --dport 1196 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 1196 -j ACCEPT Votre aide est donc la bienvenue, car même en commentant deny all et !safe_ports, rien n’y fait. Lien vers le commentaire Partager sur d’autres sites More sharing options...
crocodudule Posté(e) le 30 juin 2018 Auteur Partager Posté(e) le 30 juin 2018 J'ai nettoyé mon iptable pour retirer les lignes "DROP" destinées à squid: #Suppression des règles antérieures iptables -t filter -F iptables -t filter -X #On laisse tout sortir et on bloque tout en entrée iptables -t filter -P INPUT DROP iptables -t filter -P FORWARD DROP iptables -t filter -P OUTPUT ACCEPT #On conserve les connexions déjà établies iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT #On autorise le loopback iptables -t filter -A INPUT -i lo -j ACCEPT iptables -t filter -A OUTPUT -o lo -j ACCEPT #Serveur HTTP (80) iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT #Serveur NEOROUTER (1196) iptables -t filter -A INPUT -p tcp --dport 1196 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 1196 -j ACCEPT #Serveur SQUID (3128) # iptables -A INPUT -p tcp --dport 3128 -j DROP iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 3128 -j ACCEPT iptables -A INPUT -s 10.0.0.0/8 -p tcp --dport 3128 -j ACCEPT # iptables -A OUTPUT -p tcp --sport 3128 -j DROP iptables -A OUTPUT -d 192.168.0.0/24 -p tcp --sport 3128 -J ACCEPT iptables -A OUTPUT -d 10.0.0.0/8 -p tcp --sport 3128 -J ACCEPT #Serveur FTP (21) dont mode passif modprobe ip_conntrack_ftp iptables -t filter -A OUTPUT -p tcp --dport 20:21 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 20:21 -j ACCEPT iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #Connexionx SSH iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH -j ACCEPT iptables -A INPUT -p tcp --dport 22 -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j DROP #Autorisation du PING : iptables -A INPUT -p icmp -m limit --limit 15/minute -j ACCEPT iptables -A INPUT -p icmp -j DROP #Bloquer les attaques par déni de service iptables -A FORWARD -p tcp --syn -m limit --limit 1/second -j ACCEPT iptables -A FORWARD -p udp -m limit --limit 1/second -j ACCEPT iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/second -j ACCEPT #Bloquer les scans de ports iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT Et j'ai rectifié ma configuration de SQUID: #CONFIGURATION SQUID #------------------- # AUTORISATION DU RESEAU LOCAL acl all src all acl manager proto cache_object acl localhost src 127.0.0.1/32 acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 # acl localnet src 192.168.0.0/24 # RFC1918 possible internal network acl localnet src 10.0.0.0/8 # RFC1918 possible internal network # AUTORISATION DES PORTS acl SSL_ports port 443 # https acl SSL_ports port 563 # snews acl SSL_ports port 873 # rsync 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 Safe_ports port 631 # cups acl Safe_ports port 873 # rsync acl Safe_ports port 901 # SWAT acl purge method PURGE acl CONNECT method CONNECT # REJET DES AUTRES PORTS http_access deny !Safe_ports # ADMINISTRATION QUE LOCALHOST http_access allow manager localhost http_access deny manager # PURGE QUE LOCALHOST http_access allow purge localhost http_access deny purge # CONNEXION QUE DEPUIS SSL http_access deny CONNECT !SSL_ports # GESTION DES ACCES AU PROXY http_access allow localhost http_access allow localnet http_access deny all # REQUETE ICP icp_access allow localnet # icp_access allow netvpn icp_access deny all # MASQUER IP DANS HEADER forwarded_for off # PORT ECOUTE DU PROXY http_port 3128 # MAP-CHEMIN # tcp_outgoing_address 192.168.0.0/24 localnet tcp_outgoing_address 10.0.0.0/8 localnet # LOGS access_log /var/log/squid/access.log squid # REFRESH PATTERN ENTRIES: 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 # TAG: visible_hostname visible_hostname raspberrypi Je progresse puisque maintenant firefox m'indique que le proxy refuse la connexion sur 192.168 et 10.0 🤔 Lien vers le commentaire Partager sur d’autres sites More sharing options...
crocodudule Posté(e) le 30 juin 2018 Auteur Partager Posté(e) le 30 juin 2018 A trouvé! Les parenthèses dans les commentaires bousillaient l'exécution de squid (sans message d'erreur au lancement) et j'ai précisé l'ip d'écoute en plus du port et ça fonctionne puisque je poste depuis le proxy 🙂 Pour info, mon fichier de conf est le suivant: acl localnet src 192.168.0.0/24 acl localnet src 10.0.0.0/8 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 # Deny CONNECT to other than secure SSL ports http_access deny CONNECT !SSL_ports # Only allow cachemgr access from localhost http_access allow localhost manager http_access deny manager http_access allow localnet http_access allow localhost # And finally deny all other access to this proxy http_access deny all # Squid normally listens to port 3128 http_port 10.0.0.7:3128 # TAG: visible_hostname visible_hostname raspberrypi # Add any of your own refresh_pattern entries above these. 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 #via off forwarded_for off Je mets en (auto-)résolu ^^ Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.