Installation de DynFi Manager sur Ubuntu 18

Procédure d’installation DynFi Manager via via notre script

Si vous utilisez Debian ou Ubuntu, c’est la nouvelle procédure recommandée.
Elle consiste à télécharger notre script d’installation qui fonctionne sous Ubuntu v.16-18-20 ou Debian 9-10, puis à l’exécuter.

  1. connectez vous sur votre système Ubuntu ou Débian préféré (attention Debian 11 n’est pas encore supporté car MongoDB n’est pas disponible sur cette plate-forme)
  2. copiez-coller le lien de téléchargement pour télécharger le script (vous pouvez aussi utiliser curl -O ou wget
  3. décompressez-le avec une commande tar -xvzf DynFi_Manager_Installer.sh.tgz
  4. donnez des droits d’exécution au script chmod u+x DynFi_Manager_Installer.sh
  5. Exécutez le script et suivez les instructions
file_download  Script d'installation DynFi Manager Debian / Ubuntu

Procédures d’installation DynFi Manager manuelle

Ce billet de blog vous montrera comment faire fonctionner DynFi® sur le serveur Ubuntu 18.0.4 LTS en moins de dix minutes !

Vous devez disposer d’une connaissance de base du système d’exploitation Linux et de l’interface en ligne de commande ! Afin d’aller très vite, vous pouvez simplement copier / coller le texte mis en évidence sur votre KVM préféré avec Linux Ubuntu 18 installé.

1.1. Installez d’abord Java™ Runtime Environment ver. 11 ou supérieur

Nous avons suivi l’installation classique décrite ici.

root@dynfi:~# apt install openjdk-11-jre
[]
Setting up openjdk-11-jre:amd64...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
done. 

1.2. Installer MongoDB 3.4 or >

Il est recommandé de suivre les étapes fournies ici. Mongodb sera ainsi opérationnel en quelques minutes sur Ubuntu 14, 16 ou 18.

1.2.1. Téléchargez la clé gpg du repo :

root@dynfi:~# sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
Executing: /tmp/tmp.3RE24n9pSg/gpg.1.sh --keyserver
hkp://keyserver.ubuntu.com:80
--recv
0C49F3730359A14518585931BC711F9BA15703C6
gpg: requesting key A15703C6 from hkp server keyserver.ubuntu.com
gpg: key A15703C6: public key "MongoDB 3.4 Release Signing Key <packaging@mongodb.com>" imported
gpg: Total number processed: 1
gpg: imported: 1  (RSA: 1)

1.2.2. Créer un fichier sources.list pour MongoDB :

root@dynfi:~# echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse

1.2.3. Recharger la base de données locale des paquets :

root@dynfi:~# **apt-get update**
Hit:1 http://br.archive.ubuntu.com/ubuntu bionic InRelease
Hit:2 http://br.archive.ubuntu.com/ubuntu bionic-updates InRelease             
[]
Get:13 http://security.ubuntu.com/ubuntu bionic-security/universe DEP-11 64x64 Icons [75,1 kB]
Fetched 367 kB in 1s (290 kB/s)              
Reading package lists... Done

1.2.4 Lancez MongoDB :

root@ccm-dc-dynfi:~# sudo service mongod start

1.2.5. Vérifiez que MongoDB a bien démarré :

root@dynfi:~# cat /var/log/mongodb/mongod.log
2017-11-08T13:01:28.651-0200 I CONTROL  [initandlisten] MongoDB starting : pid=17314 port=27017 dbpath=/var/lib/mongodb 64-bit host=ccm-dc-dynfi
2017-11-08T13:01:28.651-0200 I CONTROL  [initandlisten] db version v3.4.10
2017-11-08T13:01:28.651-0200 I CONTROL  [initandlisten] git version: 078f28920cb24de0dd479b5ea6c66c644f6326e9
2017-11-08T13:01:28.651-0200 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.2g  1 Mar 2016
2017-11-08T13:01:28.651-0200 I CONTROL  [initandlisten] allocator: tcmalloc
2017-11-08T13:01:28.651-0200 I CONTROL  [initandlisten] modules: none
2017-11-08T13:01:28.651-0200 I CONTROL  [initandlisten] build environment:
2017-11-08T13:01:28.651-0200 I CONTROL  [initandlisten]     distmod: ubuntu1604
2017-11-08T13:01:28.651-0200 I CONTROL  [initandlisten]     distarch: x86_64
2017-11-08T13:01:28.651-0200 I CONTROL  [initandlisten]     target_arch: x86_64
[]
2017-11-08T13:01:28.913-0200 I INDEX    [initandlisten]      building index using bulk method; build may temporarily use up to 500 megabytes of RAM
2017-11-08T13:01:28.915-0200 I INDEX    [initandlisten] build index done.  scanned 0 total records. 0 secs
2017-11-08T13:01:28.915-0200 I COMMAND  [initandlisten] setting featureCompatibilityVersion to 3.4
2017-11-08T13:01:28.915-0200 I NETWORK  [thread1] waiting for connections on port 27017@

1.2.6. Redémarrer MongoDB :

root@dynfi:~# sudo service mongod stop
root@dynfi:~# sudo service mongod restart 
root@dynfi:~# systemctl status mongod
● mongod.service - High-performance, schema-free document-oriented database
Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: 
Active: active (running) since Qua 2017-11-08 13:04:22 BRST; 12s ago
Docs: https://docs.mongodb.org/manual
Main PID: 17341 (mongod)
CGroup: /system.slice/mongod.service
└─17341 /usr/bin/mongod --config /etc/mongod.conf

Nov 08 13:04:22 dynfi systemd[1]: Started High-performance, schema-free d@

1.2.7. Activez MongoDB au démarrage :

Si vous prévoyez de garder DynFi Manager installé sur ce serveur (et nous espérons que vous le ferez !), vous souhaiterez que MongoDB soit démarré automatiquement !

root@dynfi:~# systemctl enable mongod.service
Created symlink from /etc/systemd/system/multi-user.target.wants/mongod.service to /lib/systemd/system/mongod.service.@

2. Installez enfin DynFi :

2.1. Télécharger la clé gpg

Cette clé est nécessaire pour accéder à notre dépôt apt

root@dynfi:~# wget https://archive.dynfi.com/dynfi.gpg
--2017-11-08 20:03:09--  https://archive.dynfi.com/dynfi.gpg
Resolving archive.dynfi.com (archive.dynfi.com)... 188.165.99.5
Connecting to archive.dynfi.com (archive.dynfi.com)|188.165.99.5|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1181 (1,2K) [application/octet-stream]
Saving to: ‘dynfi.gpg’

dynfi.gpg                               100%[=============================================================================>]   1,15K  --.-KB/s    in 0s      

2017-11-08 20:03:10 (155 MB/s) - ‘dynfi.gpg’ saved [1181/1181]

2.2. Ajouter la clé GPG localement :

root@dynfi:~# echo "deb https://archive.dynfi.com/ubuntu bionic main" > /etc/apt/sources.list.d/dynfi.list

2.4. Mettez à jour votre dépôt avec les sources DynFi Manager :

root@dynfi:~# apt update
Hit:1 http://br.archive.ubuntu.com/ubuntu xenial InRelease
Get:2 http://br.archive.ubuntu.com/ubuntu xenial-updates InRelease [102 kB]
Get:3 http://br.archive.ubuntu.com/ubuntu xenial-backports InRelease [102 kB]                                   
Get:4 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB]                                      
Ign:5 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 InRelease                                                      
Hit:6 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 Release                                                        
Get:7 http://br.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [652 kB]                                
Get:8 http://br.archive.ubuntu.com/ubuntu xenial-updates/main i386 Packages [617 kB]                                          
Get:10 http://br.archive.ubuntu.com/ubuntu xenial-updates/main Translation-en [273 kB]                                                                
Get:11 http://br.archive.ubuntu.com/ubuntu xenial-updates/main amd64 DEP-11 Metadata [308 kB]                                                     
Get:12 http://br.archive.ubuntu.com/ubuntu xenial-updates/main DEP-11 64x64 Icons [213 kB]                                                          
Get:13 http://br.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages [544 kB]                                                    
Get:14 http://br.archive.ubuntu.com/ubuntu xenial-updates/universe i386 Packages [517 kB]                                           
Get:15 http://br.archive.ubuntu.com/ubuntu xenial-updates/universe Translation-en [221 kB]               
Get:16 http://br.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 DEP-11 Metadata [174 kB]                 
Get:17 http://br.archive.ubuntu.com/ubuntu xenial-updates/universe DEP-11 64x64 Icons [245 kB]                      
Get:18 http://archive.dynfi.com/ubuntu xenial InRelease [4.892 B]                                              
[]           
Fetched 4.350 kB in 1s (2.743 kB/s)                    
Reading package lists... Done
Building dependency tree       
Reading state information... Done
7 packages can be upgraded. Run 'apt list --upgradable' to see them.

2.5. Installez DynFi Manager :

root@dynfi:~# apt install dynfi
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  dynfi
0 upgraded, 1 newly installed, 0 to remove and 7 not upgraded.
Need to get 40,4 MB of archives.
After this operation, 44,3 MB of additional disk space will be used.
Get:1 http://archive.dynfi.com/ubuntu xenial/main amd64 dynfi all 17.2.1 [40,4 MB]
Fetched 40,4 MB in 41s (982 kB/s)              

Preconfiguring packages ...
Skipping preconfiguration
Selecting previously unselected package dynfi.
(Reading database ... 249529 files and directories currently installed.)
Preparing to unpack .../archives/dynfi_17.2.1_all.deb ...
Unpacking dynfi (17.2.1) ...
Setting up dynfi (17.2.1) ...
Configuring DynFi
Config file not found
Created symlink from /etc/systemd/system/multi-user.target.wants/dynfi.service to /lib/systemd/system/dynfi.service.

Vérifiez que DynFi Manager est correctement activé :

root@dynfi:~# systemctl status dynfi
● dynfi.service - DynFi Service
    Loaded: loaded (/lib/systemd/system/dynfi.service; enabled; vendor preset: enabled)
    Active: active (running) since Qua 2017-11-08 20:47:18 BRST; 1min 56s ago
  Process: 22681 ExecStartPre=/bin/chown -R nobody:nogroup /run/dynfi/ (code=exited, status=0/SUCCESS)
  Process: 22678 ExecStartPre=/bin/mkdir /run/dynfi (code=exited, status=0/SUCCESS)
  Main PID: 22684 (java)
    CGroup: /system.slice/dynfi.service
            └─22684 java -jar /usr/share/dynfi/lib/dynfi-17.2.1-all.jar --pid-file=/run/dynfi/dynfi.pid

Nov 08 20:47:26 dynfi dynfi[22684]: INFO: LoggerImplFactory set to org.mongodb.morphia.logging.jdk.JDKLoggerFactory
Nov 08 20:47:27 dynfi dynfi[22684]: Nov 08, 2017 8:47:27 PM org.mongodb.morphia.mapping.MappedField discoverType
Nov 08 20:47:27 dynfi dynfi[22684]: WARNING: Parameterized types are treated as untyped Objects. See field 'params' on class com.dynfi.storage.entities
Nov 08 20:47:30 dynfi dynfi[22684]: Nov 08, 2017 8:47:30 PM org.glassfish.grizzly.http.server.NetworkListener start
Nov 08 20:47:30 dynfi dynfi[22684]: INFO: Started listener bound to [localhost:9090]
Nov 08 20:47:30 dynfi dynfi[22684]: Nov 08, 2017 8:47:30 PM org.glassfish.grizzly.http.server.HttpServer start
Nov 08 20:47:30 dynfi dynfi[22684]: INFO: [HttpServer] Started.
Nov 08 20:47:30 dynfi dynfi[22684]: Press Ctrl + C to quit the server
Nov 08 20:47:30 dynfi dynfi[22684]: Running with PID 22684
Nov 08 20:47:30 dynfi dynfi[22684]: The URL is: https://localhost:9090

Ajouter DynFi Manager comme service startus :

root@dynfi:~# systemctl enable dynfi

Effectuez quelques derniers réglages dans le fichier de configuration /etc/dynfi.conf :

Changer l'IP de l'hôte
la vérification des ports
…

Une fois ces opérations terminées, redémarrez le service : vous devriez maintenant être opérationnel !

root@dynfi:~# systemctl restart dynfi

Vous devriez maintenant pouvoir accéder à votre service DynFi en utilisant votre navigateur préféré (et à jour !).

Le port par défaut est 9090 (sauf si vous l’avez mis à jour dans le fichier de configuration), l’URL devrait donc ressembler à : http://your.local.ip:9090

2.6. Configuration optionnelle de Nginx pour rediriger vers les services DynFi Manager :

Vous pouvez simplement utiliser Nginx pour rediriger toutes les requêtes http & https entrantes vers DynFi Manager.

Vous devez d’abord installer le serveur Nginx. Vous pouvez ensuite copier / coller la configuration ci-dessous (veuillez changer le nom du serveur et les IP).

Assurez-vous de générer votre propre certificat SSL ou utilisez “let’s encrypt” si vous utilisez SSL.

Cette configuration vous permettra de rediriger toutes vos requêtes vers le DynFi Manager (à déployer dans /etc/nginx/sites-available/dynfi et créer un lien symbolique dans /etc/nginx/sites-enabled/dynfi).

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name my-server.myname.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2 default_server;
    listen [::]:443 ssl http2 default_server;
    server_name my-server.myname.com;

    location /config.js {
            proxy_pass http://192.168.1.3:9090;
            sub_filter 'http://192.168.1.3:9090' 'https://$host';
            sub_filter_types "*";
    }

    location / {
            proxy_pass http://192.168.1.3:9090;
    }

    ssl_dhparam /etc/ssl/certs/dhparam.pem;

    ssl_certificate /etc/ssl/dynfi/bundle.crt;
    ssl_certificate_key /etc/ssl/dynfi/myname.com.key;

}
 
Installation de DynFi Manager sur Debian 9 or 10
Besoin d’experts pour votre cybersécurité réseau ?

Découvrez nos services infogérés

Articles reliés