WannaCry / WannaCrypt ( ransomware ) : Le jour d’après …

159 x served & 58 x viewed

Les dernières informations suite à mon précédent post : http://www.cyber-neurones.org/2017/05/wannacry-nouvelle-grosse-faille-de-securite-sous-windows/ .

  • Le mot de passe du fichier ZIP serait WNcry@2ol7 (à vérifier).
  • Kaspersky le détecte comme un rootkit :MEM:Trojan.Win64.EquationDrug.gen
  • Il y a eu plus de 100 paiements de raçons pour environ 26K $.
  • Mieux comprendre le schéma d’infection :

  • Les hashtags sur Twitters : #WannaCry #WannaCrypt #CyberAttaque #Ransomware #WannaCryp0r #WannaCryAttack

Maintenant il va falloir attendre lundi matin pour voir l’ampleur exacte des dégâts : https://intel.malwaretech.com/botnet/wcrypt/?t=1h&bid=all    En résumé en France, d’un coté on à le FSB qui nous fait des fake news « Macron Leaks »:

Et de l’autre la NSA qui connait des failles et les gardes secrètes :

On vit au pays de la sécurité informatique… ou des pigeons.

Quelques articles :

  • http://www.getgnulinux.org/fr/windows/ :
  • Et – surprise ! – les virus et logiciels espions n’ont pas d’effet sur les logiciels au code source ouvert. On n’y achète pas la « sécurité » en supplément. L’industrie du logiciel antivirus, dans laquelle on compte aujourd’hui Microsoft, préfère que vous utilisiez Windows.

Misère.

WannaCry / WannaCrypt ( ransomware ) : Nouvelle grosse faille de sécurité sous Windows !

421 x served & 444 x viewed

Il est très important de faire les mise à jours Windows ( https://technet.microsoft.com/en-us/library/security/ms17-010.aspx ) et de désactiver SMB  ( Panneau de config -> Programmes -> Activer désactiver fonctionnalités -> Décocher support de partage de fichiers SMB ) :

L’autres solutions est de bloquer les ports : 135, 137, 138, 139, 445, 1900. Mais c’est pas le mieux.

Vous pouvez aussi vérifier ce répertoire :

Si vous lisez bien l’anglais, voici le lien Microsoft sur l’attaque :

Pour l’heure les serveurs de Windows sont saturés vu le nombre d’Update :

L’attaque est sous forme de rançon :

Elle semble venir de ce nom de domaine : hxxp://www[.]iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea[.]com : voir http://blog.talosintelligence.com/2017/05/wannacry.html (Le premier bon article)

L’impact est énorme, surtout en Russie : entre 200.000 et 400.000 pc infectés. Pour suivre le virus : https://intel.malwaretech.com/WannaCrypt.html .

On peut mieux voir la rapidité de l’infection :

Quand va-t-ton passer les administrations Francaise sous Linux ? Comme c’est déjà le cas pour la gendarmerie ! Je vous conseille de voir Cash Investigation en octobre 2016 : http://www.zdnet.fr/blogs/l-esprit-libre/cash-investigation-le-logiciel-libre-la-defense-microsoft-et-l-italie-39843694.htm : Cash Investigation: le logiciel libre, la défense, Microsoft et l’Italie.

On apprend entre autres que le contrat entre le ministère de la Défense et Microsoft (le fameux contrat open bar), comparé à un cheval de Troie, a été signé avec Microsoft… Irlande.

Le contrat renouvelé, note l’émission, est passé de 80 à 120 millions d’euros. Un rapport interne de 2008, obtenu par les journalistes, pointait les risques: « affaiblissement de la gouvernance » en limitant l’autonomie, « addictions aux technologies Microsoft », etc.

Un passage de Cash Investigation porte sur le choix opposé fait en Italie, où l’armée s’est équipée en logiciels libres: pour des raisons économiques (une économie de 16 millions d’euros en 2016, et d’ici à 2020 de 30 millions), mais aussi de sûreté, soulignent les responsables italiens interrogés: « La sécurité des logiciels libres est supérieure à celle de Microsoft », déclare le général Camillo Sileo, directeur du département informatique et responsable de la migration vers le Libre.

L’exemple en France de la gendarmerie, passée avec succès au logiciel libre, est également mentionné.

Pour l’instant pas beaucoup de communication en France …

A l’étranger :

Sinon les failles sous Windows ce n’est pas nouveau …

Dans toute cette histoire ce qui semble faire le plus mal c’est que la faille était connu de la NSA, et la NSA avait développé des outils pour l’exploiter…. superbe collaboration des administration à la sécurité publique. ( http://www.telegraph.co.uk/news/2017/05/12/russian-linked-cyber-gang-shadow-brokers-blamed-nhs-computer/ : It is thought the NSA warned Microsoft its hacking tool had been stolen earlier this year, prompting Microsoft to develop a ‘patch’ – or fix – in March allowing computer users to update their systems and protect them from cyber attack. )

Un dernier lien pour ceux qui veulent aller à la source du problème : https://gist.github.com/msuiche/691e52fd5f0d8b760080640687e23d60 .

A qui profite le crime : https://blockchain.info/address/115p7UMMngoj1pMvkpHijcRdfJNXj6LrLn . 28 paiements pour $8,120.08. Et ce qui est malheureux c’est que cela va grimper … pour donner des idées à d’autres.

Misère.

Paris Open Source Summit 2016 : #OSSPARIS2016

132 x served & 44 x viewed

C’était une super édition avec beaucoup d’échanges ( Docker, Zabbix, PostgreSQL, Redhat, Fédora, RabbitMQ, …) , et superbe discours d’Axelle Lemaire en ouverture. Même si on préférerait voir des actes plutôt que des beaux discours 😉 . Vivement le Libre dans l’éducation nationale, la police, la défense, … . Voir que même les ministères signent des contrats ailleurs qu’en France (en Irlande), ce n’est pas montrer le bon exemple. Lire cet article de l’APRIL : https://www.april.org/l-april-demande-la-publication-de-l-accord-de-securite-entre-microsoft-et-l-etat.

p_20161117_093658 p_20161117_093735 p_20161117_105513 p_20161116_143203

Le salon a laissé des traces sur mon LapTop qui était un peu trop « pommer ». Maintenant c’est sûr je vais le reconnaitre 😉

laptop

Un peu de pub 😉

priorite-logiciel-libre-je-soutiens-april

Docker : Le troisième pas .

615 x served & 271 x viewed

Attention ceci est mon brouillon avant de faire une belle documentation sur Docker (il y a à boire et à manger). 

Maintenant on a mieux compris le système (enfin j’ai mieux compris) et l’on sait qu’il faut faire les choses dans une certain ordre (Les précédents POST n°1 et n°2 ) .

  • On a compris qu’il fallait une partition spéciale (par exemple Btrfs) pour Docker.
  • On a compris qu’il devait y avoir une version « spéciale » pour Docker sous Oracle Linux. Mais on a préféré prendre la version standard. Par exemple on doit avoir le fichier /etc/sysconfig/docker .
  • On a compris qu’il fallait avant tout faire le fichier Dockerfile
    , puis le « docker build » et « docker run« .
  • On a aussi l’option -v qui permet de faire le lien entre l’hôte et le container.
  • On a pris le risque de mettre le dernier noyau  4.1.12-32.2.3.el7uek.x86_64 , afin d’avoir la dernière version de Docker. Ce n’est jamais bon d’être sur les derniers version car on est le premier a se prendre les nouveaux problèmes.

Maintenant on va pouvoir lancer des containers en utilisant la syntaxe :

docker run -p <hôte_port1>:<container_port1> -p <hôte_port2>:<container_port2> …

Car jusqu’à présent on n’a pas vu de port en écoute, c’est parce que l’on n’a pas fait le lien entre le port hôte et le port du conteneur.

Plutôt que de continuer avec HAproxy on va faire avoir PostgreSQL qui me semble plus simple à mettre en oeuvre dans un premier temps.

Je redonne les informations de mon docker :

[root@localhost ~]# docker info
Containers: 1
 Running: 0
 Paused: 0
 Stopped: 1
Images: 4
Server Version: 1.11.0
Storage Driver: btrfs
 Build Version: Btrfs v3.19.1
 Library Version: 101
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins: 
 Volume: local
 Network: bridge null host
Kernel Version: 4.1.12-32.2.3.el7uek.x86_64
Operating System: Oracle Linux Server 7.2
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 739.1 MiB
Name: localhost.localdomain
ID: X7PA:FHLQ:XKJJ:IH72:P5HO:ULDH:ZMID:VGSB:KOMV:AJGF:SEY6:PTGV
Docker Root Dir: /docker
Debug mode (client): false
Debug mode (server): false
Registry: https://index.docker.io/v1/

On se lance donc dans PostgreSQL, d’abord on regarde ce qui est disponible :

[root@localhost ~]# docker search postgres
NAME                         DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
postgres                     The PostgreSQL object-relational database ...   1909      [OK]       
abevoelker/postgres          Postgres 9.3 + WAL-E + PL/V8 and PL/Python...   10                   [OK]
macadmins/postgres           Postgres that accepts remote connections b...   8                    [OK]
jamesbrink/postgres          Highly configurable PostgreSQL container.       5                    [OK]
linuxkonsult/postgres        A Postgres trusted build installed with Chef.   5                    [OK]
cptactionhank/postgres                                                       4                    [OK]
kampka/postgres              A postgresql image build on top of an arch...   2                    [OK]
azukiapp/postgres            Docker image to run PostgreSQL by Azuki - ...   2                    [OK]
eeacms/postgres              Docker image for PostgreSQL (RelStorage re...   2                    [OK]
icescrum/postgres            PostgreSQL image for iceScrum.                  1                    [OK]
clkao/postgres-plv8          Docker image for running PLV8 1.4 on Postg...   1                    [OK]
jgiannuzzi/postgres-bdr      Docker image for PostgreSQL with BDR support    1                    [OK]
baselibrary/postgres         ThoughtWorks Postgres & PostGIS Docker Image    1                    [OK]
travix/postgres              A container to run the PostgreSQL database.     0                    [OK]
timbira/postgres             Postgres  containers                            0                    [OK]
blacklabelops/postgres       Postgres Image for Atlassian Applications       0                    [OK]
livingdocs/postgres          Postgres v9.3 with the plv8 extension inst...   0                    [OK]
opencog/postgres             This is a configured postgres database for...   0                    [OK]
beorc/postgres               Ubuntu-based PostgreSQL server                  0                    [OK]
vrtsystems/postgres          PostgreSQL image with added init hooks, bu...   0                    [OK]
vibioh/postgres              PostgresQL Server                               0                    [OK]
coreroller/postgres          official postgres:9.4 image but it adds 2 ...   0                    [OK]
khipu/postgres               postgres with custom uids                       0                    [OK]
aheimsbakk/postgres-nosync   `postgres` docker with `synchronous_commit...   0                    [OK]
akilli/postgres              debian:jessie based PostgreSQL image            0                    [OK]

Maintenant je regarde quel est la dernière version de PostgreSQL :

FROM postgres:latest 
MAINTAINER toto toto@cyber-neurones.org 
RUN yum install postgresql && yum install postgresql-server 
RUN /etc/init.d/postgresql initdb 
# Modification de la configuration 
RUN echo "host all all 0.0.0.0/0 md5" >> /var/lib/pgsql/data/pg_hba.conf 
RUN echo "listen_addresses='*'" >> /var/lib/pgsql/data/postgresql.conf 
# Le port en ecoute 
EXPOSE 5432 
# Ajout des volumes pour faire un backup 
VOLUME ["/etc/postgresql", "/var/log/postgresql", "/var/lib/pgsql"] 
# Pour lancer postgres 
CMD ["/var/lib/pgsql/bin/postgres", "-D", "/var/lib/pgsql/data", "-c", "config_file=/var/lib/pgsql/data/postgresql.conf"]

Je me lance donc dans le test de mon premier fichier ! La première étape c’est le build :

[root@localhost ~]# docker build -t my-postgres .
Sending build context to Docker daemon 15.36 kB
Step 1 : FROM postgres:latest
latest: Pulling from library/postgres
efd26ecc9548: Already exists 
a3ed95caeb02: Pull complete 
aef28b128f84: Pull complete 
5c6681af0d52: Pull complete 
43fd2592d569: Pull complete 
90b140d542bd: Pull complete 
9f56303d7da8: Pull complete 
75f16d91384c: Pull complete 
a7e55988e47e: Pull complete 
6980fe8c2745: Pull complete 
94512148bc3a: Pull complete 
055e85b433f4: Pull complete 
Digest: sha256:3ab14aa8758e62570f589848a93039a55c9e3ab123090c58721374d4f633ff71
Status: Downloaded newer image for postgres:latest
 ---> 0f3af79d8673
Step 2 : MAINTAINER toto toto@cyber-neurones.org
 ---> Running in 4ee6e08a7c8c
 ---> dadadc713dfa
Removing intermediate container 4ee6e08a7c8c
Step 3 : RUN yum install postgresql && yum install postgresql-server RUN /etc/init.d/postgresql initdb
 ---> Running in 5cfa35a21346
/bin/sh: 1: yum: not found
The command '/bin/sh -c yum install postgresql && yum install postgresql-server RUN /etc/init.d/postgresql initdb' returned a non-zero code: 127

Aie le yum ne passe pas … j’ai ajouté l’option -y mais pas mieux (l’option -y permet de répondre y aux questions, c’est impératif en ligne de commande).

RUN yum install postgresql -y && yum install postgresql-server -y RUN /etc/init.d/postgresql initdb

La commande yum n’est pas dispo, on est donc sur une base Débian. On va donc faire un apt-get ! ou alors on va partir d’une base de Fédora (proche de Oracle Linux) pour avoir la commande yum.

Voici donc mon nouveau fichier :

FROM fedora
MAINTAINER toto toto@cyber-neurones.org
RUN yum install postgresql -y 
RUN yum install postgresql-server -y
RUN /etc/init.d/postgresql initdb
# Modification de la configuration
RUN echo "host all all 0.0.0.0/0 md5" >> /var/lib/pgsql/data/pg_hba.conf
RUN echo "listen_addresses='*'" >> /var/lib/pgsql/data/postgresql.conf
# Le port en ecoute
EXPOSE 5432
# Ajout des volumes pour faire un backup
VOLUME ["/etc/postgresql", "/var/log/postgresql", "/var/lib/pgsql"]
# Pour lancer postgres
CMD ["/var/lib/pgsql/bin/postgres", "-D", "/var/lib/pgsql/data", "-c", "config_file=/var/lib/pgsql/data/postgresql.conf"]

On refait un test :

[root@localhost ~]# docker build -t my-postgres .
Sending build context to Docker daemon 15.36 kB
Step 1 : FROM fedora
 ---> ddd5c9c1d0f2
Step 2 : MAINTAINER toto toto@cyber-neurones.org
 ---> Using cache
 ---> f170274e277c
Step 3 : RUN yum install postgresql -y
 ---> Running in a8bd83110986
Yum command has been deprecated, redirecting to '/usr/bin/dnf install postgresql -y'.
See 'man dnf' and 'man yum2dnf' for more information.
To transfer transaction metadata from yum to DNF, run:
'dnf install python-dnf-plugins-extras-migrate && dnf-2 migrate'

Last metadata expiration check performed 0:00:47 ago on Thu Apr 14 17:50:24 2016.
Dependencies resolved.
================================================================================
 Package                Arch          Version              Repository      Size
================================================================================
Installing:
 postgresql             x86_64        9.4.7-1.fc23         updates        1.1 M
 postgresql-libs        x86_64        9.4.7-1.fc23         updates        240 k

Transaction Summary
================================================================================
Install  2 Packages

Total download size: 1.3 M
Installed size: 4.4 M
Downloading Packages:
--------------------------------------------------------------------------------
Total                                            75 kB/s | 1.3 MB     00:18     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Installing  : postgresql-libs-9.4.7-1.fc23.x86_64                         1/2 
  Installing  : postgresql-9.4.7-1.fc23.x86_64                              2/2 
  Verifying   : postgresql-9.4.7-1.fc23.x86_64                              1/2 
  Verifying   : postgresql-libs-9.4.7-1.fc23.x86_64                         2/2 

Installed:
  postgresql.x86_64 9.4.7-1.fc23       postgresql-libs.x86_64 9.4.7-1.fc23      

Complete!
 ---> 398c5e8555cb
Removing intermediate container a8bd83110986
Step 4 : RUN yum install postgresql-server -y
 ---> Running in 1dc2f23f63bd
Yum command has been deprecated, redirecting to '/usr/bin/dnf install postgresql-server -y'.
See 'man dnf' and 'man yum2dnf' for more information.
To transfer transaction metadata from yum to DNF, run:
'dnf install python-dnf-plugins-extras-migrate && dnf-2 migrate'

Last metadata expiration check performed 0:01:15 ago on Thu Apr 14 17:50:24 2016.
Dependencies resolved.
================================================================================
 Package                 Arch         Version               Repository     Size
================================================================================
Installing:
 postgresql-server       x86_64       9.4.7-1.fc23          updates       4.0 M

Transaction Summary
================================================================================
Install  1 Package

Total download size: 4.0 M
Installed size: 17 M
Downloading Packages:
--------------------------------------------------------------------------------
Total                                           585 kB/s | 4.0 MB     00:07     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Installing  : postgresql-server-9.4.7-1.fc23.x86_64                       1/1 
  Verifying   : postgresql-server-9.4.7-1.fc23.x86_64                       1/1 

Installed:
  postgresql-server.x86_64 9.4.7-1.fc23                                         

Complete!
 ---> 7592731d113b
Removing intermediate container 1dc2f23f63bd
Step 5 : RUN /etc/init.d/postgresql initdb
 ---> Running in 29aa04f7d09a
/bin/sh: /etc/init.d/postgresql: No such file or directory
The command '/bin/sh -c /etc/init.d/postgresql initdb' returned a non-zero code: 127

Encore un échec, mais je ne baisse pas les bras 😉 Voici ma version n°3 du fichier :

FROM fedora
MAINTAINER toto toto@cyber-neurones.org 
RUN dnf install postgresql -y 
RUN dnf install postgresql-server -y 
RUN postgresql-setup initdb 
# Modification de la configuration 
RUN echo "host all all 0.0.0.0/0 md5" >> /var/lib/pgsql/data/pg_hba.conf 
RUN echo "listen_addresses='*'" >> /var/lib/pgsql/data/postgresql.conf 
# Le port en ecoute 
EXPOSE 5432 
# Ajout des volumes pour faire un backup 
VOLUME ["/etc/postgresql", "/var/log/postgresql", "/var/lib/pgsql"] 
# Pour lancer postgres 
CMD ["/var/lib/pgsql/bin/postgres", "-D", "/var/lib/pgsql/data", "-c", "config_file=/var/lib/pgsql/data/postgresql.conf"]

Maintenant le test :

[root@localhost ~]# docker build -t my-postgres .
Sending build context to Docker daemon 15.36 kB
Step 1 : FROM fedora
 ---> ddd5c9c1d0f2
Step 2 : MAINTAINER toto toto@cyber-neurones.org
 ---> Using cache
 ---> f170274e277c
Step 3 : RUN dnf install postgresql -y
 ---> Running in 3cbd03b57500
Last metadata expiration check performed 0:00:43 ago on Thu Apr 14 17:57:13 2016.
Dependencies resolved.
================================================================================
 Package                Arch          Version              Repository      Size
================================================================================
Installing:
 postgresql             x86_64        9.4.7-1.fc23         updates        1.1 M
 postgresql-libs        x86_64        9.4.7-1.fc23         updates        240 k

Transaction Summary
================================================================================
Install  2 Packages

Total download size: 1.3 M
Installed size: 4.4 M
Downloading Packages:
--------------------------------------------------------------------------------
Total                                            75 kB/s | 1.3 MB     00:18     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Installing  : postgresql-libs-9.4.7-1.fc23.x86_64                         1/2 
  Installing  : postgresql-9.4.7-1.fc23.x86_64                              2/2 
  Verifying   : postgresql-9.4.7-1.fc23.x86_64                              1/2 
  Verifying   : postgresql-libs-9.4.7-1.fc23.x86_64                         2/2 

Installed:
  postgresql.x86_64 9.4.7-1.fc23       postgresql-libs.x86_64 9.4.7-1.fc23      

Complete!
 ---> 3d2c98e008bc
Removing intermediate container 3cbd03b57500
Step 4 : RUN dnf install postgresql-server -y
 ---> Running in ea14d4661833
Last metadata expiration check performed 0:01:10 ago on Thu Apr 14 17:57:13 2016.
Dependencies resolved.
================================================================================
 Package                 Arch         Version               Repository     Size
================================================================================
Installing:
 postgresql-server       x86_64       9.4.7-1.fc23          updates       4.0 M

Transaction Summary
================================================================================
Install  1 Package

Total download size: 4.0 M
Installed size: 17 M
Downloading Packages:
--------------------------------------------------------------------------------
Total                                           488 kB/s | 4.0 MB     00:08     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Installing  : postgresql-server-9.4.7-1.fc23.x86_64                       1/1 
  Verifying   : postgresql-server-9.4.7-1.fc23.x86_64                       1/1 

Installed:
  postgresql-server.x86_64 9.4.7-1.fc23                                         

Complete!
 ---> 7dde38450b15
Removing intermediate container ea14d4661833
Step 5 : RUN postgresql-setup initdb
 ---> Running in 1fa62834212e
WARNING: using obsoleted argument syntax, try --help
WARNING: arguments transformed to: postgresql-setup --initdb --unit postgresql
/usr/share/postgresql-setup/library.sh: line 63: find: command not found
Failed to get D-Bus connection: Operation not permitted
Failed to get D-Bus connection: Operation not permitted
FATAL: no db datadir (PGDATA) configured for 'postgresql.service' unit
The command '/bin/sh -c postgresql-setup initdb' returned a non-zero code: 1

On va dire que l’on a encore avancé mais pas facile de trouver de la documentation claire pour l’instant. En plus du yum qui a changé en dnf, la commande l’initialisation de postgres n’est plus la même. La compatibilité ascendante c’est pour demain 😉

[root@localhost ~]# cat Dockerfile
FROM fedora
MAINTAINER toto toto@cyber-neurones.org 
RUN dnf install postgresql -y 
RUN dnf install postgresql-server -y 
RUN postgresql-setup --initdb --unit postgresql
# Modification de la configuration 
RUN echo "host all all 0.0.0.0/0 md5" >> /var/lib/pgsql/data/pg_hba.conf 
RUN echo "listen_addresses='*'" >> /var/lib/pgsql/data/postgresql.conf 
# Le port en ecoute 
EXPOSE 5432 
# Ajout des volumes pour faire un backup 
VOLUME ["/etc/postgresql", "/var/log/postgresql", "/var/lib/pgsql"] 
# Pour lancer postgres 
CMD ["/var/lib/pgsql/bin/postgres", "-D", "/var/lib/pgsql/data", "-c", "config_file=/var/lib/pgsql/data/postgresql.conf"]

[root@localhost ~]# docker build -t my-postgres .
Sending build context to Docker daemon 15.36 kB
Step 1 : FROM fedora
 ---> ddd5c9c1d0f2
Step 2 : MAINTAINER toto toto@cyber-neurones.org
 ---> Using cache
 ---> f170274e277c
Step 3 : RUN dnf install postgresql -y
 ---> Using cache
 ---> 3d2c98e008bc
Step 4 : RUN dnf install postgresql-server -y
 ---> Using cache
 ---> 7dde38450b15
Step 5 : RUN postgresql-setup --initdb --unit postgresql
 ---> Running in b4dd8e2cef49
/usr/share/postgresql-setup/library.sh: line 63: find: command not found
Failed to get D-Bus connection: Operation not permitted
Failed to get D-Bus connection: Operation not permitted
FATAL: no db datadir (PGDATA) configured for 'postgresql.service' unit
The command '/bin/sh -c postgresql-setup --initdb --unit postgresql' returned a non-zero code: 1

Je ne vais pas faire d’initdb …

[root@localhost ~]# docker build -t my-postgres .
Sending build context to Docker daemon 15.36 kB
Step 1 : FROM fedora
 ---> ddd5c9c1d0f2
Step 2 : MAINTAINER toto toto@cyber-neurones.org
 ---> Using cache
 ---> f170274e277c
Step 3 : RUN dnf install postgresql -y
 ---> Using cache
 ---> 3d2c98e008bc
Step 4 : RUN dnf install postgresql-server postgresql-contrib -y
 ---> Using cache
 ---> 29c873629d39
Step 5 : RUN echo "host all all 0.0.0.0/0 md5" >> /var/lib/pgsql/data/pg_hba.conf
 ---> Using cache
 ---> 4a99cf64311c
Step 6 : RUN echo "listen_addresses='*'" >> /var/lib/pgsql/data/postgresql.conf
 ---> Using cache
 ---> 4b431bcfe6fb
Step 7 : USER postgres
 ---> Using cache
 ---> b88497ef1a95
Step 8 : ENV PGDATA /var/lib/pgsql/data
 ---> Using cache
 ---> 9272c705d631
Step 9 : EXPOSE 5432
 ---> Running in b2e4c043bc2e
 ---> a6ea2c236302
Removing intermediate container b2e4c043bc2e
Step 10 : VOLUME /etc/postgresql /var/log/postgresql /var/lib/pgsql
 ---> Running in cf06d787cecf
 ---> cffe96473050
Removing intermediate container cf06d787cecf
Step 11 : CMD /var/lib/pgsql/bin/postgres -D /var/lib/pgsql/data -c config_file=/var/lib/pgsql/data/postgresql.conf
 ---> Running in 7690289ad7cb
 ---> 1204d059861e
Removing intermediate container 7690289ad7cb
Successfully built 1204d059861e
[root@localhost ~]# cat Dockerfile
FROM fedora
MAINTAINER toto toto@cyber-neurones.org 
RUN dnf install postgresql -y 
RUN dnf install postgresql-server postgresql-contrib -y 
# Modification de la configuration 
RUN echo "host all all 0.0.0.0/0 md5" >> /var/lib/pgsql/data/pg_hba.conf 
RUN echo "listen_addresses='*'" >> /var/lib/pgsql/data/postgresql.conf 
USER postgres
ENV PGDATA /var/lib/pgsql/data
#RUN initdb --data-checksums
# Le port en ecoute 
EXPOSE 5432 
# Ajout des volumes pour faire un backup 
VOLUME ["/etc/postgresql", "/var/log/postgresql", "/var/lib/pgsql"] 
# Pour lancer postgres 
CMD ["/var/lib/pgsql/bin/postgres", "-D", "/var/lib/pgsql/data", "-c", "config_file=/var/lib/pgsql/data/postgresql.conf"]

Maintenant je lance :

[root@localhost ~]# docker run -p 5432:5432 --name postgres -e POSTGRES_PASSWORD=password -d postgres
a590ea4020c45974f68d2e9b7296d83e4176a2dca109510abd72a80b0d26fc11

[root@localhost ~]# ss -at
State       Recv-Q Send-Q                                   Local Address:Port                                                    Peer Address:Port                
LISTEN      0      128                                                  *:ssh                                                                *:*                    
LISTEN      0      100                                          127.0.0.1:smtp                                                               *:*                    
ESTAB       0      0                                         192.168.1.13:ssh                                                     192.168.1.10:62127                
LISTEN      0      128                                                 :::ssh                                                               :::*                    
LISTEN      0      128                                                 :::postgres                                                          :::*                    
LISTEN      0      100                                                ::1:smtp                                                              :::*                    
[root@localhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
a590ea4020c4        postgres            "/docker-entrypoint.s"   5 minutes ago       Up 5 minutes        0.0.0.0:5432->5432/tcp   postgres

Le port semble être en écoute, maintenant il me faut perfectionner la conf de PostgreSQL et installé des outils en local afin d’avoir accès à la base.

[root@localhost ~]# yum install postgresql
[root@localhost ~]# yum install telnet

Je vais donc modifier ce fichier :

FROM fedora
MAINTAINER toto toto@cyber-neurones.org 
RUN dnf install postgresql -y 
RUN dnf install postgresql-server postgresql-contrib -y 
# Modification de la configuration 
RUN echo "host all all 0.0.0.0/0 md5" >> /var/lib/pgsql/data/pg_hba.conf 
RUN echo "listen_addresses='*'" >> /var/lib/pgsql/data/postgresql.conf 
RUN echo "tcpip_socket = true" >> /var/lib/pgsql/data/postgresql.conf 
USER postgres
ENV PGDATA /var/lib/pgsql/data
#RUN initdb --data-checksums
# Le port en ecoute 
EXPOSE 5432 
# Ajout des volumes pour faire un backup 
VOLUME ["/etc/postgresql", "/var/log/postgresql", "/var/lib/pgsql"] 
# Pour lancer postgres 
CMD ["/var/lib/pgsql/bin/postgres", "-D", "/var/lib/pgsql/data", "-c", "config_file=/var/lib/pgsql/data/postgresql.conf"]

Le but étant de faire fonctionner le connexion à la base par la suite.

Docker Birthday Celebration à SophiaTech

En passant

1233 x served & 138 x viewed

Bravo pour l’organisation de cet évènement sur Sophia, voici quel était le lien : http://www.telecom-valley.fr/workshop-docker-birthday-celebration-3/ 

CeKhnVLWIAAyh50

Il y avait un Workshop pour ceux qui avait eu la chance d’avoir une place, et un retour d’expérience. C’est une technologie très intéressante mais aussi très complexe. Pour l’instant la complexité fait que peu de personnes en comprennent l’utilité, ce qui est bien dommage.

Pour plus d’information :

Un système de clustering qui est conçu pour gérer des applications atteignant des centaines de millions d’utilisateurs, et qu’elle envisage désormais d’associer à Swarm

IBM notamment a réalisé un comparatif de performance entre Docker et KVM. Sa conclusion est sans appel : Docker égale ou excède les performances de cette technologie de virtualisation open source – et ce dans tous les cas testés dans le cadre du comparatif.

Docker permettrait de réduire la consommation de RAM de 4 à 30 fois.