Archive | Boulot

RSA avec openSSL

Intégralement et honteusement pompé sur https://www.fil.univ-lille1.fr/~wegrzyno/portail/PAC/Doc/TP-Certificats/tp-certif002.html

1. Génération d’une paire de clés

On peut générer une paire de clés RSA avec la commande genrsa de openSSL.

$ openssl genrsa -out <fichier> <taille>

fichier est un nom de fichier de sauvegarde de la clé, et taille et la taille souhaitée (exprimée en bits) du modulus de la clé.

Par exemple, pour générer une paire de clés de 1024 bits, stockée dans le fichier maCle.pem, on tape la commande

$ openssl genrsa -out maCle.pem 1024

Le fichier obtenu est un fichier au format PEM (Privacy Enhanced Mail, format en base 64), dont voici un exemple :

$ cat maCle.pem

-----BEGIN RSA PRIVATE KEY----- MIICXAIBAAKBgQCveVjLltevTC5kSAiTYjHMVuAR80DHMLWCp3BOVZ49eXwraXxO 7AfKWpA5g0wFZgZNERIfFYaCnvaQDQA+9BRIfsSSr3oSw0My5SD6eg15v0VmJmvP d8LgBypJHbr6f5MXWqntvzp0Qvg6ddeNpUIrqkkh4uDfHFDWqyrkQUCvKwIDAQAB AoGANchUrfnq28DWy0fE0R+cscvC292Z8jN8vrIBWxEk8iSlKU0om6v+a0g8wlP6 3gC6V66uxjY7xxdf7SD+/UykVl4PGFymhLtywSdGlgec3tLgBtV3ytJFilAVDBij LzQwUegCO4zt1JWYc6vvaVdNyQSaGIIeYGsNDWEYlOtDSlkCQQDVRn9JS15G8p+H
4Z0PbU9ZQg2L1u9/SD/kELVe3Kx1fdHulxH0v8V2AgPdXA29Nhi+TxUtC+V8CMc2 KXmAvFsHAkEA0qBDmjHMDPwcGaqbQ2lymYQIGlZ5TLQFA98Dey2uE+CB6pmS/e/Z ilu1IaasuE3vBzXfB/JU7DUkV++JQ7TtvQJBAL2s5dUch2sXqlOhjhpDP/eE7CE6 9WLAsbm2Nmd4YJRZYtQLXPfLeeSapC9BCCMHsnfGQ3H9i4mFEQ6VUi7w1Q8CQAQa pVaS09QI8Y86eM4GdvowzWud9b0d4N8jcFDtIfA3NrDYjzmte8KraMsgEUuCET9F
uHPSL/9uRagE/dq44s0CQCMQU4PMqkMtwzCFsV8ZqLmkDPn1binIAwRLYFcsQRDt gTi6rycz3Pk1hCVzBfyMd8zwqpwKmR5FoOXuJEv+mVg=
-----END RSA PRIVATE KEY-----

2.  Visualisation des clés RSA

La commande rsa permet de visualiser le contenu d’un fichier au format PEM contenant une paire de clés RSA.

$ openssl rsa -in <fichier> -text -noout

L’option -text demande l’affichage décodé de la paire de clés. L’option -noout supprime la sortie normalement produite par la commande rsa.

Par exemple

$ openssl rsa -in maCle.pem -text -noout

Private-Key: (1024 bit)
modulus: 00:af:79:58:cb:96:d7:af:4c:2e:64:48:08:93:62: 31:cc:56:e0:11:f3:40:c7:30:b5:82:a7:70:4e:55: 9e:3d:79:7c:2b:69:7c:4e:ec:07:ca:5a:90:39:83: 4c:05:66:06:4d:11:12:1f:15:86:82:9e:f6:90:0d: 00:3e:f4:14:48:7e:c4:92:af:7a:12:c3:43:32:e5: 20:fa:7a:0d:79:bf:45:66:26:6b:cf:77:c2:e0:07: 2a:49:1d:ba:fa:7f:93:17:5a:a9:ed:bf:3a:74:42: f8:3a:75:d7:8d:a5:42:2b:aa:49:21:e2:e0:df:1c: 50:d6:ab:2a:e4:41:40:af:2b
publicExponent: 65537 (0x10001)
privateExponent: 35:c8:54:ad:f9:ea:db:c0:d6:cb:47:c4:d1:1f:9c: b1:cb:c2:db:dd:99:f2:33:7c:be:b2:01:5b:11:24: f2:24:a5:29:4d:28:9b:ab:fe:6b:48:3c:c2:53:fa: de:00:ba:57:ae:ae:c6:36:3b:c7:17:5f:ed:20:fe: fd:4c:a4:56:5e:0f:18:5c:a6:84:bb:72:c1:27:46: 96:07:9c:de:d2:e0:06:d5:77:ca:d2:45:8a:50:15: 0c:18:a3:2f:34:30:51:e8:02:3b:8c:ed:d4:95:98: 73:ab:ef:69:57:4d:c9:04:9a:18:82:1e:60:6b:0d: 0d:61:18:94:eb:43:4a:59
prime1: 00:d5:46:7f:49:4b:5e:46:f2:9f:87:e1:9d:0f:6d: 4f:59:42:0d:8b:d6:ef:7f:48:3f:e4:10:b5:5e:dc: ac:75:7d:d1:ee:97:11:f4:bf:c5:76:02:03:dd:5c: 0d:bd:36:18:be:4f:15:2d:0b:e5:7c:08:c7:36:29: 79:80:bc:5b:07
prime2: 00:d2:a0:43:9a:31:cc:0c:fc:1c:19:aa:9b:43:69: 72:99:84:08:1a:56:79:4c:b4:05:03:df:03:7b:2d: ae:13:e0:81:ea:99:92:fd:ef:d9:8a:5b:b5:21:a6: ac:b8:4d:ef:07:35:df:07:f2:54:ec:35:24:57:ef: 89:43:b4:ed:bd
exponent1: 00:bd:ac:e5:d5:1c:87:6b:17:aa:53:a1:8e:1a:43: 3f:f7:84:ec:21:3a:f5:62:c0:b1:b9:b6:36:67:78: 60:94:59:62:d4:0b:5c:f7:cb:79:e4:9a:a4:2f:41: 08:23:07:b2:77:c6:43:71:fd:8b:89:85:11:0e:95: 52:2e:f0:d5:0f
exponent2: 04:1a:a5:56:92:d3:d4:08:f1:8f:3a:78:ce:06:76: fa:30:cd:6b:9d:f5:bd:1d:e0:df:23:70:50:ed:21: f0:37:36:b0:d8:8f:39:ad:7b:c2:ab:68:cb:20:11: 4b:82:11:3f:45:b8:73:d2:2f:ff:6e:45:a8:04:fd: da:b8:e2:cd coefficient: 23:10:53:83:cc:aa:43:2d:c3:30:85:b1:5f:19:a8: b9:a4:0c:f9:f5:6e:29:c8:03:04:4b:60:57:2c:41: 10:ed:81:38:ba:af:27:33:dc:f9:35:84:25:73:05: fc:8c:77:cc:f0:aa:9c:0a:99:1e:45:a0:e5:ee:24: 4b:fe:99:58

Les différents éléments de la clé sont affichés en hexadécimal (hormis l’exposant public). On peut distinguer le modulus, l’exposant public (qui par défaut est toujours 655371), l’exposant privé, les nombres premiers facteurs du modulus, plus trois autres nombres qui servent à optimiser l’algorithme de déchiffrement.

3.  Chiffrement d’un fichier de clés RSA

Il n’est pas prudent de laisser une paire de clés en clair (surtout la partie privée). Avec la commande rsa, il est possible de chiffrer une paire de clés2 . Pour cela trois options sont possibles qui précisent l’algorithme de chiffrement symétrique à utiliser : -des, -des3 et -idea.

$ openssl rsa -in maCle.pem -des3 -out maCle.pem writing RSA key Enter PEM pass phrase: Verifying - Enter PEM pass phrase:

Une phrase de passe est demandée deux fois pour générer une clé symétrique protégeant l’accès à la clé.

4.  Export de la partie publique

La partie publique d’une paire de clés RSA est publique, et à ce titre peut être communiquée à n’importe qui. Le fichier maCle.pem contient la partie privée de la clé, et ne peut donc pas être communiqué tel quel (même s’il est chiffré). Avec l’option -pubout on peut exporter la partie publique d’une clé.
$ openssl rsa -in maCle.pem -pubout -out maClePublique.pem

5.  Chiffrement / déchiffrement de données avec RSA

On peut chiffrer des données avec une clé RSA. Pour cela on utilise la commande rsautl

$ openssl rsautl -encrypt -in <fichier_entree> -inkey <cle> \ -out <fichier_sortie></code

  • fichier_entree est le fichier des données à chiffrer. Attention, le fichier des données à chiffrer ne doit pas avoir une taille excessive (ne doit pas dépasser 116 octets pour une clé de 1024 bits).
  • cle est le fichier contenant la clé RSA. Si ce fichier ne contient que la parte publique de la clé, il faut rajouter l’option -pubin.
  • fichier_sortie est le fichier de données chiffré.

Pour déchiffrer on remplace l’option -encrypt par -decrypt. Le fichier contenant la clé doit évidemment contenir la partie privée.

6.  Signature de fichiers

La commande dgst permet de le faire.

$ openssl dgst <hachage> -out <empreinte> <fichier_entree>

hachage est une fonction de hachage. Avec openssl, plusieurs fonctions de hachage sont proposées dont

  • MD5 (option -md5), qui calcule des empreintes de 128 bits,
  • SHA1 (option -sha1), qui calcule des empreintes de 160 bits,
  • RIPEMD160 (option -ripemd160), qui calcule des empreintes de 160 bits.
Dans la vraie vie signer un document revient à chiffrer son empreinte (et non pas à signer son empreinte comme on peut le lire dans le doc original, puisque la signature est une double opération cryptograhique hash&encrypt). Pour cela, on utilise l’option -sign de la commande rsautl
$ openssl rsautl -sign -in <empreinte> \ -inkey <cle> \ -out <signature>
et pour vérifier la signature
$ openssl rsautl -verify -in <signature> -pubin \ -inkey <cle> -out <empreinte>

il reste ensuite à vérifier que l’empreinte ainsi produite est la même que celle que l’on peut calculer. L’option -pubin indique que la clé utilisée pour la vérification est la partie publique de la clé utilisée pour la signature.

Pour ceux qui ne veulent pas jouer avec  Java : Command Line Utilities openSSL


Posted in Boulot1 Commentaire

Data-in-Transit Encryption with MariaDB

Sécuriser les données au repos c’est important, mais sécuriser les flux l’est tout autant.

Donc, après une petite synthèse sur Data-at-Rest Encryption avec Transparent Data Encryption, voyons comment mettre un peu de confidentialité dans le transport.

Un peu de cuisine pour commencer … En ces temps de confinement, cet article servira de support à un TP que nous jouerons avec les LP DLIS de l’IUT d Vannes semaine prochaine.

On va ouvrir un accès sur une base MariaDB exposée sur Internet … ouais, on des fous 🙂

Bon, on va quand même avant toute chose activer les logs sur le fameux SGBD histoire de voir qui attaque sans passer par un proxy. Attention malgré tout car dans les fameux fichiers de logs on retrouve aussi en particulier, les requêtes de création de comptes avec si on n’y prends pas garde le mot de passe en clair (et accessoirement toutes les commandes pourries)  :

logs mariaDB

logs mariaDB

root@vpsxxxxxx:/etc/mysql/mariadb.conf.d# ls /var/log/mysql/mysql.log -lart
-rw-rw—- 1 mysql adm 182 Mar 27 11:56 /var/log/mysql/mysql.log

 

 

Pour faire les choses un petit peu sérieusement, on n’ouvrira qu’une base sur internet avec un seul compte dédié créé pour l’occasion, histoire d’avoir un peu de cloisonnement.

Forcément et heureusement, dans un premier temps ça ne passe pas. Il faut modifier la configuration par défaut qui n’autorise que les connexions depuis le poste local.

can't connect to mariaDB

can’t connect to mariaDB

 

 

 

 

 

 

Et puis, après quelques efforts, la connexion peut enfin être établie…

mysql from everywher for everyone

mysql from everywher for everyone

 

 

 

Faudrait pas croire que votre mot de passe circule en clair (contrairement au trafic suivant l’authentification) .

Il se dit que le mot de passe suivrait  le mécanisme de chiffrement détaillé ici  :

https://dev.mysql.com/doc/dev/mysql-server/latest/page_protocol_connection_phase_authentication_methods_native_password_authentication.html

Malheureusement, à cet instant (20200329151524) je n’arrive pas à retrouver dans mon pcap les 20 octets de nonce (on nous ment ?)

Scramble data

Scramble data

 

 

 

 

 

 

 

Bref, quoi, qu’il en soit et au delà de la vérification de l’implémentation de ce mécanisme, revenons au chiffrement du flux …

Etape 1 – Créer le certificat racine de l’autorité de certification (CA)

 

Créons un dossier tls dans le répertoire /etc/mysql/  (parce que ssl c’est tellement vingtième siècle):

$ cd /etc/mysql
$ sudo mkdir tls
$ cd tls

Note: La valeur du Common Name (CN) utilisée pour les certificats serveur MariaDB et le client doivent être différents du Common Name utilisé pour le certificat racine de l’autorité de certification. Pour éviter tour problème, j’ai utilisé les valeurs suivantes :
Common Name de la CA : MariaDB admin
Common Name du serveur : MariaDB server
Common Name du client : MariaDB client

Dans la vraie vie, la CA serait hébergée sur une autre machine.

Génération de la paire de clefs RSA

$ sudo openssl genrsa 2048 > BZHITSCA-key.pem

Génération du certificat de la clef publique ( tip : pour être très précis, on parle donc de certificat DE clef publique)

$ sudo openssl req -new -x509 -nodes -days 365000 -key BZHITS-key.pem -out BZHITS-cert.pem

On lui donne une validité de 1 000 ans, ce qui nous donnera le temps de jouer.

 

Par abus de langage on associe souvent la commande précédente à une simple génération de clef privée. Mais en fait le fichier .pem produit permet aussi d’exporter la clef publique.

$ sudo openssl rsa -in BZHITSCA-key.pem -pubout -out BZHITSCA-pubkey.pem

Etape 2 – Créer le certificat du serveur MariaDB

 

Génération de la clef et de la Certificate Signing Request

$ sudo openssl req -newkey rsa:2048 -days 365 -nodes -keyout SERVER-key.pem -out SERVER-req.pem

Le deuxième objet créé est la requête de demande de signature de certificat. Donc, généralement on put dire qu’un cettificat c’est un fichier contenant des « informations » relatives à une entité et la clef publique de cette même entité ayant subi une signature numérique par l’autorité de certification (qui cetifie donc que la clef publique représente bien l’entité en question). Capito ?

$ sudo openssl rsa -in server-key.pem -out server-key.pem

Signature du certificat du serveur

$ sudo openssl x509 -req -in server-req.pem -days 365000 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem

 

Pour mémoire (pas mal de liens qui m’ont permis de comprendre) :

https://stackoverflow.com/questions/38167587/how-to-use-wireshark-to-capture-mysql-query-sql-clearly

How to get the network packets between MySQL client and server?


tcpdump -nnei any port 3306 -w tmp.pcap
https://dev.mysql.com/doc/dev/mysql-server/latest/page_protocol_connection_phase_authentication_methods_native_password_authentication.html

http://databaseblog.myname.nl/2017/03/network-attacks-on-mysql-part-1.html

https://www.cyberciti.biz/faq/how-to-setup-mariadb-ssl-and-secure-connections-from-clients/

capture wireshark

capture wireshark

Posted in Boulot0 commentaire

Improve you chinese …

Pour occuper cette période un peu particulière de confinement COVID-19 et alimenter quelques menus TPs, je me lance dans la grande aventure de la tentative de compréhension d’InnoDB.

Si j’avais eu un peu de courage, je me serais remis à Ruby et j’aurais étudié les excellents travaux de Jeremy Cole https://blog.jcole.us/innodb/ mais vu que des chinois sympathiques semblent avoir porté son travail en java , let’s go !!

Jusqu’à la semaine dernière, utilisateur-amateur de MariaDB, je ne m’étais même jamais posé de questions sur les types de backend de mon SGBD. Je faisais juste le malin en allant lire vos tables à partir des fichiers MYD avec un pauvre éditeur hexadécimal.

J’ai donc téléchargé le dernier build du client innodb-java-reader et …

Bon, pour l’instant, on ne va pas se cacher, ça ne se passe pas très bien 🙂

 alibaba / innodb-java-reader

alibaba /
innodb-java-reader

[2020-03-28] Puis après quelques échanges par mail avec Xu, nous avons fini par découvrir un bug lié à ma config (bon c’est sûr quand tu bosse sous windows pasr ce que ta Debian est bridée sur Java 7 …) .

Read your data ...

Read your data …

Je rappelle que l’objectif reste de pouvoir aller lire les fichiers InnoDB sans passer par le moteur MariaDB afin de démontrer la pertinence du chiffrement.

Posted in Boulot0 commentaire

Data-at-Rest Encryption with MariaDB

Data-at-Rest Encryption Overview

 

Source  : https://mariadb.com/kb/en/file-key-management-encryption-plugin/

Encryption of tables and tablespaces was added in MariaDB 10.1.3.

Having tables encrypted makes it almost impossible for someone to access or steal a hard disk and get access to the original data. MariaDB got Data-at-Rest Encryption with MariaDB 10.1. This functionality is also known as « Transparent Data Encryption (TDE) ».

This assumes that encryption keys are stored on another system.

Using encryption has an overhead of roughly 3-5%.

MariaDB encryption is fully supported for the XtraDB and InnoDB storage engines. Encryption is also supported for the Aria storage engine, but only for tables created with ROW_FORMAT=PAGE (the default), and for the binary log (replication log).

MariaDB allows the user to configure flexibly what to encrypt. In XtraDB or InnoDB, one can choose to encrypt:

  • everything — all tablespaces (with all tables)
  • individual tables
  • everything, excluding individual tables

Additionally, one can choose to encrypt XtraDB/InnoDB log files (recommended).

MariaDB’s data-at-rest encryption requires the use of a key management and encryption plugin. These plugins are responsible both for the management of encryption keys and for the actual encryption and decryption of data.

MariaDB supports the use of multiple encryption keys. Each encryption key uses a 32-bit integer as a key identifier. If the specific plugin supports key rotation, then encryption keys can also be rotated, which creates a new version of the encryption key.

How MariaDB manages encryption keys depends on which encryption key management solution you choose. Currently, MariaDB has three options:

File Key Management Plugin

The File Key Management plugin that ships with MariaDB is a basic key management and encryption plugin that reads keys from a plain-text file. It can also serve as example and as a starting point when developing a key management plugin.

For more information, see File Key Management Plugin.

AWS Key Management Plugin

The AWS Key Management plugin is a key management and encryption plugin that uses the Amazon Web Services (AWS) Key Management Service (KMS). The AWS Key Management plugin depends on the AWS SDK for C++, which uses the Apache License, Version 2.0. This license is not compatible with MariaDB Server’s GPL 2.0 license, so we are not able to distribute packages that contain the AWS Key Management plugin. Therefore, the only way to currently obtain the plugin is to install it from source.

For more information, see AWS Key Management Plugin.

Eperi Key Management Plugin

The Eperi Key Management plugin is a key management and encryption plugin that uses the eperi Gateway for Databases. The eperi Gateway for Databases stores encryption keys on the key server outside of the database server itself, which provides an extra level of security. The eperi Gateway for Databases also supports performing all data encryption operations on the key server as well, but this is optional.

For more information, see Eperi Key Management Plugin.

 

File Key Management Encryption Plugin

 

The File Key Management plugin that ships with MariaDB is a key management and encryption plugin that reads encryption keys from a plain-text file.

The File Key Management plugin is the easiest key management and encryption plugin to set up for users who want to use data-at-rest encryption. Some of the plugin’s primary features are:

  • It reads encryption keys from a plain-text key file.
  • As an extra protection mechanism, the plain-text key file can be encrypted.
  • It supports multiple encryption keys.
  • It does not support key rotation.
  • It supports two different algorithms for encrypting data.

It can also serve as an example and as a starting point when developing a key management and encryption plugin with the encryption plugin API.

The File Key Management plugin is included in MariaDB packages as the file_key_management.so or file_key_management.dll shared library. The shared library is in the main server package, so no additional package installations are necessary.

Although the plugin’s shared library is distributed with MariaDB by default, the plugin is not actually installed by MariaDB by default. The plugin can be installed by providing the --plugin-load or the --plugin-load-add options. This can be specified as a command-line argument to mysqld or it can be specified in a relevant server option group in an option file. For example:

[mariadb]
...
plugin_load_add = file_key_management

 

The default MariaDB option file is called my.cnf on Unix-like operating systems and my.ini on Windows. Depending on how you’ve installed MariaDB, the default option file may be in a number of places, or it may not exist at all.

In order to encrypt your tables with encryption keys using the File Key Management plugin, you first need to create the file that contains the encryption keys. The file needs to contain two pieces of information for each encryption key. First, each encryption key needs to be identified with a 32-bit integer as the key identifier. Second, the encryption key itself needs to be provided in hex-encoded form. These two pieces of information need to be separated by a semicolon.

$ sudo openssl rand -hex 32 >> /etc/mysql/encryption/keyfile
$ sudo openssl rand -hex 32 >> /etc/mysql/encryption/keyfile
$ sudo openssl rand -hex 32 >> /etc/mysql/encryption/keyfile

 

The key file still needs to have a key identifier for each encryption key added to the beginning of each line. Key identifiers do not need to be contiguous. Open the new key file in your preferred text editor and add the key identifiers. For example, the key file would look something like the following after this step:

If the key file is unencrypted, then the File Key Management plugin only requires the file_key_management_filename system variable to be configured.

 

 

[mariadb]
...
loose_file_key_management_filename = /etc/mysql/encryption/keyfile

 

Note that the loose option prefix is specified. This option prefix is used in case the plugin hasn’t been installed yet.

 

The File Key Management plugin currently supports two encryption algorithms for encrypting data: AES_CBC and AES_CTR. Both of these algorithms use Advanced Encryption Standard (AES) in different modes. AES uses 128-bit blocks, and supports 128-bit, 192-bit, and 256-bit keys. The modes are:

  • The AES_CBC mode uses AES in the Cipher Block Chaining (CBC) mode.
  • The AES_CTR mode uses AES in two slightly different modes in different contexts. When encrypting tablespace pages (such as pages in InnoDB, XtraDB, and Aria tables), it uses AES in the Counter (CTR) mode. When encrypting temporary files (where the cipher text is allowed to be larger than the plain text), it uses AES in the authenticated Galois/Counter Mode (GCM).

The recommended algorithm is AES_CTR, but this algorithm is only available when MariaDB is built with recent versions of OpenSSL. If the server is built with wolfSSL or yaSSL, then this algorithm is not available. See TLS and Cryptography Libraries Used by MariaDB for more information about which libraries are used on which platforms.

SHOW WARNINGS;
+---------+------+---------------------------------------------------------------------+
| Level   | Code | Message                                                             |
+---------+------+---------------------------------------------------------------------+
| Warning |  140 | InnoDB: ENCRYPTION_KEY_ID 500 not available                         |
| Error   | 1005 | Can't create table `db1`.`tab3` (errno: 140 "Wrong create options") |
| Warning | 1030 | Got error 140 "Wrong create options" from storage engine InnoDB     |
+---------+------+---------------------------------------------------------------------+
3 rows in set (0.00 sec)

Posted in Boulot1 Commentaire

Publication du Magic Quadrant Gartner pour les solutions de SIEM (2019/2020)

Bon il a fallu être patient cette année. La livraison a habituellement lieu à l’automne.

Ca y est, il est sorti  …  merci à Rapid7 pour l’info !

SIEM 2020 vs 2018

 

 

 

 

Qu’en dire ?

Ca ne bouge pas trop chez les tenors. Faudra lire le rapport complet et renommer RSA bradé à moins de 3 G$ par DELL.

Me suis toujours pas habitué au fait que AlienVault is Now AT&T Cybersecurity (juillet 2018).

Gartner n’oublie pas de nous rappeler que :

The complexity and cost of buying and running SIEM products, as well as the emergence of other security analytics technologies, have driven interest in alternative approaches to collecting and analyzing event data to identify and respond to advanced attacks. The combination of Elasticsearch, Logstash and Kibana (aka the ELK Stack or Elastic Stack) is a leading example. There has also been an emergence of alternatives to broad-based SIEM solutions that are focused primarily on the log collection and security analytics elements. Vendors competing in this space include Elastic.io, Cybraics, Empow, Elysium, Jask (acquired by Sumo Logic), MistNet, PatternEx, Qomplx, Rank Software and Seceon.

Posted in BoulotCommentaires fermés sur Publication du Magic Quadrant Gartner pour les solutions de SIEM (2019/2020)

Protégé : Bouygues Construction

Cette publication est protégée par un mot de passe. Pour la voir, veuillez saisir votre mot de passe ci-dessous :

Posted in BoulotCommentaires fermés sur Protégé : Bouygues Construction

Conférence sur la réponse aux incidents et l’investigation numérique 2020

CORI&IN 2020

CORI&IN 2020

Mardi 28 janvier 2020, j’ai CoRI&IN à Lille. Dit comme ça, on pourrait croire à une vulgaire escale dans le grand Nord.

J’adore ce nom mystérieux et intweetable, encore plus improbable que son cousin breton C&ESAR (plus discret que ceux de la TF Wagram). CoRI&IN, c’est LA conférence (française) sur la réponse aux incidents et l’investigation numérique.

Au programme cette année, plein de belles choses. Nouveauté de l’année, juste avant l’âge de raison, la conf du Centre Expert contre la Cybercriminalité Français (CECyf) intègre le FIC et rallie donc le Grand Palais :

 » Dans le cadre du FIC 2020 – Forum International sur la Cybersécurité, nous vous proposons de nous retrouver le premier jour de cet événement de référence (mardi 28 janvier 2020), pour la sixième conférence de ce genre en France, dédiée aux techniques de la réponse aux incidents et de l’investigation numérique. Cette journée permettra aux enquêteurs spécialisés, experts judiciaires, chercheurs du monde académique ou industriel, juristes, spécialistes de la réponse aux incidents ou des CERTs de partager et échanger sur les techniques du moment. L’ambition de cette conférence est de rassembler cette communauté encore disparate autour de présentations techniques ou juridiques de qualité, sélectionnées par notre comité de programme. « 

Lire l’original ? clic !

Trêve de palabres, j’y courre … Bortzmeyer tweette déjà.

CORI&IN est au FIC

CORI&IN est au FIC (et Patrick est aux toilettes)

Programme

  • A partir de 10h – Accueil
  • 11h – Début des conférences, elles se tiendront en Français
  • 11h00-11h30 : L’investigateur, le Smartphone, et l’application WhatsApp, Guénaëlle De Julis (EXCELLIUM)

oui mais bof, trop de détails sur la version Androïd sur laquelle on n’est pas sur de grand chose. TP SQlite avec Pandas librairie Python. Comemnt s’appelle l’outil SOGETI (?) qui fait le taf ?

  • 11h30-12h00 : Gestion d’Incidents et investigations en environnement Cloud, Philippe Baumgart et Fahim Hasnaoui

suis largué sur les CSP, je vais rester « on premise ».

  • 12h00-12h30 : Fuite de données & Credential Stuffing, Sébastien Mériot – CSIRT Head (OVH) – @smeriot

j’ai adoré … more details to come

  • 12h30-13h00 : Injection et discrétion avec Pastebin, François Normand (LASTINFOSEC)

mince, y’a vraiment ça sur https://pastebin.com/

  • 13h00-14h00 : Déjeuner

tous ceux qui ont vécu CoRI&In 2018, vous dirons que c’était parfait ce midi

  • 14h00-14h30 : A year hunting in a bamboo forest, Aranone Zarkan et Sébastien Larinier

TMP AMBER

  • 14h30-15h00 : Investigations numériques avec le projet TSURUGI LINUX, Giovanni Rattaro (openMinded)

pourquoi tant de boulot pour une n-ième distro FORENSIC ?

  • 15h00-15h30 : Analyse memoire de routeur CISCO IOS-XR 32bits, Solal Jacob (ANSSI)

là, j’ai pris cher … pas tout suivi

  • 15h30-16h00 : Pause
  • 16h00-16h30 : Mais qui est vraiment responsable de ce préfixe d’adresses IP, Stéphane Bortzmeyer (AFNIC)

du grand Bortz ! je me sauve à l’issue … dommage de louper les 2 dernières confs. Vivement les slides

GG les mecs (même si c’est des filles)

  • 16h30-17h00 : DFIR-ORC, Jean Gautier
  • 17h00-17h30 : Réponse à incidents suite à l’exploitation d’une vulnérabilité sur un VPN Pulse Secure possiblement par APT5 : retour d’expérience, Mathieu Hartheiser et Maxence Duchet

 

Une fois sur place, direction la salle Jeanne de Flandres et accueil par le Colonel Freyssinet. Le confort est sommaire (prends ta pauvre chaise bas de gamme), la distribution électrique inexistante… je regrette déjà Polytech’ Lille.

Posted in BoulotCommentaires fermés sur Conférence sur la réponse aux incidents et l’investigation numérique 2020

Gestionnaires de mot de passe

Bien aimé cet article qui m’évitera de partir from scratch quand on me re-demandera mon avis sur le sujet.

Je le reprends donc ci-dessous intégralement en y intégrant mes commentaires afin que personne ne puisse penser qu’il puisse s’agir d’un abominable plagiat.

 

A couple of years ago, there was some debate over the usefulness of password managers. Some argue that password managers are a bad idea, because they create one vector of attack that can breach all of your online credentials. These concerns were hightened when OneLogin was subject to a major cyber attack on May 31st, 2017. From OneLogin:

“Our review has shown that a threat actor obtained access to a set of AWS keys and used them to access the AWS API from an intermediate host with another, smaller service provider in the US. Evidence shows the attack started on May 31, 2017 around 2 am PST. Through the AWS API, the actor created several instances in our infrastructure to do reconnaissance. OneLogin staff was alerted of unusual database activity around 9 am PST and within minutes shut down the affected instance as well as the AWS keys that were used to create it…

The threat actor was able to access database tables that contain information about users, apps, and various types of keys. While we encrypt certain sensitive data at rest, at this time we cannot rule out the possibility that the threat actor also obtained the ability to decrypt data. We are thus erring on the side of caution and recommending actions our customers should take, which we have already communicated to our customers.”

Troy Hunt of Have I Been Pwned fame argues that password managers are very necessary, you just need to choose a good one and practice good opsec (operational security) with your use of it. Keep in mind that he has an endorsement deal of some sort with 1Password, which is a password manager. But despite this possible conflict of interest, I think his advice is good:

“Your brain is a very bad password manager. It’s incapable of storing more than a couple of genuinely random strings of reasonable length (apologies if you’re a savant and I’ve unfairly characterised you in with the rest of our weak human brains). That leads to compromises. If you’re one of these people who says ‘I’ve got a formula that always gives me unique passwords that are strong,’ no you don’t, they probably aren’t and no they’re not. You’re making concessions on what we empirically know is best practice and you’re kidding yourself into thinking you aren’t. I’ve had this debate many times before and there’s dozens of comments raging backwards and forwards about this in my post on how the only secure password is the one you can’t remember.”

My friend John Opdenakker‍ also has good advice about password managers. He likes the password manager that’s built into Firefox. While you’re there, I recommend you check out the rest of his very informative blog. But without further ado, here’s some of what he has to say about password managers:

“The security of most browser’s built-in password managers is still inadequate. At the moment Firefox is the most secure. The built-in password managers of the discussed browsers and Google’s (cloud-based) password manager still can’t compete with the most third party password managers. Both when it comes to security and integration of necessary features.

If you want to use a built-in password manager Firefox is the best choice at the moment. If you want to use a cloud-based password manager I recommend you to do some research and choose a third-party password manager that is most suitable for you. If a password manager is nothing for you use a password book that you keep close to you.

Keep in mind that the goal is to create strong passwords and store them in a secure way. Which tool you use is irrelevant, as long as it supports you to reach that goal.”

And here’s my own general advice about password managers, in a nutshell:

  • Using a password manager is better than not using a password manager. So use one! We all have dozens or perhaps hundreds of credentials for various websites and online services these days. Writing them down in a book can be vulnerable if other people can have physical access to where you keep the book at work or at home. Plus that method encourages users to come up with their own passwords. User created passwords are almost always less secure than randomly generated passwords that a password manager can create. And if your list of passwords is digital, like a text file on your local hard drive or on the cloud as a note in Evernote or Google Keep, that’s cleartext that can be exposed in a cyber attack. If you encrypt a local file with your credentials, that’s still a hassle as you need to execute your text editor or word processor each time you need a password. And the method still encourages weaker user-generated passwords. Pretty much all password managers can generate a much more secure, random password for you.
  • Be careful with the opsec of the phone, tablet, and PC endpoints that you keep your password manager on. A password manager on your home or work PC should be in a user account with a password. (Damn it! Ha.) You don’t want your family members or coworkers to be able to access your password manager without your operating system user account behind a password. The same applies to mobile devices. You could lose sight of your phone or tablet, make sure your mobile endpoints with password managers are protected with a lockscreen. And have a “find my device” service set up in case you lose your phone or tablet– which is also often a means of two-factor authentication.
  • On that note, have two factor authentication set up on as many of your online accounts as possible!

Alright, now here’s a brief rundown of the different password managers you could use.

  • Google Chrome, Mozilla Firefox, Opera, Microsoft’s Edge, and Apple’s Safari all have built-in password managers in their most recent versions on PC and mobile devices. For convenience, you may want to use the built-in password manager in your favourite web browser. I don’t recommend Chrome these days due to Google’s tendency to profit from selling your data. Firefox’s, Opera’s, Edge’s, and Safari’s built-in password managers are all pretty good. I personally use Firefox’s password manager.
  • Third-party password managers, unlike the password managers built into web browsers, tend to not be freeware. But because they are maintained by entities that are separate from the web browser platforms, that separation may be good from a security perspective. Cyber attacks to Google, Mozilla, Apple, and Microsoft’s cloud servers may put their browser-stored credentials at risk while leaving the third-party password management platforms unscathed. And pretty much all third-party password managers have web browser plugins for most popular browsers on desktop and mobile. It also occurs to me that perhaps, by paying a fee rather than using freeware, they may have extra incentive to secure their credential storage. Here are some third-party password managers for you to consider:
  • 1Password has apps for macOS, iOS, Windows, Android, Linux, and Chrome OS, with 24/7 email support. Prices range from $2.99 to $7.99 per month, depending on your personal or business needs and they offer a 30 day free trial. Check it out here.
  • Bitwarden has apps for Windows, macOS, Linux, Android, and iOS, with web browser plugins for Chrome, Firefox, Opera, Microsoft Edge, Safari, Vivaldi, Brave, and Tor Browser. There’s a free version, plus subscription options from $1 to $5 per month depending on your personal or business needs. Check it out here.
  • Dashlane has apps for Windows, macOS, Linux, Android, and iOS. The free version can store up to 50 passwords, the paid version has Dark Web monitoring, a VPN, and unlimited password storage for $3.33 per month. Check it out here.

https://www.peerlyst.com/posts/so-you-need-a-password-manager-kimberly-crawley

Posted in Boulot, CyberDefenseCommentaires fermés sur Gestionnaires de mot de passe

my Tchap repo

Ars Technica

Ars Technica

Bug in French government’s WhatsApp replacement let anyone join Élysée chats

Researcher found bug in email validation that let him log in and join « rooms » in Tchap app.

Sean Gallagher – 4/22/2019, 11:55 PM

_____________________________________

fzn

fzn

France : le lancement de l’application Tchap entaché par un bug

Tchap est une application Android lancée par le gouvernement français le 17 avril dernier pour remplacer WhatsApp et Telegram chez ses employés. L’outil verse dans l’échange et la communication, en offrant des canaux de messagerie privés auxquels seules les personnes avec une adresse électronique gouvernementale peuvent accéder.

______________________________________

« Les retours des experts vont nous aider à améliorer Tchap »

À la tête de la direction interministérielle du numérique, Nadi Bou Hanna revient sur le lancement compliqué du « WhatsApp de l’État » et trace sa feuille de route.

Propos recueillis par Héloïse Pons et
Modifié le – Publié le | Le Point.fr
 
_______________________________________
Tchap

Tchap

 

Liens vers les sources :

(From Tchap with love)

______________________________________

La plupart des articles sur #Tchap disent n’importe quoi. Par exemple, silicon.fr/tchap-une-mess… confond le système d’exploitation Riot et le logiciel de messagerie instantanée Riot. #lesMédias
Bortz on Twitter

Bortz on Twitter

 

 

 

 

 

 

______________________________________

 

@fs0c131y

@fs0c131y

Elliot Alderson
 
@fs0c131y
 
1/ Et si on faisait un petit point sur #Tchap?
Parlons des faits, cela permettra à tout le monde de se faire une opinion. Le 23 Mars dernier la @_DINSIC publie sur le PlayStore Tchap, une application de messagerie « sécurisée » pour les employés du gouvernement français.
9:41 AM · 21 avr. 2019 · Twitter for iPhone
 
_______________________________________

Gros site opportuniste tout pété : tchap.fr.

 

Gros site opportuniste

Gros site opportuniste

 

A ne pas confondre avec le site officiel https://www.tchap.gouv.fr/ qui présente en particulier sa rubrique FAQ.

Tchap

Tchap

 
 
 
 
 
 
 
 
 
 
 
_______________________________________
New Vector
 
New Vector

New Vector

 
 
 
 
 
 
 
 
 
 
 
_______________________________________
Thales
 
Thales

Thales

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
_______________________________________
Matrix / Riot

Riot is a glossy Matrix client built on top of matrix-react-sdk with an emphasis on performance and usability.

You can use it at https://riot.im/app, read more at https://riot.im and get the source from github!

There is also a desktop version, which is available at riot.im. Taw has created RPM package builds for Fedora, CentOS, and Red Hat Enterprise Linux which are available via GitHub and Fedora COPR.

Josué Tille has contributed a Yunohost app.

Repository: https://github.com/vector-im/riot-web/

Matrix / Riot
 
 
 
 
 
 
 
 
 
 
_______________________________________
 

Posted in Boulot, ClicCommentaires fermés sur my Tchap repo

RESTful API for the dummies

An Application Program Interface aka API is code that allows two software programs to communicate with each another. The API spells out the proper way for a developer to write some code requesting services from an operating system or other applications. In a web context, APIs allow communication between two webapps (or a web app and a client that is not always a brose) without any browser.

A RESTful API, also referred to as a RESTful web service, is an Application Program Interface that uses HTTP requests to GET, PUT, POST and DELETE data.

A RESTful API  is based on REpresentational State Transfer (REST) technology, an architectural style and approach to communications often used in web services development.

REST technology is generally preferred to the more robust Simple Object Access Protocol (SOAP) technology because REST leverages less bandwidth, making it more suitable for internet usage.

The REST used by browsers can be thought of as the language of the internet. With cloud use on the rise, APIs are emerging to expose web services. REST is a logical choice for building APIs that allow users to connect and interact with cloud services. RESTful APIs are used by such sites as Amazon, Google, LinkedIn and Twitter.

 

 

A la base, j’aimais bien cet article pour une partie de son contenu mais pas pour le plan de construction et comme j’avais besoin d’expliquer pourquoi certaines API ne respectaient pas les concepts REST, j’ai eu besoin de ré-écrire cette introduction.

Posted in Boulot, Clic, Trop sérieuxCommentaires fermés sur RESTful API for the dummies

Agenda

avril 2020
L M M J V S D
 12345
6789101112
13141516171819
20212223242526
27282930