Portail captif + proxy transparent : Différence entre versions
(Created page with "==Configuration du réseau invité== ====Ajouter l’interface.==== ''Interfaces -> Assignations'' |900px |900px ====Co...") |
|||
(8 révisions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
+ | [[OPNSense|Retour]] | ||
+ | |||
==Configuration du réseau invité== | ==Configuration du réseau invité== | ||
− | + | ===Ajouter l’interface.=== | |
''Interfaces -> Assignations'' | ''Interfaces -> Assignations'' | ||
Ligne 8 : | Ligne 10 : | ||
− | + | ===Configurer l'interface=== | |
''Interfaces -> opt1'' | ''Interfaces -> opt1'' | ||
Ligne 14 : | Ligne 16 : | ||
− | + | ===Configurer le DHCP=== | |
''Services -> DHCPv4 -> LANGUEST'' | ''Services -> DHCPv4 -> LANGUEST'' | ||
Ligne 20 : | Ligne 22 : | ||
− | + | ===Renseigner DNS=== | |
''Système -> Paramètres -> Général'' | ''Système -> Paramètres -> Général'' | ||
Ligne 26 : | Ligne 28 : | ||
− | + | ===Redirection DNS=== | |
''Pare-feu -> Nat -> Redirection de port'' | ''Pare-feu -> Nat -> Redirection de port'' | ||
Ligne 32 : | Ligne 34 : | ||
− | + | ===Création des règles de firewall=== | |
''Pare-feu -> Paramètres -> Avancé'' | ''Pare-feu -> Paramètres -> Avancé'' | ||
En activant cette option, les règles du portail captif (8000 à 10000) et proxy (3128 et 3129) sont créer et gérer par OPNsense (non visible depuis la GUI) | En activant cette option, les règles du portail captif (8000 à 10000) et proxy (3128 et 3129) sont créer et gérer par OPNsense (non visible depuis la GUI) | ||
Ligne 48 : | Ligne 50 : | ||
==Configuration du portail captif== | ==Configuration du portail captif== | ||
− | + | ===Import Template=== | |
''Services-> Portail Captif -> Administration -> Modèles'' | ''Services-> Portail Captif -> Administration -> Modèles'' | ||
Ligne 56 : | Ligne 58 : | ||
− | + | ===Configuration du serveur d'authentification=== | |
Plusieurs options sont possibles : | Plusieurs options sont possibles : | ||
− | + | *Vide : Sans authentification | |
− | + | *[[Local Database]] : Permet de créer des utilisateurs manuellement qui seront stocké dans la base de donné opnsense | |
− | + | *[[Tickets]] : Permet de générer des utilisateurs temporaire en masse | |
− | + | *Ldap : (non documenté) | |
− | + | *Radius: (Non documenté) | |
Ligne 80 : | Ligne 82 : | ||
==Configuration du proxy== | ==Configuration du proxy== | ||
− | ====Créer une autorité de certification interne | + | ====Créer une autorité de certification interne==== |
''Systeme -> Trust -> Autorités'' | ''Systeme -> Trust -> Autorités'' | ||
[[File:ca-proxy.png|900px]] | [[File:ca-proxy.png|900px]] | ||
− | |||
====Activer le proxy==== | ====Activer le proxy==== | ||
Ligne 115 : | Ligne 116 : | ||
''Onglet: Forward Proxy'' | ''Onglet: Forward Proxy'' | ||
l'adresse de la liste: | l'adresse de la liste: | ||
− | + | ftp://ftp.ut-capitole.fr/pub/reseau/cache/squidguard_contrib/blacklists.tar.gz | |
− | |||
[[File:proxy-blacklist.png|700px]] | [[File:proxy-blacklist.png|700px]] | ||
Ligne 122 : | Ligne 122 : | ||
Télécharger les ACLs et les appliquer | Télécharger les ACLs et les appliquer | ||
− | [[File:proxy-blacklist-acl.png|900px]] | + | [[File:proxy-blacklist-acl.png|900px]] |
− | |||
==Optimisation== | ==Optimisation== | ||
Ligne 159 : | Ligne 158 : | ||
====Formater le HDD==== | ====Formater le HDD==== | ||
− | fdisk -I /dev/ | + | fdisk -I /dev/ada0 # si "Working on device /dev/ada0" continuer tout de même |
− | bsdlabel -w | + | bsdlabel -w ada0s1 |
− | newfs -U /dev/ | + | newfs -U /dev/ada0s1a |
− | |||
====Changer l'emplacement des log vers le HDD==== | ====Changer l'emplacement des log vers le HDD==== | ||
Ligne 202 : | Ligne 200 : | ||
Création des répertoires et fichier nécessaire | Création des répertoires et fichier nécessaire | ||
mkdir /var/log/squid/backup | mkdir /var/log/squid/backup | ||
− | mkdir -p /etc/ | + | mkdir -p /etc/tiscom/scripts/ |
− | mkdir /etc/ | + | mkdir /etc/tiscom/log/ |
− | touch /etc/ | + | touch /etc/tiscom/log/historique.log |
Ajouter le script | Ajouter le script | ||
− | vi /etc/ | + | vi /etc/tiscom/scripts/backup_squid_log_ftp.sh |
[https://gitlab.calexium.com/sebastien/Opnsense-Portail-captif/blob/b47e094d347dd5f8949f5a4e013f1afe39b30dc9/backup_squid_log_ftp.sh Liens vers script gitlab.calexium] | [https://gitlab.calexium.com/sebastien/Opnsense-Portail-captif/blob/b47e094d347dd5f8949f5a4e013f1afe39b30dc9/backup_squid_log_ftp.sh Liens vers script gitlab.calexium] | ||
Mettre les droits | Mettre les droits | ||
− | chmod +x /etc/ | + | chmod +x /etc/tiscom/scripts/backup_squid_log_ftp.sh |
Planifier le lancement du script tout les jours avant le newssyslog (lancé à minuit) | Planifier le lancement du script tout les jours avant le newssyslog (lancé à minuit) | ||
− | + | Editer crontab | |
− | + | crontab -e | |
− | |||
− | |||
− | |||
− | |||
# /etc/crontab - root's crontab for FreeBSD | # /etc/crontab - root's crontab for FreeBSD | ||
# | # | ||
Ligne 230 : | Ligne 224 : | ||
# | # | ||
#minute hour mday month wday who command | #minute hour mday month wday who command | ||
+ | # Tiscom Script save log | ||
+ | 59 23 * * * (csh /etc/tiscom/scripts/backup_squid_log_ftp.sh) > /dev/null | ||
# | # | ||
− | |||
− | Pour | + | Pour vérifier: |
crontab -l | crontab -l | ||
− | |||
− | + | [[Catégorie:OPNSense]] | |
− |
Version actuelle datée du 8 novembre 2021 à 15:46
Sommaire
Configuration du réseau invité
Ajouter l’interface.
Interfaces -> Assignations
Configurer l'interface
Interfaces -> opt1
Configurer le DHCP
Services -> DHCPv4 -> LANGUEST
Renseigner DNS
Système -> Paramètres -> Général
Redirection DNS
Pare-feu -> Nat -> Redirection de port
Création des règles de firewall
Pare-feu -> Paramètres -> Avancé En activant cette option, les règles du portail captif (8000 à 10000) et proxy (3128 et 3129) sont créer et gérer par OPNsense (non visible depuis la GUI)
Isoler le réseau Guest :
Pare-feu -> Règles -> LANGUEST
Configuration du portail captif
Import Template
Services-> Portail Captif -> Administration -> Modèles
Configuration du serveur d'authentification
Plusieurs options sont possibles :
- Vide : Sans authentification
- Local Database : Permet de créer des utilisateurs manuellement qui seront stocké dans la base de donné opnsense
- Tickets : Permet de générer des utilisateurs temporaire en masse
- Ldap : (non documenté)
- Radius: (Non documenté)
Configuration du portail captif
Services-> Portail Captif -> Administration -> Zones
Dans le champ : Authenticate using
Choisissez le serveur créer plus haut.
Configuration du proxy
Créer une autorité de certification interne
Systeme -> Trust -> Autorités
Activer le proxy
Services -> Proxy Web -> Administration
Onglet: General proxy settings
Activer le cache
Onglet: Local cache settings
Activer la QOS
Onglet: Traffic Management Settings
Configuration du proxy
Onglet: Forward Proxy
Création d’une liste de filtrage de contenu
Onglet: Forward Proxy l'adresse de la liste:
ftp://ftp.ut-capitole.fr/pub/reseau/cache/squidguard_contrib/blacklists.tar.gz
Télécharger les ACLs et les appliquer
Optimisation
msata + HDD
Dans le cas d'une config sur une msata, pour que les logs squid aillent sur le disque dur, il faut:
Changer l'ordre du boot
Appuyer sur F10
choix "payload [setup]"
par défaut voici l'ordre:
d SATA a USB 1 / USB 2 SS and HS b SDCARD c mSATA e iPXE (disabled)
Ordre de démarrage - tapez la lettre du lecteur pour le déplacer en haut.
Pour avoir cet ordre:
a USB 1 / USB 2 SS and HS b SDCARD c mSATA d SATA e iPXE (disabled)
entrer: e d c b a
pour sauvegarder et quitter entrer "s"
Formater le HDD
fdisk -I /dev/ada0 # si "Working on device /dev/ada0" continuer tout de même bsdlabel -w ada0s1 newfs -U /dev/ada0s1a
Changer l'emplacement des log vers le HDD
Modifier: /etc/fstab et ajouter
/dev/ada1s1a /var/log/squid ufs rw,async 1 2
Redemarrer
Pour vérifier:
root@OPNsense:~ # df -h Filesystem Size Used Avail Capacity Mounted on /dev/gpt/rootfs 13G 1.0G 11G 8% / devfs 1.0K 1.0K 0B 100% /dev /dev/ada1s1a 451G 48K 415G 0% /var/log/squid devfs 1.0K 1.0K 0B 100% /var/dhcpd/dev devfs 1.0K 1.0K 0B 100% /var/captiveportal/zone0/dev
Archiver les log pendants 365jours
Gestion logrodate opnsense
modifier /etc/newssyslog.conf.d/squid comme ci dessous
# logfilename [owner:group] mode count size when flags [/pid_file] [sig_num] /var/log/squid/access.log squid:squid 644 365 * @T00 ZB /var/run/squid/squid.pid 30 /var/log/squid/cache.log squid:squid 644 2 * @T00 ZB /var/run/squid/squid.pid 30 /var/log/squid/store.log squid:squid 644 2 * @T00 ZB /var/run/squid/squid.pid 30
Archivage journalier autonome
Création d'une archive aillant pour nom la date et envoi a un serveur ftp en créant l’arborescence
Renseigner le fuseau horaire ainsi que le nom d’hôte et domaine.
C'est ceux-ci qui seront utilisé pour créer le répertoire client sur le serveur FTP (hote.domaine)
Création des répertoires et fichier nécessaire
mkdir /var/log/squid/backup mkdir -p /etc/tiscom/scripts/ mkdir /etc/tiscom/log/ touch /etc/tiscom/log/historique.log
Ajouter le script
vi /etc/tiscom/scripts/backup_squid_log_ftp.sh
Liens vers script gitlab.calexium
Mettre les droits
chmod +x /etc/tiscom/scripts/backup_squid_log_ftp.sh
Planifier le lancement du script tout les jours avant le newssyslog (lancé à minuit)
Editer crontab
crontab -e
# /etc/crontab - root's crontab for FreeBSD # # $FreeBSD$ # SHELL=/bin/sh PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin # #minute hour mday month wday who command # Tiscom Script save log 59 23 * * * (csh /etc/tiscom/scripts/backup_squid_log_ftp.sh) > /dev/null #
Pour vérifier:
crontab -l