Serveur Mail IMAPs-POPs-SMTPs

Fixer les adresses IP :

root@SRV-DEBIAN:~# nano /etc/network/interfaces
allow-hotplug eth1
iface eth1 inet static
address 172.17.2.2
netmask 255.255.255.0
root@SRV-DEBIAN:~# ifdown eth0 eth1
root@SRV-DEBIAN:~# ifup eth0 eth1

Renommer votre serveur :

root@SRV-DEBIAN:~# echo "SRV-MAIL" > /etc/hostname
root@SRV-DEBIAN:~# /etc/init.d/hostname.sh

Configurer votre serveur DNS (Bind9)

Installer bind9

root@SRV-DEBIAN:~# apt-get install bind9

Configurer une zone (exemple : supmail.fr)

root@SRV-DEBIAN:~# cd /etc/bind
root@SRV-DEBIAN:/etc/bind# nano named.conf.default-zones

zone "supmail.fr" {
        type master;
        file "/etc/bind/db.supmail.fr";
};

root@SRV-DEBIAN:/etc/bind# cp db.local db.supmail.fr
root@SRV-DEBIAN:/etc/bind# nano db.supmail.fr

;
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     ns.supmail.fr. root.supmail.fr. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.
@       IN      MX 10   mail.supmail.fr.

ns      IN      A       172.17.2.2
mail    IN      A       172.17.2.2
pop     IN      CNAME   mail

Redémarrer le service et tester votre nouvelle zone

root@SRV-DEBIAN:/etc/bind# service bind9 restart
root@SRV-DEBIAN:/etc/bind# apt-get install dnsutils
root@SRV-DEBIAN:/etc/bind# dig @127.0.0.1 mx supmail.fr

;; QUESTION SECTION:
;supmail.fr.                    IN      MX

;; ANSWER SECTION:
supmail.fr.             604800  IN      MX      10 mail.supmail.fr.

;; AUTHORITY SECTION:
supmail.fr.             604800  IN      NS      ns.

;; ADDITIONAL SECTION:
mail.supmail.fr.        604800  IN      A       172.17.2.2

Ajouter l’adresse de votre serveur DNS sur votre serveur mail :

root@SRV-DEBIAN:/etc/bind# nano /etc/resolv.conf

domain localdomain
search localdomain
nameserver 127.0.0.1
nameserver 192.168.33.2

root@SRV-DEBIAN:/etc/bind# ping -c 3 mail.supmail.fr
PING mail.supmail.fr (172.17.2.2) 56(84) bytes of data.
64 bytes from 172.17.2.2: icmp_req=1 ttl=64 time=0.025 ms
64 bytes from 172.17.2.2: icmp_req=2 ttl=64 time=0.068 ms
64 bytes from 172.17.2.2: icmp_req=3 ttl=64 time=0.070 ms

Configurer vos services mail

Installer Postfix

root@SRV-DEBIAN:/etc/bind# apt-get install postfix

Installer Dovecot

root@SRV-DEBIAN:/etc/bind# apt-get install dovecot-common dovecot-imapd dovecot-pop3d libsasl2-2 libsasl2-modules sasl2-bin

Activer SASLAUTHD

root@SRV-DEBIAN:/etc/bind# nano /etc/default/saslauthd

# Should saslauthd run automatically on startup? (default: no)
START=yes

Générer les différents certificats :

root@SRV-DEBIAN:/etc/bind# cd
root@SRV-DEBIAN:~# openssl req -new -x509 -days 3650 -nodes -out "supmail.fr.cert" -keyout "supmail.fr.key"

Generating a 2048 bit RSA private key
.................................+++
........+++
writing new private key to 'supmail.fr.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:FR
State or Province Name (full name) [Some-State]:Nord
Locality Name (eg, city) []:Valenciennes
Organization Name (eg, company) [Internet Widgits Pty Ltd]:supmail.fr
Organizational Unit Name (eg, section) []:supmail.fr
Common Name (e.g. server FQDN or YOUR name) []:mail.supmail.fr
Email Address []:admin@supmail.fr

root@SRV-DEBIAN:~# ls
supmail.fr.cert  supmail.fr.key

Créer .pem à partir de la clé privé et de la clé publique

root@SRV-DEBIAN:~# cat supmail.fr.cert supmail.fr.key > supmail.fr.pem
root@SRV-DEBIAN:~# cp supmail.fr.* /etc/ssl/private/
root@SRV-DEBIAN:~# ls  /etc/ssl/private/
ssl-cert-snakeoil.key  supmail.fr.cert  supmail.fr.key  supmail.fr.pem

Certificat du CA

root@SRV-DEBIAN:/etc/ssl/private# cd /etc/ssl/certs/
root@SRV-DEBIAN:/etc/ssl/certs# openssl req -new -x509 -days 3650 -nodes -out "ca-certificates.crt" -keyout "ca-certificates.key"
Generating a 2048 bit RSA private key
..................................................................................................................................................................................+++
..........................................................................................+++
writing new private key to 'ca-certificates.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:FR
State or Province Name (full name) [Some-State]:Nord
Locality Name (eg, city) []:Valenciennes
Organization Name (eg, company) [Internet Widgits Pty Ltd]:supmail.fr
Organizational Unit Name (eg, section) []:supmail.fr
Common Name (e.g. server FQDN or YOUR name) []:mail.supmail.fr
Email Address []:admin@supmail.fr
root@SRV-DEBIAN:/etc/ssl/certs# ls
16174d9a  ca-certificates.crt  ca-certificates.key  ssl-cert-snakeoil.pem

Configuration de Postfix

root@SRV-DEBIAN:~# nano /etc/postfix/main.cf

smtpd_banner = $myhostname Welcome
biff = no
myorigin = /etc/mailname
mydestination =
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
# Your hostname and domain name here
myhostname=supmail.fr
mydomain=supmail.fr
myorigin=$mydomain
# Virtual mailbox configuration (/var/email should have been created through the previous commands)
virtual_mailbox_base=/var/email
virtual_mailbox_domains=hash:/etc/postfix/vmail_domains
virtual_mailbox_maps=hash:/etc/postfix/vmail_mailbox
virtual_alias_maps=hash:/etc/postfix/vmail_aliases
virtual_minimum_uid=100
virtual_uid_maps=static:7788
virtual_gid_maps=static:7788
virtual_transport=dovecot
# SSL configuration, make sure to use the certificates from step 2 (optional)
smtpd_tls_cert_file=/etc/ssl/private/supmail.fr.cert
smtpd_tls_key_file=/etc/ssl/private/supmail.fr.key
smtpd_tls_CAfile=/etc/ssl/certs/ca-certificates.crt
smtp_tls_CAfile=/etc/ssl/certs/ca-certificates.crt
smtp_use_tls=yes
smtpd_use_tls=yes
smtpd_tls_loglevel=1
smtpd_tls_received_header=yes
tls_random_source=dev:/dev/urandom
smtp_tls_note_starttls_offer=yes
smtpd_tls_session_cache_timeout=3600s
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
queue_directory=/var/spool/postfix
# Authentication settings, making use of SASL
smtpd_sasl_type=dovecot
smtpd_sasl_path=private/auth
smtpd_sasl_auth_enable=yes
broken_sasl_auth_clients=yes
smtpd_sasl_security_options=noanonymous
smtpd_sasl_tls_security_options=$smtpd_sasl_security_options
smtpd_sasl_local_domain=$myhostname
smtpd_sasl_application_name=smtpd
smtpd_helo_required=yes
smtpd_helo_restrictions=reject_invalid_helo_hostname
smtpd_recipient_restrictions=reject_unknown_recipient_domain, reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

Décommenter ces lignes

root@SRV-DEBIAN:~# nano /etc/postfix/master.cf

submission inet n       -       -       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING

Et ajouter ces lignes à la fin du fichier

dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=email:email argv=/usr/lib/dovecot/deliver -f ${sender} -d ${recipient}

Créer un fichier /etc/postfix/sasl/smtpd.conf et ajouter ces lignes

root@SRV-DEBIAN:~# nano /etc/postfix/sasl/smtpd.conf

pwcheck_method: saslauthd
mech_list: plain login cram-md5 digest-md5

Configuration de Dovecot

Editer le fichier dovecot.conf

root@SRV-DEBIAN:~# nano /etc/dovecot/dovecot.conf

# Basic configuration
protocols = imap imaps pop3 pop3s
log_timestamp = "%Y-%m-%d %H:%M:%S "
disable_plaintext_auth=yes
# User and group permissions
first_valid_uid=7788
last_valid_uid=7788
first_valid_gid=7788
last_valid_gid=7788
mail_location = maildir:/var/email/%d/%n/Maildir
mail_privileged_group = email
auth_verbose = yes
# SSL config
ssl_cert_file = /etc/ssl/private/supmail.fr.cert
ssl_key_file = /etc/ssl/private/supmail.fr.key
# LDA config
protocol lda {
  auth_socket_path = /var/run/dovecot/auth-master
  postmaster_address = admin@supmail.fr
  mail_plugins = sieve
  log_path =
}
# Authentication configuration
auth default {
    mechanisms = plain login
    passdb passwd-file {
        args = scheme=SHA1 /etc/dovecot/users.conf
    }
    userdb static {
        #args = /etc/dovecot/users.conf
        args = uid=7788 gid=7788 home=/var/email/%d/%n allow_all_users=yes
    }
socket listen {
        master {
            path = /var/run/dovecot/auth-master
            mode = 0600
            user = email
            group = email
   }
        client {
            path = /var/spool/postfix/private/auth
            mode = 0660
            user = postfix
            group = postfix
        }
    }
}

Création des utilisateurs

Hash des mots de passe

root@SRV-DEBIAN:~# echo -n "Supinfo2015" | sha1sum
d96c57f362c003083e542d57f7c67ccb00aa2158  -

Editer le fichier contenant les utilisateurs

root@SRV-DEBIAN:~# nano /etc/dovecot/users.conf

dominique@supmail.fr:d96c57f362c003083e542d57f7c67ccb00aa2158
delphine@supmail.fr:d96c57f362c003083e542d57f7c67ccb00aa2158

Créer un group ’email’ avec le gid 7788

root@SRV-DEBIAN:~# groupadd email -g 7788

Créer un utilisateur système et l’ajouter dans le group email

root@SRV-DEBIAN:~# useradd email -r -g 7788 -u 7788 -d /var/email -m -c "mail user"

Sécuriser les fichiers de configuration

root@SRV-DEBIAN:~# chgrp email /etc/dovecot/dovecot.conf
root@SRV-DEBIAN:~# chmod g+r /etc/dovecot/dovecot.conf
root@SRV-DEBIAN:~# chown root:root /etc/dovecot/users.conf
root@SRV-DEBIAN:~# chmod 755 /etc/dovecot/users.conf

Gérer les domaines, les boîtes aux lettres et les alias

Gestion des domaines

root@SRV-DEBIAN:~# nano /etc/postfix/vmail_domains

supmail.fr      OK

Gestion des boîtes aux lettres

root@SRV-DEBIAN:~# nano /etc/postfix/vmail_mailbox

dominique@supmail.fr    supmail.fr/dominique
delphine@supmail.fr     supmail.fr/delphine

Gestion des alias

root@SRV-DEBIAN:~# nano /etc/postfix/vmail_aliases

dominique@supmail.fr    dominique@supmail.fr
delphine@supmail.fr     delphine@supmail.fr
directeur@supmail.fr    dominique@supmail.fr
secretaire@supmail.fr   delphine@supmail.fr

Mapper et redémarrer les services

root@SRV-DEBIAN:~# postmap /etc/postfix/vmail_domains
root@SRV-DEBIAN:~# postmap /etc/postfix/vmail_aliases
root@SRV-DEBIAN:~# service postfix stop && service dovecot stop
root@SRV-DEBIAN:~# service postfix start && service dovecot start

Tester votre configuration avec telnet

root@SRV-DEBIAN:/etc/ssl/certs# telnet 172.17.2.2 imap
Trying 172.17.2.2...
Connected to 172.17.2.2.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE START                                                                                        TLS AUTH=PLAIN AUTH=LOGIN] Dovecot ready.
a1 LOGIN dominique@supmail.fr Supinfo2015
a1 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT                                                                                         SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT CHILDREN NAMESP                                                                                        ACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES                                                                                         WITHIN CONTEXT=SEARCH LIST-STATUS SPECIAL-USE] Logged in
a2 LIST "" "*"
* LIST (\HasNoChildren) "." "Sent"
* LIST (\HasNoChildren) "." "Drafts"
* LIST (\HasNoChildren) "." "Trash"
* LIST (\HasNoChildren) "." "INBOX"
a2 OK List completed.
a3 EXAMINE INBOX
* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
* OK [PERMANENTFLAGS ()] Read-only mailbox.
* 2 EXISTS
* 0 RECENT
* OK [UIDVALIDITY 1430416227] UIDs valid
* OK [UIDNEXT 3] Predicted next UID
* OK [HIGHESTMODSEQ 5] Highest
a3 OK [READ-ONLY] Select completed.
a4 FETCH 1 BODY[]
* 1 FETCH (BODY[] {875}
Return-Path: <delphine@supmail.fr>
Delivered-To: dominique@supmail.fr
Received: from [172.17.2.50] (unknown [172.17.2.50])
        (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
        (No client certificate requested)       
by supmail.fr (Postfix) with ESMTPSA id 930AF40380
        for <dominique@supmail.fr>; Thu, 30 Apr 2015 20:02:26 +0200 (CEST)
Message-ID: <55426E2D.4070301@supmail.fr>
Date: Thu, 30 Apr 2015 20:02:21 +0200
From: Delphine <delphine@supmail.fr>
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31                                                                                        .6.0
MIME-Version: 1.0
To: Dominique <dominique@supmail.fr>
Subject: Re: test
References: <55426E08.4010501@supmail.fr>
In-Reply-To: <55426E08.4010501@supmail.fr>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

super

On 30/04/2015 20:01, Dominique wrote:
> test

)
a4 OK Fetch completed.
a5 LOGOUT
* BYE Logging out
a5 OK Logout completed.
Connection closed by foreign host.
Votre serveur mail est correctement configuré, vous pouvez l’utiliser avec un client lourd. (Attention aux DNS sur votre client)

Webmail

Je vous conseille d’utiliser RainLoop

http://www.rainloop.net/docs/installation/
Son installation est très simple, il suffit d’installer apache2 et php5, de télécharger et d’extraire l’archive et de configurer apache.
Pour accéder à l’interface d’administration il faut entrer http://monserveur/?admin
Les identifiants par défaut sont :
admin
12345

Vous devez configurer le nom de domaine de votre serveur à partir de l’interface d’administration.

Une fois le nom de domaine renseigné, vos clients peuvent se connecter grâce à leurs adresses mails et leurs mot de passe.

Publicités

Open VPN sous Pfsense

Le but de ce tutoriel est d’installer un serveur VPN sur Pfsense.

L’identification de l’utilisateur passe par un serveur Active Directory (supinfo.local)

Nous devons aussi configurer Pfsense afin que l’utilisateur puisse se connecter à une interface graphique pour qu’il puisse télécharger le logiciel OpenVPN.

1 – Configuration du serveur Active Directory

Domain Controler

  • Dans notre cas le domaine est supinfo.local
  • Nous avons créer l’arborescence suivante : UO :  Pfsense > Users
  • Dans l’UO Users, nous avons créé 3 objets :
    • Un utilisateur autorisant l’accès à Pfsense (OpenVPN) : accesvpn
    • Un utilisateur “test”
    • Un groupe permettant de donner des droits d’accès (exemple : télécharger le logiciel)

2 – Création d’un certificat :

Cert Manager Menu

  • Cliquer sur le + afin de créer un nouveau certificat

Nouveau CA

  • Remplir les champs comme ci-dessous puis cliquer sur SAVE :

Informations CA

3 – Gestion des utilisateurs du domaine

Afin de connaitre le chemin exact de l’utilisateur :

    • Sur votre Contrôleur de Domaine
      • Lancer une mmc
      • Ajouter le composant “Utilisateurs & ordinateurs”
      • Dans Affichage sélectionner “fonctionnalités avancées”
      • Recherche votre utilisateur et faîtes un clique droit puis“Propriété”
      • Afficher l’onglet “Editeur d’attributs”
      • Rechercher la variable “distinguishedName” et noter ses paramètres

distinguishedName

User Manager Menu

  • Cliquer sur le + afin d’ajouter un nouveau moyen d’authentification

AD Authentification

  • Remplir les champs :
    • IP : celle de votre serveur Active Directory
    • Port : celui par défaut 389
    • Certificat : Celui créer précédemment (CA_access_VPN)
    • Search Scope :
      • Sélectionner : Level : “Subtree”
      • Base Name : supinfo.local : DC=supinfo,DC=local

Authentification DC Paramètres

      • User DN : la valeur de distinguishedName trouvé dans la manipulation sur le DC
      • Entrer le mot de passe de l’utilisateur
      • Valider

Paramètres DC

  • Dans le User Manager, sélectionner le DC (Supinfo)

User Manager Settings

  • Installer le package OpenVPN Client Export Utility
    • System > Packages > Available Packages

Installation OpenVPN Client Export Utility

  • Dans le User Manager, Créer un nouveau Groupe
    • Le nouveau groupe sur Pfsense doit-être identique au groupe sur le DC

Groupe User Manager

  • Ajouter le droit de pouvoir télécharger le package d’installation d’OpenVPN avec la configuration du client
    • Cliquer sur le + de Assigned Privileges et selectionner “OpenVPN : Client Export Utility”

Droits groupes User Manager

4 – Création du serveur OpenVPN :

  • Lancer VPN > OpenVPN > Wizard

Wizard OpenVPN

  • Sélectionner le serveur DC (Supinfo)

Wizard OpenVPN LDAP

  • Sélectionner le certificat (CA_access_VPN)

Wizard OpenVPN CA

  • Créer le certificat du serveur (les informations sont pré-remplies)

Wizard Création certificat

Wizard Création certificat Suite

  • Choisir comme Encryption Algorithm : BF-CBC (128 bit)

BF-CBC (128 bit) Wizard Création

  • DNS Default : Celui de votre DC, DNS 1 : L’adresse IP de votre DC

Paramètres IP du client

Wizard règles automatique Firewall

Wizard Terminé

5- Configuration du Firewall

  • Dans Interfaces > WAN
    • Vérifier que la case “Block private networks” est décochée

Vérification paramètrage Firewall sur l'interface WAN

  • Ajouter une règle sur votre Firewall afin que vos utilisateurs puissent accéder à l’interface web pour télécharger leurs configurations

Règle HTTP WAN > Internet

Règle HTTP WAN > Internet Suite

6 – Installation d’OpenVPN sur le client :

  • Lancer un navigateur web et entrer l’adresse de votre serveur Pfsense

Connexion du client sur l'interface web

  • Descendre en bas de la page et télécharger votre Installeur en fonction de votre plateforme

Téléchargement de l'installeur

  • Lancer votre installation …
    • Lancer OpenVPN et faire un clique droit sur l’icône de notification (fenêtre avec un cadenas)
    • Cliquer sur connecter

Première connexion

  • Identifiez-vous avec un utilisateur du domaine appartenant au groupe VPN

Identification OpenVPN

  • Notre client est bien connecté avec l’IP 10.0.10.6

Connexion réussie, Adressage IP Automatique

 

Vous avez correctement configuré Pfsense pour un serveur OpenVPN.

Installation et Configuration de SquidGuard sur Pfsense

SquidGuard permet de bloquer certain contenu sur Internet.

Les listes de contenu peuvent-être manuel ou téléchargeable :

http://www.shallalist.de/Downloads/shallalist.tar.gz

http://squidguard.mesd.k12.or.us/blacklists.tgz

Les listes ci-dessus sont compatible avec Pfsense.

  • Installer le package “squidGuard-squid3 « 

menu  menu

Installation du Package SquidGuard

  • Configurer votre Proxy filtrer :

menu

  • Aller dans “Blacklist”

menu

  • Entrer l’URL d’une source de liste de filtrage et attendre “Blacklist update complete” :

http://www.shallalist.de/Downloads/shallalist.tar.gz

OU

http://squidguard.mesd.k12.or.us/blacklists.tgz

Téléchargement et Installation de la blacklist

  • Retourner dans la configuration générale

menu

  • Cocher la case “Blacklist” et cliquer sur “Save”

activation du blacklistage

  • Remonter et activer le proxy

activation de SquidGuard

  • Dans Commun ACL cliquer “Rules”

menu

  • Choisir les catégories à bloquer

catégories de filtrage

  • Activer la protection des moteur de recherche : “SafeSearch”.
  • Dans notre cas, lorsqu’une page est bloquée, Pfsense l’a remplace par un message d’erreur.

activation du safesearch

  • Appliquer les changements

application des changements

page bloquée

La page est bloquée.

Vous avez configuré votre filtrage web.

Mise en place de Squid3 avec Pfsense (mode Transparent)

Nous allons mettre en place un proxy avec Pfsense.

Ce proxy sera l’intermédiaire entre le réseau Internet, notre réseau LAN et Pedago.

Le but de ce serveur est de protéger les réseaux ascendants du réseau Internet ou externe.

Un proxy régule les données qui transite par lui-même.

Dans notre cas, nos clients ne recevrons que des informations sur des pages web.

Il sera impossible d’établir un contrôle distant depuis le réseau Internet directement sur un client connecté au proxy.

  • Installation du package SQUID3

image

  • Cliquer sur “Available Packages”

image

  • Installer le package SQUID3 et patienter pendant l’installation

image

image

  • Aller dans “Services” puis dans “Proxy server”

image

  • Configurer votre serveur proxy :
  1. Sélectionner les réseaux (ici : LAN et PEDAGO)
  2. Cocher : Allow users
  3. Cocher Transparent HTTP proxy (permet de ne pas renseigner l’utilisation d’un proxy sur les clients).

image

  • Descendre en base de la page et cliquer sur “SAVE”

image

 

 

 

Ci-dessous la vidéo de la manipulation.

DNS avec Pfsense

Dans un précèdent billet, nous avons routé les trames d’un réseau vers un autre afin d’afficher la page web Cubbyhole.

Le problème, c’est que le client devait taper : http://10.0.0.2

Afin de facilité la tâche aux clients nous allons mettre en place une résolution DNS.

Lorsque le client tape www.cubbyhole.com Pfsense va résoudre 10.0.0.2 puis router les trames d’un réseau à l’autre afin d’afficher la page web.

 

  • Aller dans “Service” puis “DNS Forwarder”

image

  • Descendre en bas de la page afin d’ajouter un hôte

image

  • Remplir les champs, Hôte, Domaine, et adresse IP ainsi qu’une description puis valider.

image

  • Appliquer les changements

image

 

  • Tester : Faire un ping de votre hôte :

image 

  • Dans notre exemple, le système résout et le navigateur nous affiche la page web :

image

 

Ci-dessous la vidéo de la manipulation.

Routage via Pfsense

image

Nous allons mettre en place un routage pour que le terminal sur le réseau 192.168.1.0/24 puisse communiquer avec le serveur WEB sur le réseau 10.0.0.0 /16.

Il faut créer une règle permettant au terminal d’envoyer et recevoir les requêtes et permettre aussi au serveur web d’envoyer et recevoir les requêtes vers son client.

  • Aller dans “Firewall” puis dans “Rules”

image

  • Créer une nouvelle règle sur le réseau “source” :

image

  • Choisir l’interface, le Protocol, la source, la destination et les ports

image

image

  • Valider
  • Faire la même chose pour le réseau “destinataire” :

image

  • La même chose sauf qu’il faut inverser source et destination 😉

image

  • Ne pas oublier de sauvegarder la configuration :

image

Tester votre configuration :

image

Nous arrivons à afficher notre page web.

 

Ci-dessous la vidéo de la manipulation :

Pfsense mise en place de règles firewall

  • Se connecter à l’interface d’administration Pfsense.
  • Cliquer sur “Firewall” puis sur “Rules”

image

  • Sélectionner l’interface puis cliquer sur “add”

image

  • Remplir les règles :

image

image

  1. Sélectionner l’action : On autorise, On n’autorise pas.
  2. Choisir l’interface
  3. Choisir le protocole
  4. La Source : Une adresse IP, un sous-réseau, un réseau, etc …
  5. La destination : Une adresse IP, un sous-réseau, un réseau, etc …
  6. Les ports : 80 (http), 443 (https), 53 (DNS), etc …
  7. Cliquer sur “SAVE”

Exemple pour la configuration du HTTPS :

image

image

  • Gestion des règles fonctionnent par arborescence :

Exemple : je souhaite utiliser le protocole http, Pfsense ce pose ces questions :

  1. Est-ce un DNS ?
  2. Est-ce un HTTPS ?
  3. Est-ce un HTTP => OUI, j’actionne la règle (ici, j’autorise).

image

Il faut ajouter la règle qui bloque tout en dernier (sécurité).

Il faut faire attention à la place des règles par soucis d’optimisation.

Dans l’exemple ci-dessus, il faut placer le http en 2èmes car il est plus souvent utilisé que le https.

  • Pour modifier l’ordre des règles :
  1. Cocher la règle
  2. Cliquer sur la main avec une flèche.

image

  • Ne pas oublier d’appliquer la modification de ces règles et d’attendre le rafraichissement.

image

Test : Essayer de vos connecter en http et https (exemple : http://www.google.fr)

puis connectez-vous en ftp (ftp://ftp.univ-lille1.fr/).

La connexion http et https réussit mais la connexion ftp échoue.

Logique: nous n’avons pas autorisé ce Protocol via une règle.

 

Vous avez correctement configuré vos règles.

Ci-dessous la vidéo de la manipulation :