0. Installation Open-Prod

Procédures internes pour l'installation d'Open-Prod

Sécuriser votre installation avec HTTPS

Importance de la sécurisation https pour Open-Prod et procédures de mise en oeuvre

Sécuriser votre installation avec HTTPS

0. HTTPS et les types de certificats

image-1664286931939.png

Par défaut, votre installation d'Open-Prod 10 est disponible sur le port 8069 (8068 pour Open-Prod 9). Si votre installation est prévue pour un accès public, ou pour être déployée dans un environnement sensible, il est fortement recommandé de sécuriser son accès web avec le protocole HTTPS (HTTP + TLS/SSL). C'est ce protocole qui vous permet de garantir des échanges de données sécurisés entre les utilisateurs et votre serveur, en les chiffrant via un échange de clés et des informations de certificat. De cette manière les données échangées ne peuvent être ni lues, ni altérées par un tiers pendant leur transit sur le réseau.

Si vous souhaitez utiliser Open-Prod sur un terminal mobile (Zebra, Android, iOS, etc.) en version PWA (Progressive Web Apps), l'utilisation d'HTTPS est obligatoire.

Rappel :

L'utilisation d'HTTPS repose sur l'échange d'un certificat entre le serveur et le client. Ce certificat contient notamment une clé publique et des informations sur l’identité du serveur, afin de garantir son authenticité. Chaque certificat doit être signé par une autorité de certification, qui peut être votre serveur, un serveur de votre infrastructure (AD CS), ou une entité externe comme Let's Encrypt, Sectigo, Digicert, etc. Il existe donc deux grands types de certificats :

  1. Auto-signés : Le certificat est signé par une autorité de certification interne de confiance (fourni par défaut par 1Life)
  2. Signés : Vous signez le certificat par une entité externe de confiance

1. Certificats auto-signés

Un certificat auto-signé est gratuit. Aucune étape intermédiaire est nécessaire pour qu'il soit valide. Cependant pour que le client puisse valider l'authenticité du serveur, le certificat auto-signé doit être également déployé sur les postes client. Vous avez donc pour ce type de certificat, un déploiement en deux temps, automatisé ou manuel :

  1. Génération de la paire de clés, génération du certificat et signature par la CA
  2. Déploiement du certificat sur les postes clients, manuellement, via GPO ou via un AD CS local

Le déploiement du certificat sur les postes clients vous permet aussi de vous affranchir de l'alerte de sécurité sur votre navigateur :image.png

Par défaut, Open-Prod est livré avec un certificat auto-signé d'une durée de validité de 10 ans. Ce certificat est présenté aux clients par Nginx, configuré en reverse proxy et installé automatiquement lors du déploiement.

2. Certificats signés

Un certificat signé est considéré en tant que tel lorsqu'il est signé par un organisme externe publiquement reconnu. Il est gratuit ou payant en fonction de l'autorité de certification choisie (CA : Certificate Authority).

Si vous optez pour le choix payant, vous devrez acheter votre certificat auprès d'un registrar ou d'un fournisseur tiers. En fonction du registrar ou du fournisseur tiers, vous serez soumis à une DCV (Domain Control Validation) qui nécessite l'exposition d'une de ces ressources les plus fréquentes :

Vous devrez également avoir une requête de signature de certificat (CSR) déjà prête pour pouvoir entamer vos démarches.

1Life vous simplifie la génération d'une CSR en mettant à disposition l'outil MyHelp et sa commande https-config

Si vous optez pour le choix gratuit, comme Let's Encrypt ou ZeroSSL, vous serez également soumis à une DCV qui nécessite une URL accessible publiquement par l'API de l'autorité de certification. Pour un accès à votre installation d'Open-Prod via un nom de domaine (Exemple : https://openprod.masociété.com) vous devrez en amont avoir un enregistrement DNS sur votre domaine local.

3. Configuration

La sécurisation de votre environnement avec HTTPS est simplifié grâce à l'outil MyHelp. Sa commande https-config couvre chacun des cas de figure évoqués précédemment (auto-signé, certificat signé gratuit ou payant). Vous trouverez les détails de son utilisation dans les pages de cette catégorie.

Cette commande est applicable aussi bien sur Open-Prod 9 qu'Open-Prod 10

 Les équipes du support technique 1Life sont également là pour vous accompagner si besoin au travers de votre contrat de TMA.

4. Récapitulatif des différents modes de certification

Type de certificat Coût Validité Accès public Déploiement sur les postes clients DCV
Autosigné Gratuit ✔️

Étendue

❌ ✔️ ❌
Signé - Gratuit Gratuit ✔️

45 à 90 jours

✔️

❌

✔️

Signé - Payant Payant ⚠️

1 à 3 ans

✔️

❌

✔️

Sécuriser votre installation avec HTTPS

1. HTTPS avec certificat auto-signé

Dans cette section, vous verrez comment installer pas à pas un certificat autosigné grâce à l'outil MyHelp en ligne de commande. Vous devrez au préalable :

Présentation :

La commande https-config de l'outil MyHelp intègre les fonctionnalités suivantes :

Attention : si vous utilisez le service Apache (pour l’outil pgadmin version web par exemple) l'installation va désactiver Apache. En effet Nginx est incompatible avec la présence du service Apache sur le même port d'écoute (TCP : 443). Vous pouvez remplacer le service pgadmin web par son utilisation via un client distant.

Etape 1 - Installation d'Nginx :

image.png

Lancer la commande https-config. Le script vérifie la présence ou non d'Apache et Nginx pour préparer le déploiement. Sélectionner l’option 2 pour lancer l’installation et configurer le certificat auto-signé. Une fois l'installation d'Nginx terminée, vous obtiendrez les modes de certification suivants :

image.png

Utiliser la première option et répondre aux questions sur les caractéristiques du certificat auto-signé :

NOTA : Les champs O, OU, L, ST, C sont surtout utilisés dans les certificats EV/OV ou en interne (PKI entreprise). Ils ne sont normalement pas importants pour un simple certificat auto-signé.

Confirmer ensuite la génération du certificat par Oui en tapant o :

image.png

Choisir ensuite d’exporter le certificat dans un dossier local au serveur Linux avec partage Windows (ou non) de ce dossier. Le certificat peut ainsi être récupéré directement via le voisinage réseau depuis son poste Windows si le dossier est partagé. Sinon il est toujours possible de le récupérer depuis son navigateur après s’être connecté en Https sur le serveur Open-Prod (voir § suivant sur l'installation du certificat client).

Indiquer le chemin et nom du dossier de stockage du certificat, le nom de partage du dossier si besoin, sinon laisser par défaut.

Indiquer l’utilisateur autorisé à se connecter s’il y a un partage réseau du dossier (laisser sinon par défaut l’utilisateur connecté).

Indiquer le mot de passe pour accéder à ce partage réseau (obligatoire si le dossier est partagé). Nota : ce mot de passe est propre au partage réseau. Il n’est pas lié au mot de passe de session du compte utilisé.

image.png

L’installation du Https pour Open-Prod en certificat auto-signé est maintenant terminée. Le service est disponible en se connectant sur https://[nom_de_machine_ou_IP] au lieu de http://[nom_de_machine_ou_IP:806(8/9).

SI jamais le processus ne va pas jusqu'au bout, sortir de la commande en cours (Ctrl + C). Relancer le script https-config. Une nouvelle option N°4 doit apparaitre et permet de désinstaller complètement Nginx, les composants associés et le certificat. Relancer ensuite une nouvelle installation avec l'option N° 2 en suivant à nouveau les instructions ci-dessus. 

image.png

Etape 3 :

Par défaut l’accès Https est maintenant disponible pour tous les utilisateurs. La connexion à Open-Prod affiche une alerte de sécurité dans le navigateur pour indiquer à l'utilisateur que le certificat installé est propre à une structure interne de votre réseau et ne peut pas être reconnu par une autorité de certification externe (serveur de certification sur le web).

image.png

Cliquer dans votre navigateur sur « Paramètre avancé » puis sur « Continuer vers [nom_de_votre_environnement] (non sécurisé). L’accès est maintenant sécurisé au travers de https et tous les flux d’échange est crypté.

Obligatoire : pour finaliser le déploiement du https et terminer la sécurisation de l’accès au service vous devez interdire l’accès au service Open-Prod au travers du service http sur les url http://[nom_de_machine_ou_ip]:8068 pour la V9 ou http://[nom_de_machine_ou_ip]:8069 pour la V10. Cette interdiction est à faire directement sur le boitier de sécurité réseau d’entreprise ou par filtrage d’URL directement sur l’environnement Linux (ufw par exemple) ou les services réseau de votre hyperviseur (cas d’une machine virtuelle locale ou hébergée). Consulter votre administrateur système pour cette mise oeuvre.

Etape 4 :

Suppression de l’alerte de sécurité dans le navigateur par intégration manuelle du certificact 

Les opérations décrites ci-dessous sont présentées à titre informatif. Se rapprocher de son adminsutrateur système et réseau pour en adapter leur mise en oeuvre aux caractéristiques du système et réseau de chaque entreprise. 

Si on ne souhaite pas visualiser l’alerte de sécurité dans le navigateur il faut installer le certificat https auto-signé manuellement ou automatiquement (via automatisme PGO d’un domaine Windows par exemple) sur chaque poste client qui utilise Open-Prod.

Pour cela, récupérer le certificat auto-signé sur le serveur Open-Prod :

image.png

image.pngRécupérer sur son poste le certificat créé dans le répertoire sous le nom définit lors de sa génération (par défaut dans le dossier « certificates » avec le nom « deploy.crt »).

image.pngTrouver comment visualiser le certificat sur son navigateur, afficher les détails du certificat (options à trouver selon votre navigateur). 

image.pngCliquer sur « Exporter » pour récupérer le certificat en local sur votre poste (options à trouver selon votre navigateur).

Installer maintenant le certificat sur son poste dans en l’important dans le magasin des certificats :

image.pngDouble cliquer sur le certificat récupéré.

image.png

Vérifier dans l’onglet « détails » que la valeur « Autre nom de l’objet » correspond bien aux valeurs SAN saisies lors de sa génération et au vrai nom et IP de la machine sur votre réseau local. Si ce n’est pas le cas recommencer sr l’environnement Linux Open-Prod la création d’un nouveau certificat.

image.pngSi les valeurs sont correctes, revenir sur l’onglet Général » et sélectionner « Installer un certificat ».

image.png

Sélectionner « Utilisateur actuel » et « suivant »

image.png

Choisir « Placer tous les certificats dans le magasin suivant » et sélectionner « Autorités de certification racines de confiance » puis « suivant » et « terminer ». Confirmer par « Oui » l’alerte de sécurité pour finaliser l’installation du certificat. Le message « importation réussie » doit s’afficher.

image.png

Suite à cette intégration de certificat l’accès à Open-Prod via le navigateur au travers du nom de la machine ou de son ip (https://srvopp-jlv9t01 ou https://192.168.70.67 dans notre exemple) ne doit plus lever d’alerte de sécurité sur ce poste.

Répéter manuellement cette manipulation sur le poste de chaque utilisateur qui accède à Open-Prod via son navigateur.

Déployer automatiquement ce certificat sur tous les postes du réseau interne de l’entreprise. Il est envisageable de déployer automatiquement ce certificat sur tous les postes de l’entreprise et d’éviter l’intégration manuelle sur chaque poste (au travers de la gestion des GPO sous Windows Active Directory par exemple). Contacter votre administrateur système pour étudier avec lui cette mise en place.


Sécuriser votre installation avec HTTPS

2. Https avec certificat signé

Contacter les équipes support 1life pour valider les aspects techniques de cette mise en place.

Utiliser les fonctions myhelp https-config pour dployer NGINX, récupérer le fichier CSR. Une fois le certificat obtenu utiliser la fonction https-config pour installer le certificat.

Procédure détaillée en cours de réalisation.    

Sécuriser votre installation avec HTTPS

3. Https avec certificat signé gratuit

Cette configuration n'est pas conseillée sauf si vous ou votre prestaire informatique maitrisez l'utilisation sou Linux des composantes pour la gestion d'un certificat Let's Encrypt (Let's Encrypt est une autorité de certification (CA) gratuite qui délivre des certificats SSL/TLS permettant d'activer le HTTPS sur un site web.

La gestion d’un certificat HTTPS Let's Encrypt est généralement automatisée :

  1. Demande du certificat auprès de Let's Encrypt via un client (ex. Certbot, acme.sh, Caddy, Traefik).
  2. Validation du domaine (challenge ACME HTTP-01, DNS-01 ou TLS-ALPN-01).
  3. Installation du certificat sur le serveur web (Nginx, Apache, IIS, proxy, etc.). Utiliser le service 
  4. Renouvellement automatique tous les 60 à 90 jours (Let's Encrypt délivre des certificats valides 90 jours).
  5. Rechargement du service web après renouvellement pour prendre en compte le nouveau certificat.
  6. Supervision de l’expiration et des éventuelles erreurs de renouvellement.

En résumé : un agent ACME installé sur le serveur obtient, renouvelle et déploie automatiquement le certificat Let's Encrypt sans intervention manuelle.

L'esnemble de cette mise en oeuvre est sous la responsabilité du client ou de son prestataire. 

Ouvrir vers l'exterieur l'accès à Open-Prod

1. Principe général

L’objectif est de permettre à des utilisateurs autorisés d’accéder à Open-Prod depuis Internet, tout en conservant le serveur de production dans le réseau interne de l’entreprise. Le client, ou son prestataire informatique, choisit l’architecture adaptée à son contexte et met en place les composants réseau et sécurité nécessaires.

Message clé à retenir

Open-Prod ne doit pas nécessairement être directement exposé sur Internet. Dans la majorité des cas, l’accès passe par des équipements intermédiaires : pare-feu, NAT, reverse proxy, VPN ou service de sécurité équivalent.

Le client mettra en place les mécanismes nécessaires, notamment DNS, routage, pare-feu, NAT, reverse proxy, VPN ou tout dispositif équivalent, afin de permettre un accès sécurisé depuis Internet au serveur Open-Prod de production hébergé sur son réseau interne. La configuration et la sécurisation de ce chemin d’accès relèvent de la responsabilité du client ou de son prestataire informatique. L’équipe 1Life pourra intervenir pour assister à la validation applicative une fois les accès réseau opérationnels.

2. Choisir le scénario d’accès adapté

Scénario

Principe

Cas d’usage typique

Niveau de sécurité

Accès direct HTTPS

Le pare-feu redirige le flux HTTPS vers le serveur ou le service exposé.

Petite structure, architecture simple, faible nombre d’utilisateurs externes.

Sécurité à maîtriser, faible coût de mise en oeuvre.  A utiliser obligatoirement si un service externe doit accéder de manière permanente à des ressources Open-Prod (Services de RFE, lien vers des services M365, etc.).

VPN

Les utilisateurs se connectent d’abord au réseau interne via VPN.

Cas recommandé pour la majorité des entreprises.

Permet de garantir une protection importante des accès externes et une authentification forte des utilisateurs en mobilité ou en connexion de sites à sites.

Reverse proxy

Un serveur intermédiaire reçoit les connexions Internet et relaie vers Open-Prod.

Cas recommandé pour la majorité des entreprises.

Bon niveau de sécurité et meilleure maîtrise. Solution plus complexe à maitriser car elle repose souvent sur une couche réseau et une couche applicative sur le serveur Open-Prod.

Reverse proxy + WAF

Ajout d’un filtrage applicatif avancé devant le service publié.

Entreprise avec exigences de sécurité fortes.

Renforcé.

3. Démarches à réaliser pas à pas

Étape 1 - Identifier le serveur Open-Prod à publier

Responsable principal : Client

Actions à réaliser :

Livrable attendu : Nom du serveur, adresse IP interne, ports utilisés.

Étape 2 - Valider le besoin d’accès externe

Responsable principal : Client / Métier / DSI

Actions à réaliser :

Livrable attendu : Liste des utilisateurs ou populations ou services web concernées et règles d’accès attendues.

Étape 3 - Choisir l’architecture d’exposition

Responsable principal : Client / Prestataire informatique

Actions à réaliser :

Livrable attendu : Schéma cible ou description de l’architecture retenue.

Étape 4 - Vérifier la connectivité Internet entrante

Responsable principal : Client / Opérateur télécom

Actions à réaliser :

Livrable attendu : Adresse IP publique ou information de publication équivalente.

Étape 5 - Créer le nom DNS d’accès

Responsable principal : Client / Gestionnaire DNS

Actions à réaliser :

Livrable attendu : Nom DNS définitif communiqué aux utilisateurs.

Étape 6 - Configurer le routage, le NAT et le pare-feu

Responsable principal : Client / Prestataire réseau

Actions à réaliser :

Livrable attendu : Flux réseau opérationnels et filtrés.

Étape 7 - Mettre en place HTTPS et le certificat

Responsable principal : Client / Prestataire informatique

Actions à réaliser :

Livrable attendu : URL HTTPS valide, par exemple https://openprod.masociete.fr.

Étape 8 - Renforcer la sécurité

Responsable principal : Client / DSI

Actions à réaliser :

Livrable attendu : Mesures de durcissement validées.

Étape 9 - Réaliser les tests de validation

Responsable principal : Client + équipe Open-Prod

Actions à réaliser :

Livrable attendu : Validation technique et fonctionnelle de l’accès externe.

5. Check-list client avant sollicitation des équipes 1life

☐ Le serveur Open-Prod de production est identifié.

☐ L’adresse IP interne et les ports applicatifs sont connus.

☐ L’accès Open-Prod fonctionne sur le réseau local.

☐ Le scénario d’accès externe est choisi : reverse proxy, VPN, WAF, NAT direct ou hébergement externe.

☐ Le nom DNS public est défini ou en cours de création.

☐ L’adresse IP publique ou le point d’entrée Internet est connu.

☐ Les règles de pare-feu et de NAT sont préparées ou planifiées.

☐ Le certificat SSL/TLS est prévu ou déjà disponible.

☐ Les exigences de sécurité internes sont validées par la DSI ou le prestataire informatique.

7. Points de vigilance

Ne pas exposer inutilement plusieurs ports : limiter l’accès au strict nécessaire. Pour les écahnges depuis l'exterieur du réseau privilégier HTTPS avec certificat valide afin d’éviter les alertes navigateur et de chiffrer les échanges. Éviter, lorsque cela est possible, l’exposition directe du serveur applicatif : préférer un reverse proxy, un VPN ou un dispositif contrôlé. Prévoir une journalisation exploitable en cas d’incident ou d’audit. Documenter précisément l’architecture retenue pour faciliter le support et les évolutions futures.

8. Schéma de principe simplifié

Internet
   |
   v
Nom DNS public : openprod.monsociete.fr
   |
   v
Adresse IP publique / point d’entrée client
   |
   v
Pare-feu / NAT / Reverse proxy / VPN / WAF
   |
   v
Serveur Open-Prod de production sur le réseau interne

Mise en route - Initialisation de la base pour OPENPROD V10

Initialisation de la base

Réception du mail de l’infra 1LIFE (personne qui s’occupe de l’installation sur le serveur client) :

-          Si le DP ou le CDP n’a pas reçu le mail de l’infra c’est que l’installation n’a pas été réalisée

Image1.png

Vaultwarden

Vérifier la présence des codes d’accès au serveur sur le Vaultwarden

Image2.png

Création de la base

Création d'une base vierge 

Cliquez sur "Create Database"

Image3.png

Image4.png
Saisir les informations suivantes :
- Master password : openprod
- Datatbase Name : PROD-Nom du client 
- Login : admin
- Password of admin user : openprod 
- Langue : French
- Pays : France

Temps d'attente : 2 à 3 minutes 

Installation du module Myfab Fondation :

Ne pas oublier de retirer le filtre "Module Open-Prod" pour accéder aux applications MYFAB

Image6.png

Temps d'attente : Assez long 

Configuration des données de la comptabilité; :
- Module comptabilité   =             Personnalisé
- Plages de dates           =   
- Début de l’année fiscales de la société
- Fin de l’année fiscales de la société
- Périodes                      =         Mensuelle

Image7.png

Configuration des options comptables :

- Devise
- Taxe de vente par défaut = 20.0
- Taxe d’achat par défaut = ACH-20.0

Image8.png

Cliquer sur "Appliquer" 

Temps d'attente : Le chargement peut être long 

Si l'initialisation ne s'est pas effectuée, il faut procéder au lancement manuel par l'intermédiaire de "Assistants de configuration" (Paramètres / Technique / Actions

Il faut aller dans les paramètres>action>assitant de configuration.       Tu commences par relancer les wizard d'initialisation compta        Puis initialisation "myfab base"

Remarque c'est documenté ici :      https://docs.myfab.fr/books/myfab-fondation/page/initialisation

 

Déployer fonctionnalités myfab Base 

Image10.png

Contrôler que le compte administrateur a l'ensemble des droits sur tous les modules

Aller sur Configuration > Utilisateurs > Utilisateurs > Administrator 

·         Vérifier les droits comme suit : 

 Administration    🡺    Administrateur
Gestion commerciale    🡺    Administrateur
Partenaire    🡺    Administrateur
Produit    🡺    Administrateur
Achat    🡺    Administrateur
Ressource    🡺    Administrateur
Comptabilité & Finance    🡺    Administrateur
JasperReport    🡺    Administrateur
Appli MES    🡺    Super administrateur
Affaire    🡺    Administrateur
EDI    🡺    Administrateur
Projet    🡺    Administrateur
Import XLSX    🡺    Administrateur
Stock    🡺    Administrateur
Ressource humaine    🡺    Administrateur
GMAO    🡺    Administrateur
Fabrication    🡺    Administrateur
SAV    🡺    Administrateur
Devis d'achat    🡺    Fonctionnel
Devis de vente    🡺    Fonctionnel
Note de frais    🡺    Administrateur
Contrat    🡺    Administrateur
File d’attente de tâche    🡺    Gestionnaire de file d'attente de tâche
RSE    🡺    Responsable
Feuille de calcul    🡺    Responsable

Image11.png

puis cocher toutes les coches en dessous

Image12.pngImage13.pngImage14.png

 

Image15.png

 Installation des premiers Modules 

Activation du flux de travail des produits 

Image18.png

Configuration rapport Excel (uniquement si Export Excel prévu)

Image21.png

Dupliquer l’utilisateur pour créer un profil utilisateur pour le pilote projet

Dans Configuration > Utilisateur, dupliquer le profil « Administrator » pour créer un profil spécifique au pilote/co-pilote du projet.

Affecter l’identifiant : pilote

Et le mot de passe : 123456

Image22.pngImage23.png

⚠ Penser à communiquer les informations de login au pilote projet.

Création et Activation des paramètres de chaque module ( à vérifier lors des journées de consulting et surtout avant lancement en production)

Données techniques :

Image24.png

Ressources :

Image25.png

Ne pas oublier de créer la pause obligatoire

 

Achat :

IImage26.png

Ventes :

Image27.png

Stock :

Image28.pngImage29.png


Vérifier les paramétrages des alertes de couleurs :

Priorité 1 (Rouge) Actif = 🗹 Minimum = 5 jours après la date de livraison / Maximum = 999 jours après la date de livraison
Priorité 2 (Orange) Actif = 🗹 Minimum = 1 jours après la date de livraison / Maximum = 5 jours après la date de livraison
Priorité 3 (Vert) Actif = 🗹 Minimum = -999 (soit 999 jours avant la date de livraison) / Maximum = -15 (soit 15 jours avant la date de livraison)
Image30.png

                Ne pas oublier d’activer l’alerte couleur (4 coches) dont l'entête

Vérifier le paramétrage de l'entrepôt et des emplacements :

Image31.pngr

Paramétrage à effectuer si :

Production - déclaration :

Image32.png

Production - planning :

Image33.png

Qualité :

Image34.png

Facturation :

Image35.png

Renseignement de la société :

Image37.pngImage38.pngImage36.png

Sérialisation de la base de données :

Voir : Procédure Technique 1Life - Sérialisation Open-Prod.docx

Précision : Attention, la sérialisation peut arriver après le démarrage du projet.

Lien vers la liste des numéros de sérialisation : https://1life2013.sharepoint.com/sites/OPENPROD/Lists/Srialisation%20OPI%20OpenProd/AllItems.aspx

Sauvegarde de la base :  

sql-auto-backup        : Met en place une sauvegarde régulière de base(s) de données

è NB : Selon préférence, modifier les MP Masterpassword, utilisateur admin et jasper au Go live. Penser à mettre à jour le Vaultwarden !!!