Portail captif + proxy transparent : Différence entre versions

De SLM - MediaWiki
(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.====
+
===Ajouter l’interface.===
 
''Interfaces -> Assignations''
 
''Interfaces -> Assignations''
  
Ligne 8 : Ligne 10 :
  
  
====Configurer l'interface====
+
===Configurer l'interface===
 
''Interfaces -> opt1''
 
''Interfaces -> opt1''
  
Ligne 14 : Ligne 16 :
  
  
====Configurer le DHCP====
+
===Configurer le DHCP===
 
''Services -> DHCPv4 -> LANGUEST''
 
''Services -> DHCPv4 -> LANGUEST''
  
Ligne 20 : Ligne 22 :
  
  
====Renseigner DNS====
+
===Renseigner DNS===
 
''Système -> Paramètres -> Général''
 
''Système -> Paramètres -> Général''
  
Ligne 26 : Ligne 28 :
  
  
====Redirection DNS====
+
===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====
+
===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====
+
===Import Template===
 
''Services-> Portail Captif -> Administration -> Modèles''
 
''Services-> Portail Captif -> Administration -> Modèles''
  
Ligne 56 : Ligne 58 :
  
  
====Configuration du serveur d'authentification====
+
===Configuration du serveur d'authentification===
  
 
Plusieurs options sont possibles :
 
Plusieurs options sont possibles :
  
======Vide : Sans authentification======
+
*Vide : Sans authentification
======[[Local Database]] : Permet de créer des utilisateurs manuellement qui seront stocké dans la base de donné opnsense======
+
*[[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======
+
*[[Tickets]] : Permet de générer des utilisateurs temporaire en masse
======Ldap : (non documenté)======
+
*Ldap : (non documenté)
======Radius: (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
+
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/ada1
+
  fdisk -I /dev/ada0 # si "Working on device /dev/ada0" continuer tout de même
  bsdlabel -w ada1s1
+
  bsdlabel -w ada0s1
  newfs -U /dev/ada1s1a
+
  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/cxm/scripts/
+
  mkdir -p /etc/tiscom/scripts/
  mkdir /etc/cxm/log/
+
  mkdir /etc/tiscom/log/
  touch /etc/cxm/log/historique.log
+
  touch /etc/tiscom/log/historique.log
  
 
Ajouter le script
 
Ajouter le script
  vi /etc/cxm/scripts/backup_squid_log_ftp.sh
+
  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/cxm/scripts/backup_squid_log_ftp.sh
+
  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)
  
Créer un fichier cxm_crontab dans le répertoire /etc/cron.d/
+
Editer crontab
  touch /etc/cron.d/cxm_crontab
+
  crontab -e
 
Mettre les droits
 
chmod +X /etc/cron.d/cxm_crontab
 
  
Ajouter dans le fichier:
 
 
  # /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
 
  #
 
  #
59      23      *      *      *      (csh /etc/cxm/scripts/backup_squid_log_ftp.sh) > /dev/null
 
  
Pour verifier:  
+
Pour vérifier:  
 
  crontab -l
 
  crontab -l
  
ou modifier  /etc/crontab et ajouter
 
  
# CXM Script save log
+
[[Catégorie:OPNSense]]
53      23      *      *      *      root    csh /etc/cxm/scripts/backup_squid_log_ftp.sh
 

Version actuelle datée du 8 novembre 2021 à 15:46

Retour

Configuration du réseau invité

Ajouter l’interface.

Interfaces -> Assignations

Assignation1.png

Assignation2.png


Configurer l'interface

Interfaces -> opt1

Interface.png


Configurer le DHCP

Services -> DHCPv4 -> LANGUEST

Dhcp.png


Renseigner DNS

Système -> Paramètres -> Général

Serveurdns.png


Redirection DNS

Pare-feu -> Nat -> Redirection de port

Dns.png


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)

Rules1.png


Isoler le réseau Guest :

Pare-feu -> Règles -> LANGUEST

Rules2.png


Configuration du portail captif

Import Template

Services-> Portail Captif -> Administration -> Modèles

Pc-template.png

Pc-template2.png


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.

Pc-conf.png

Pc-conf2.png


Configuration du proxy

Créer une autorité de certification interne

Systeme -> Trust -> Autorités

Ca-proxy.png

Activer le proxy

Services -> Proxy Web -> Administration

Onglet: General proxy settings

Proxy-conf.png


Activer le cache

Onglet: Local cache settings

Proxy-cache.png


Activer la QOS

Onglet: Traffic Management Settings

Proxy-qos.png


Configuration du proxy

Onglet: Forward Proxy

Proxy-forward.png


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

Proxy-blacklist.png


Télécharger les ACLs et les appliquer

Proxy-blacklist-acl.png

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)

Hote.png


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