Portail captif + proxy transparent
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/ada1 bsdlabel -w ada1s1 newfs -U /dev/ada1s1a
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)
Créer un fichier tiscom_crontab dans le répertoire /etc/cron.d/
touch /etc/cron.d/tiscom_crontab
Mettre les droits
chmod +X /etc/cron.d/tiscom_crontab
Ajouter dans le fichier:
# /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 # 59 23 * * * (csh /etc/tiscom/scripts/backup_squid_log_ftp.sh) > /dev/null
Pour verifier:
crontab -l
ou modifier /etc/crontab et ajouter
# Tiscom Script save log 53 23 * * * root csh /etc/tiscom/scripts/backup_squid_log_ftp.sh