Comment utiliser un Raspberry Pi comme serveur proxy (avec Privoxy)



Transformer votre Raspberry Pi en serveur proxy vous donne la possibilité de réguler l’accès aux sites web. Cette approche permet également d’éliminer les traqueurs et autres contenus indésirables. Voici un guide simplifié pour mettre en place ce dispositif.

Le Proxy Privoxy

Un serveur proxy agit comme un intermédiaire entre les machines de votre réseau et internet. Il intercepte les échanges HTTP et HTTPS, assurant un rôle de gardien. Il analyse l’adresse web (URL) visée et bloque l’accès si elle figure sur une liste noire ou si elle ne respecte pas des règles définies.

Si le site web est autorisé, le proxy récupère la page et la relaie vers l’ordinateur qui l’a demandée. Ce processus offre un certain niveau d’anonymat pour les appareils de votre réseau.

Le proxy examine le contenu des pages web téléchargées. Tous les scripts de suivi, publicités et autres éléments superflus sont supprimés, ne laissant que la page web essentielle. Les menaces cachées d’espionnage et d’atteinte à la vie privée qui accompagnent souvent les visites de sites web sont ainsi neutralisées. C’est un peu comme une désinfection pour les pages web.

Il est vrai que le blocage des publicités soulève des débats. Une grande part des contenus web gratuits est financée par la publicité. Toutefois, du point de vue de la confidentialité, le suivi et le recoupement de vos activités en ligne sont, au mieux, troublants et, au pire, intrusifs.

Privoxy, un proxy axé sur la protection de la vie privée, permet de limiter ces inconvénients. Sa gestion centralisée facilite également son administration. Une fois la configuration proxy effectuée sur les navigateurs de votre réseau, toute la gestion se fait sur le proxy, et non sur chaque appareil individuel.

Installation de Privoxy

Pour installer Privoxy, connectez-vous à votre Raspberry Pi par SSH. L’adresse IP de notre appareil de test est 192.168.4.18, la commande est donc :

ssh pi@192.168.4.18

Avant d’installer un nouveau logiciel sur un Raspberry Pi, il est recommandé de mettre à jour les index du référentiel et d’installer les mises à jour. Ces deux actions peuvent être effectuées en une seule commande, en utilisant && pour lier les deux commandes apt-get de manière séquentielle. La seconde commande s’exécutera uniquement si la première s’est déroulée avec succès.

Nous saisissons :

sudo apt-get update && sudo apt-get upgrade

En fonction de votre modèle de Raspberry Pi et de la dernière mise à jour, cette opération peut prendre un certain temps. Une fois terminée, nous installons Privoxy :

sudo apt-get install privoxy

Autoriser les connexions

Par défaut, Privoxy n’accepte que les connexions HTTP et HTTPS de l’ordinateur sur lequel il est installé. Il faut lui spécifier d’autoriser les connexions des autres appareils du réseau. Le fichier de configuration de Privoxy se trouve ici : « /etc/privoxy/config ». Les modifications nécessiteront l’utilisation de la commande sudo.

La commande est :

sudo nano /etc/privoxy/config

Le fichier de configuration est long, mais il est principalement composé de commentaires et d’instructions. Faites défiler jusqu’à la section 4.2.

Nous cherchons les paramètres de l’adresse d’écoute. Commentez les deux lignes d’origine en ajoutant un dièse (#) en début de ligne, puis ajoutez cette nouvelle entrée :

listen-address :8118

Cette commande indique à Privoxy d’accepter les connexions sur le port 8118 depuis n’importe quelle adresse IP. Privoxy utilise des filtres appliqués aux URL par le biais de règles nommées « actions ». Les filtres et actions peuvent être modifiés via des fichiers texte ou l’interface de Privoxy.

Le compte administrateur de Privoxy n’est pas protégé par mot de passe. Il est donc important de déterminer si cette fonctionnalité est nécessaire pour votre réseau. Si tel est le cas, faites défiler le fichier et ajoutez cette ligne :

enable-edit-actions 1

Pour sauvegarder vos modifications, appuyez sur Ctrl + O, puis sur Entrée. Appuyez ensuite sur Ctrl + X pour quitter l’éditeur.

Il faut maintenant redémarrer Privoxy pour que les changements prennent effet :

sudo systemctl restart privoxy

On peut utiliser systemctl pour vérifier que Privoxy est en cours d’exécution et voir son état :

sudo systemctl status privoxy

Des voyants verts et l’absence de messages d’erreur indiquent un bon fonctionnement. Il est temps de tenter une connexion administrative à distance via un navigateur. Ouvrez un navigateur sur un autre ordinateur, puis accédez à l’adresse IP de votre Raspberry Pi sur le port 8118.

Dans notre cas :

192.168.4.18:8118

La page d’accueil de Privoxy devrait apparaître, comme ci-dessous.

Privoxy est donc opérationnel avec ses paramètres initiaux. Ces paramètres ont été minutieusement choisis et conviennent à la plupart des situations.

Il faut maintenant configurer les navigateurs de tous les ordinateurs du réseau pour qu’ils utilisent Privoxy comme serveur proxy.

Configuration de votre navigateur

Tous les navigateurs proposent une option de configuration proxy. La fonction « Aide » de votre navigateur vous expliquera la marche à suivre. Dans Firefox, tapez simplement « about:preferences » dans la barre d’adresse.

Descendez jusqu’à la section « Paramètres réseau », puis cliquez sur « Paramètres ».

Dans la section « Configurer l’accès proxy à Internet », sélectionnez l’option « Configuration manuelle du proxy ». Saisissez l’adresse IP de votre Raspberry Pi dans le champ « Proxy HTTP » et « 8118 » dans le champ « Port ».

Cochez la case « Utiliser également ce proxy pour FTP et HTTPS » (les champs « Proxy HTTPS » et « Proxy FTP » se rempliront automatiquement), puis cliquez sur « OK ».

Fermez les onglets de configuration et ouvrez un site web. Il devrait s’afficher normalement. Si tel est le cas, Privoxy est en fonction avec ses paramètres par défaut.

Configuration de Privoxy

Ouvrez un navigateur et accédez à config.privoxy.org.

Cliquez sur « Afficher et modifier la configuration actuelle » sur la page d’accueil de Privoxy. Cette page récapitulative donne une vision globale de la configuration des actions et des filtres.

Vous pouvez modifier les fichiers directement dans un éditeur de texte (les chemins sont indiqués à l’écran). L’interface web facilite cependant la configuration. Notez que par conception, vous ne pouvez pas modifier les paramètres « default.action ».

Cliquez sur « Modifier » pour ouvrir les paramètres « Match-All.Action ».

Les options d’édition apparaissent. Cliquez sur les liens en bleu clair pour accéder à une page d’aide décrivant cet élément.

Les boutons « Régler sur prudent », « Régler sur moyen » et « Régler sur avancé » permettent d’ajuster le niveau de filtrage de Privoxy. Vous pouvez augmenter le niveau de paranoïa de Privoxy pour filtrer de manière agressive tout ce qui paraît suspect, ou, au contraire, assouplir le filtrage pour un fonctionnement plus modéré.

Cliquez sur « Modifier » pour ajuster chaque paramètre individuellement.

Cochez les cases « Activé », « Désactivé » ou « Aucun changement » pour chaque option.

La colonne « Description » fournit une brève explication de chaque paramètre. En cliquant sur les liens de la colonne « Action », vous accéderez à une page d’aide complète.

Pour enregistrer vos modifications, cliquez sur « Soumettre » en haut ou en bas de la page.

Testez les paramètres par défaut

Dans la plupart des cas, les paramètres par défaut sont adéquats. Si vous souhaitez modifier un paramètre spécifique, Privoxy offre toutes les options nécessaires.

Avant de modifier les paramètres, vous pouvez faire une copie des fichiers de configuration en texte brut. Ainsi, en cas de problème, vous pourrez facilement revenir en arrière si vous êtes bloqué hors de l’interface web.