Différences entre les pages « Signature messagerie avec image » et « Passerelle »

De Cliss XXI
(Différence entre les pages)
Sauter à la navigation Sauter à la recherche
imported>WikiSysop
 
imported>VincentAdolphe
 
Ligne 1 : Ligne 1 :
Comment faire pour obtenir une signature avec des images dedans un peu comme celle la:
+
= Configuration de base =
[[Image:sig_mail_img_final.png|||400px]]
 
  
__toc__
+
Le reseau pris pour exemple est en 10.21.0.0/24, la passerelle a l'IP 10.21.0.254 du cote "lan"
 +
et est client DHCP du cote "WAN"
  
= Roundcube =
+
== Option IPv6 ==
D'abord préparer une image d'une taille raisonnable (200x200 pixels et en tout cas pas plus de 400x400)
+
* desactiver IPv6 (il est sans doute préférable de ne pas supporter IPv6 plutôt que de le faire mais d'avoir une passoire).
 +
echo net.ipv6.conf.all.disable_ipv6=1 > /etc/sysctl.d/local-no-ipv6.conf
 +
sysctl --system
  
Dans roundcube:
+
== Option routage ==
préference -> onglet "identité" -> cliquer sur l'identité appropriée -> sous onglet "signature"
+
* activer le ''forward''
 +
echo net.ipv4.ip_forward=1 > /etc/sysctl.d/local-forward.conf
 +
sysctl --system
  
cocher la case "HTML"
+
== NAT ==
faites un "glisser-déposé" de l'image depuis un explorateur de fichier vers le cadre de rédaction
+
=== iptables / NAT ===
de la signature.
+
* faire un simple ''masquerading'' d'IP
 +
iptables -t nat -A POSTROUTING -o <outbound_interface> -j MASQUERADE
  
== Pour vérifier ==
+
=== Configuration FireHOL ===
En effet, si l'image est trop grande, elle est troquée par roundcube entraînant en cascade un code HTML invalide et en pratique, la signature ne s'affiche pas, le courriel mal encodé a de forte chance d'être pris pour du spam...
+
FireHOL permet de facilement mettre en place un firewall efficace. Dans le cas de machine GNU/Linux qui ont souvent une configuration par défaut robuste le problème se pose peu. Par contre s'il faut proteger des machines non linux ou faire de la protection de reseau (les invités sur le réseau wifi ne doivent pas voir le réseau interne ou on permet des connexions d'internet vers l'application mais on protège contre les syn-floods).
  
Donc voila une méthode pour vérifier que le code de l'image est pris en compte jusqu'au bout (si ça n'est pas le cas, il faut réduire l'image).
+
* apres un apt-get install firehol, faire un
 +
  firehol helpme > /etc/firehol/test-conf
 +
* editer le fichier /etc/firehol/test-conf, il devrait ressembler a ca:
  
Dans la barre d'outil d'édition de la signature, cliquez sur "HTML", une nouvelle fenêtre s'ouvre avec le code HTML.
+
interface eth0 dhcp
Vérifiez qu'il y ait bien le marquer de fin d'image à la fin:
+
        policy return
  alt="" /></p>
+
        server dhcp accept
 +
 +
interface eth0 lan src "10.21.0.0/24" dst 10.21.0.254
 +
        policy reject
 +
        # Here are the services listening on eth0.
 +
        server dhcp accept
 +
        server dns accept
 +
        server ICMP accept
 +
        server ssh accept
 +
        client all accept
 +
 +
interface eth1 wan
 +
        policy reject
 +
        server ICMP accept
 +
        server ssh accept
 +
        client all accept
 +
 +
router lan2wan inface eth0 outface eth1 src "10.21.0.0/24"
 +
      masquerade
 +
      server all accept
  
Si c'est le cas, cliquez sur le bouton "annuler" de cette nouvelle fenêtre, enregistrez votre signature.
+
== serveur DHCP ==
 +
* on ajoute un DHCP/DNS avec dnsmasq, ex de fichier de conf (/etc/dnsmasq.d/passerelle.conf):
  
== Pour l'utiliser ==
+
user=dnsmasq
Lors de la rédaction d'un courriel, si vous êtes en mode "html", la signature devrait apparaître d'elle même. Si vous êtes en mode texte, basculez en mode "HTML" (c'est le bouton en bas à droite), puis cliquez sur le bouton "inserer ma signature" (dans la barre d'outil en haut).
+
group=nogroup
 +
interface=eth0
 +
 +
# On évite de faire sortir les requêtes de domaines locaux
 +
domain-needed
 +
bogus-priv
 +
dhcp-authoritative
  
= Thunderbird/Icedove =
+
# Le domaine local qui sera ajouté aux noms DNS des machines assignées par le
== Le principe: ==
+
# DHCP, et fourni en nom de domaine local aux clients DHCP.
 +
domain=lan
 +
dhcp-option=15,lan
 +
dhcp-option=119,lan
 +
# Ajouter le domaine aux noms simples définis dans /etc/hosts
 +
expand-hosts
 +
# Les noms du domaine local ne sont résolus que par /etc/host et le DHCP
 +
local=/lan/
 +
 +
# La passerelle du réseau à fournir aux clients DHCP
 +
dhcp-option=option:router,10.21.0.254
 +
## Entree IP fixee par DHCP:
 +
read-ethers
 +
 +
## plage dynamique: 101 - 150
 +
# La plage d'adresses dynamiques fournies par le serveur DHCP
 +
dhcp-range=eth0,10.21.0.1,10.21.0.200,255.255.255.0,12h
  
# Tout d'abord sélectionnez la ou les images que vous voulez utilisez (attention à prendre une petite taille, 200x200 pixels est un maximum, sinon *tout* vos messages seront très lourd, donc long à envoyer et à recevoir).
+
== Ajout d'une option de boot PXE netboot ==
# Écrivez un nouveau courriel en .html dans lequel vous mettez en page votre signature
+
* on installe un serveur tftp (tftpd-hpa par exemple)
# Enregistrez ce courriel sous forme de fichier .html (puis annulez le, pas besoin de l'envoyer).
+
* on place les "bon" fichiers a la racine (/srv/tftp) - suivre le tuto https://www.debian-administration.org/article/478/Setting_up_a_server_for_PXE_network_booting
# Dans les paramètres de votre compte choisissez ce fichier .html comme signature
+
* on ajoute la ligne suivante a la configuration dnsmasq:
 +
dhcp-boot=pxelinux.0
  
====Problèmes possibles====
 
  
Normalement tout se passe bien de manière automatique.
+
== Ajout d'une option de boot pour un systeme complet sur NFS ==
  
=====Vous insérez une image celle ci n'apparaît pas=====
+
=== installation NFS ===
 +
apt-get install nfs-server
 +
Configurer le fichier /etc/exports
 +
/srv/tftp/ 10.21.0.0/24(ro,async,no_root_squash,no_subtree_check)
  
Regardez comment est notée la source de l'image :
+
Verifiez que le nfs est visible sur le reseau, depuis une autre machine, tapez
 +
showmount -e 10.21.0.254
  
* si ça commence par <tt> file:///... </tt>. Pas de chance, c'est un autre problème.
+
=== Configuration fireHOL ===
* si ça commence par <tt> h<span></span>ttp://../.... </tt> ça ne marchera pas, il faut ajuster la source pour qu'elle commence par <tt>file:///</tt> (avec un chemin absolu). Voir les encadrés cyan dans les étapes 3 et 4 ci après.
+
NFS utilise par défaut des ports dynamiques, ce qui est embetant dès lors qu'il y a un firewall.
 +
fireHOL est assez malin pour énumérer les port utilisé par NFS, à condition que celui ci soit lancé avant
 +
que fireHOL démarre. Il faut en plus relancer fireHOL à chaque redémarrage de NFS.
 +
Le fait de fixer les ports utilisés par NFS permet de garder la même configuration sans avoir besoin
 +
de relancer fireHOL.
  
====Remarques====
+
==== Fixer les ports utilisés par NFS ====
 +
En reprenant l'exemple donné par debian: https://wiki.debian.org/SecuringNFS
 +
* Fichier /etc/modprobe.d/local-nfs-lockd.conf
 +
options lockd nlm_udpport=32768 nlm_tcpport=32768
 +
options nfs callback_tcpport=32764
  
* évitez trop de liens hypertextes dans vos signatures, a fortiori vers des domaines différents de votre domaine expéditeur. Ça peut vous amener à être bloqué par certains anti-spams (laposte.net notamment).
+
* Fichier /etc/default/nfs-common, ajouter/modifier la ligne:
 +
STATDOPTS="--port 32765 --outgoing-port 32766"
  
* la documentation officielle de Mozilla à ce sujet : https://support.mozilla.org/fr/kb/ajouter-signature-messages
+
* Fichier /etc/default/nfs-kernel-server, ajouter/modifier la ligne:
 +
RPCMOUNTDOPTS="--manage-gids --port 32767"
  
== L'exercice en image ==
+
Maintenant les ports nécessaires à une connexion NFS sont les suivants:
 +
* 111 (tcp/udp) sunrcp
 +
* 2049 (tcp/udp) nfs
 +
* 32764 - 32768 (tcp/udp) (mountd, statd, etc...)
  
{|  class="gallery"
+
==== Configurer fireHOL ====
!|
+
ajouter un fichier contenant ces services dans /etc/firehol/services/fixed-nfs-port.conf (c'est le .conf et la premiere ligne du fichier avec FHVER qui sont important)
Étape
+
#FHVER: 1:213
!|
+
# NFS callback port
Illustration
+
server_nfscallback_ports="tcp/32764 udp/32764"
(cliquez pour agrandir)
+
client_nfscallback_ports="default"
|-
 
||
 
01
 
  
Commencez la rédaction d'un nouveau courriel, et insérez un tableau de trois colonnes et une ligne.
+
# RPC statd port (broadcast)
||
+
server_nfsstatdbc_ports="tcp/32765 udp/32765"
[[Image:sig_mail_img_01.png|||400px]]
+
client_nfsstatdbc_ports="default"
  
|-
+
# RPC statd outgoing port
||
+
server_nfsstatd_ports="tcp/32766 udp/32766"
02
+
client_nfsstatd_ports="default"
  
Sélectionnez la première case du tableau en cliquant dedans, puis modifiez les propriétés de celle ci en re-cliquant sur le menu tableau (comme le tableau est sélectionné, cela va le modifier plutôt que de rajouter un tableau.
+
# RPC mountd
 +
server_nfsmountd_ports="tcp/32767 udp/32767"
 +
client_nfsmountd_ports="default"
  
Modifiez la largeur de la première cellule à 100 pixels, puis à l'aide du bouton "suivant" sélectionnez la troisième et dernière cellule et donnez lui aussi 100 pixels de large.
+
# RPC lockd
||
+
server_nfslockd_ports="tcp/32768 udp/32768"
[[Image:sig_mail_img_02.png|||400px]]
+
client_nfslockd_ports="default"
  
|-
+
# NFS base
||
+
server_nfsnfs="tcp/2049 udp/2049"
03
+
client_nfsnfs="default"
  
Sélectionnez a nouveau la première case du tableau en cliquant dedans, puis ajoutez une image en passant par le menu de la barre d'outils.
+
maintenant les services nfscallback, nfsstatdbc, nfsstatd, nfsmountd et nfslockd sont utilisables dans la configuration fireHOL
choisissez votre images à l'aide du bouton "parcourir".
 
||
 
[[Image:sig_mail_img_03.png|||400px]]
 
  
|-
+
Configuration de fireHOL /etc/firehol/firehol.conf
||
 
04
 
  
Indiquez un texte "alternatif" c'est à dire un texte qui apparaîtra si l'image ne s'affiche pas sur l'ordinateur de votre destinataire.
+
dans la rubrique
 +
interface eth0 lan
 +
ajouter les lignes
 +
server sunrpc accept
 +
server nfs accept
  
Puis dans l'onglet "dimension" réduisez la taille du logo à 100 pixel (en fait à la même largeur que celle que vous avez donné au cellules dans l'étape 02).
+
C'est la ligne "server nfs accept" qui fait toute la magie (enumerer les ports utilisés par NFS à la volée). Si ca ne fonctionne pas, ou qu'on prefere une definition purement statique des ports, on replace la ligne "server nfs accept" par
 
+
server nfscallback accept
Répétez les étapes 03 et 04 dans la case à droite du tableau si vous voulez inclure une deuxième image.
+
server nfsstatdbc accept
 
+
server nfsstatd accept
Note: Entouré en cyan on peut voir que le chemin a été corrigé pour commencer par ''file:///'' et ne plus contenir de ''..''
+
server nfsmountd accept
Cette correction manuelle n'est nécessaire que sur qq version de thunderbird/icedove comportant un petit bug mais dans la majorité
+
server nfslockd accept
des cas vous n'avez pas à vous en soucier.
+
server nfsnfs accept
 
 
||
 
[[Image:sig_mail_img_04.png|||400px]]
 
 
 
|-
 
||
 
05
 
 
 
Enregistrez votre message en tant que fichier .html (par exemple dans vos documents).
 
 
 
Puis fermez le message (confirmez que vous le fermez sans l'enregistrer - on vient de le faire).
 
 
 
||
 
[[Image:sig_mail_img_05.png|||400px]]
 
 
 
|-
 
||
 
06
 
 
 
Faites un clic droit sur votre compte, puis choisissez "propriétés".
 
Dans les paramètre général du compte, cochez la case "Attacher une signature..." puis cliquez sur le bouton "parcourir" pour
 
retrouver le fichier .html qu'on vient de fabriquer à l'étape précedente. Cliquez sur "OK" pour enregistrez vos changements.
 
 
 
Et voila, c'est fait.
 
 
 
Ecrivez un nouveau messages, votre nouvelle signature doit appaître !
 
 
 
||
 
[[Image:sig_mail_img_06.png|||400px]]
 
 
 
 
 
|}
 
 
 
== ma signature ne s'affiche pas lorsque je répond et/ou lorsque je retransfère un message ==
 
{| class="gallery"
 
!|
 
Étape
 
!|
 
Illustration
 
(cliquez pour agrandir)
 
|-
 
|| Aller dans les paramètres des comptes, puis dans la rubrique "rédaction et adressage" cocher les cases "Ajouter la signature pour les réponse" et "Ajouter la signature pour les transferts" à votre convenance
 
||
 
[[Image:signature-sur-reponse-et-transmission.png|||400px]]
 
|}
 

Version du 22 octobre 2014 à 18:07

Configuration de base

Le reseau pris pour exemple est en 10.21.0.0/24, la passerelle a l'IP 10.21.0.254 du cote "lan" et est client DHCP du cote "WAN"

Option IPv6

  • desactiver IPv6 (il est sans doute préférable de ne pas supporter IPv6 plutôt que de le faire mais d'avoir une passoire).
echo net.ipv6.conf.all.disable_ipv6=1 > /etc/sysctl.d/local-no-ipv6.conf
sysctl --system

Option routage

  • activer le forward
echo net.ipv4.ip_forward=1 > /etc/sysctl.d/local-forward.conf
sysctl --system

NAT

iptables / NAT

  • faire un simple masquerading d'IP
iptables -t nat -A POSTROUTING -o <outbound_interface> -j MASQUERADE

Configuration FireHOL

FireHOL permet de facilement mettre en place un firewall efficace. Dans le cas de machine GNU/Linux qui ont souvent une configuration par défaut robuste le problème se pose peu. Par contre s'il faut proteger des machines non linux ou faire de la protection de reseau (les invités sur le réseau wifi ne doivent pas voir le réseau interne ou on permet des connexions d'internet vers l'application mais on protège contre les syn-floods).

  • apres un apt-get install firehol, faire un
 firehol helpme > /etc/firehol/test-conf
  • editer le fichier /etc/firehol/test-conf, il devrait ressembler a ca:
interface eth0 dhcp
       policy return
       server dhcp accept

interface eth0 lan src "10.21.0.0/24" dst 10.21.0.254
       policy reject
       # Here are the services listening on eth0.
       server dhcp accept
       server dns accept
       server ICMP accept
       server ssh accept
       client all accept

interface eth1 wan
       policy reject
       server ICMP accept
       server ssh accept
       client all accept

router lan2wan inface eth0 outface eth1 src "10.21.0.0/24"
      masquerade
      server all accept

serveur DHCP

  • on ajoute un DHCP/DNS avec dnsmasq, ex de fichier de conf (/etc/dnsmasq.d/passerelle.conf):
user=dnsmasq
group=nogroup
interface=eth0

# On évite de faire sortir les requêtes de domaines locaux
domain-needed
bogus-priv
dhcp-authoritative
# Le domaine local qui sera ajouté aux noms DNS des machines assignées par le
# DHCP, et fourni en nom de domaine local aux clients DHCP.
domain=lan
dhcp-option=15,lan
dhcp-option=119,lan
# Ajouter le domaine aux noms simples définis dans /etc/hosts
expand-hosts
# Les noms du domaine local ne sont résolus que par /etc/host et le DHCP
local=/lan/

# La passerelle du réseau à fournir aux clients DHCP
dhcp-option=option:router,10.21.0.254
## Entree IP fixee par DHCP:
read-ethers

## plage dynamique: 101 - 150
# La plage d'adresses dynamiques fournies par le serveur DHCP
dhcp-range=eth0,10.21.0.1,10.21.0.200,255.255.255.0,12h

Ajout d'une option de boot PXE netboot

dhcp-boot=pxelinux.0


Ajout d'une option de boot pour un systeme complet sur NFS

installation NFS

apt-get install nfs-server

Configurer le fichier /etc/exports

/srv/tftp/ 10.21.0.0/24(ro,async,no_root_squash,no_subtree_check)

Verifiez que le nfs est visible sur le reseau, depuis une autre machine, tapez

showmount -e 10.21.0.254

Configuration fireHOL

NFS utilise par défaut des ports dynamiques, ce qui est embetant dès lors qu'il y a un firewall. fireHOL est assez malin pour énumérer les port utilisé par NFS, à condition que celui ci soit lancé avant que fireHOL démarre. Il faut en plus relancer fireHOL à chaque redémarrage de NFS. Le fait de fixer les ports utilisés par NFS permet de garder la même configuration sans avoir besoin de relancer fireHOL.

Fixer les ports utilisés par NFS

En reprenant l'exemple donné par debian: https://wiki.debian.org/SecuringNFS

  • Fichier /etc/modprobe.d/local-nfs-lockd.conf
options lockd nlm_udpport=32768 nlm_tcpport=32768
options nfs callback_tcpport=32764
  • Fichier /etc/default/nfs-common, ajouter/modifier la ligne:
STATDOPTS="--port 32765 --outgoing-port 32766"
  • Fichier /etc/default/nfs-kernel-server, ajouter/modifier la ligne:
RPCMOUNTDOPTS="--manage-gids --port 32767"

Maintenant les ports nécessaires à une connexion NFS sont les suivants:

  • 111 (tcp/udp) sunrcp
  • 2049 (tcp/udp) nfs
  • 32764 - 32768 (tcp/udp) (mountd, statd, etc...)

Configurer fireHOL

ajouter un fichier contenant ces services dans /etc/firehol/services/fixed-nfs-port.conf (c'est le .conf et la premiere ligne du fichier avec FHVER qui sont important)

#FHVER: 1:213
# NFS callback port
server_nfscallback_ports="tcp/32764 udp/32764"
client_nfscallback_ports="default"
# RPC statd port (broadcast)
server_nfsstatdbc_ports="tcp/32765 udp/32765"
client_nfsstatdbc_ports="default"
# RPC statd outgoing port
server_nfsstatd_ports="tcp/32766 udp/32766"
client_nfsstatd_ports="default"
# RPC mountd
server_nfsmountd_ports="tcp/32767 udp/32767"
client_nfsmountd_ports="default"
# RPC lockd
server_nfslockd_ports="tcp/32768 udp/32768"
client_nfslockd_ports="default"
# NFS base
server_nfsnfs="tcp/2049 udp/2049"
client_nfsnfs="default"

maintenant les services nfscallback, nfsstatdbc, nfsstatd, nfsmountd et nfslockd sont utilisables dans la configuration fireHOL

Configuration de fireHOL /etc/firehol/firehol.conf

dans la rubrique

interface eth0 lan

ajouter les lignes

server sunrpc accept
server nfs accept

C'est la ligne "server nfs accept" qui fait toute la magie (enumerer les ports utilisés par NFS à la volée). Si ca ne fonctionne pas, ou qu'on prefere une definition purement statique des ports, on replace la ligne "server nfs accept" par

server nfscallback accept
server nfsstatdbc accept
server nfsstatd accept
server nfsmountd accept
server nfslockd accept
server nfsnfs accept