diff --git a/content/slides/1337/md/js.md b/content/slides/1337/md/js.md index f8eb7da6557ce28073eef8787755258f6caf7a0f..f160ed15e51e667c524cc83ad77f4f266f8bdc76 100644 --- a/content/slides/1337/md/js.md +++ b/content/slides/1337/md/js.md @@ -13,13 +13,16 @@ * asynchrone -## Javascript +## scope + +* `var variable` + * directement dans le script + * accessible partout y compris dans les fonctions + * dans les fonctions + * visibilité restreinte à la fonction -* var contexte - * var dans le sciprt accessible partout y compris dans les fonctionns - * var dans les fonctions scope restreint à la fonction - * sans le var on déclare forcément global - * y compris dans une variable +* sans `var` on déclare forcément variable globalement + * y compris dans une fonction Note: - on peut avoir du js dans un pdf (adobe reader a donc un interpréteur js) @@ -29,10 +32,14 @@ Note: ## Les événements +* sur chaque élément + + * chaque balise + * page + * déclenchement de traitements - * interaction utilisateur -* événements de là page + * interaction utilisateur ## Les événements diff --git a/content/slides/cri/images/80columns.jpg b/content/slides/cri/images/80columns.jpg new file mode 100644 index 0000000000000000000000000000000000000000..df521af0d9da50f252268797507d7305485a6558 Binary files /dev/null and b/content/slides/cri/images/80columns.jpg differ diff --git a/content/slides/cri/images/vault-auth.png b/content/slides/cri/images/vault-auth.png new file mode 100644 index 0000000000000000000000000000000000000000..56c82d921de697670d3ccf5cd964c00e6c9a52ae Binary files /dev/null and b/content/slides/cri/images/vault-auth.png differ diff --git a/content/slides/cri/images/vault-secrets-engines.png b/content/slides/cri/images/vault-secrets-engines.png new file mode 100644 index 0000000000000000000000000000000000000000..e4f8fe48b2873065eb7eaa961ec417ddfc093f4a Binary files /dev/null and b/content/slides/cri/images/vault-secrets-engines.png differ diff --git a/content/slides/cri/manifest.html b/content/slides/cri/manifest.html new file mode 100644 index 0000000000000000000000000000000000000000..d4e21cf804954dcdabf78eca4408de03471e5f73 --- /dev/null +++ b/content/slides/cri/manifest.html @@ -0,0 +1,59 @@ +<!doctype html> +<html> + <head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> + + <title>manifest</title> + + <link rel="stylesheet" href="../../node_modules/reveal.js/css/reveal.css"> + <link rel="stylesheet" href="../../node_modules/reveal.js/css/theme/white.css"> + + <!-- Theme used for syntax highlighting of code --> + <link rel="stylesheet" href="../../node_modules/reveal.js/lib/css/zenburn.css"> + <link rel="stylesheet" href="../../node_modules/font-awesome/css/font-awesome.min.css"> + <link rel="stylesheet" href="../main.css"> + + <!-- Printing and PDF exports --> + <script> + var link = document.createElement( 'link' ); + link.rel = 'stylesheet'; + link.type = 'text/css'; + link.href = window.location.search.match( /print-pdf/gi ) ? '../../node_modules/reveal.js/css/print/pdf.css' : '../../node_modules/reveal.js/css/print/paper.css'; + document.getElementsByTagName( 'head' )[0].appendChild( link ); + </script> + </head> + <body> + <div class="reveal"> + <div class="slides"> + <section data-markdown="md/manifest.md" + data-separator="^\n\n\n" + data-separator-vertical="^\n\n" + data-separator-notes="^Note:" + data-charset="utf-8"> + </section> + </div> + </div> + + <script src="../../node_modules/reveal.js/lib/js/head.min.js"></script> + <script src="../../node_modules/reveal.js/js/reveal.js"></script> + + <script> + // More info about config & dependencies: + // - https://github.com/hakimel/reveal.js#configuration + // - https://github.com/hakimel/reveal.js#dependencies + Reveal.initialize({ + controls: true, + progress: true, + history: true, + center: false, + dependencies: [ + { src: '../../node_modules/reveal.js/plugin/markdown/marked.js' }, + { src: '../../node_modules/reveal.js/plugin/markdown/markdown.js' }, + { src: '../../node_modules/reveal.js/plugin/notes/notes.js', async: true }, + { src: '../../node_modules/reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } } + ] + }); + </script> + </body> +</html> diff --git a/content/slides/cri/md/manifest.md b/content/slides/cri/md/manifest.md new file mode 100644 index 0000000000000000000000000000000000000000..49d879785dfb24f90346fcf2dfed676fee02deba --- /dev/null +++ b/content/slides/cri/md/manifest.md @@ -0,0 +1,6 @@ +# manifeste + + +## 80 colonnes par lignes max + + diff --git a/content/slides/cri/md/vault.md b/content/slides/cri/md/vault.md index 92d7c80411d17374156800d4613ad3260c42c23d..1766f27e602e832e95c067d414a3d84e02e673b2 100644 --- a/content/slides/cri/md/vault.md +++ b/content/slides/cri/md/vault.md @@ -20,7 +20,7 @@ ## Configuration -* /etc/vault/vault.hcl +`/etc/vault/vault.hcl` ``` backend "file" { @@ -35,28 +35,32 @@ listener "tcp" { ``` -## [<i class="fa fa-book" aria-hidden="true"></i> Secret engine](https://www.vaultproject.io/docs/secrets/) +## [<i class="fa fa-book" aria-hidden="true"></i> Secrets engines](https://www.vaultproject.io/docs/secrets/) + + +<!-- * [<i class="fa fa-book" aria-hidden="true"></i> Secrets Engines - getting started](https://learn.hashicorp.com/vault/getting-started/dynamic-secrets) * [<i class="fa fa-book" aria-hidden="true"></i> AWS Secrets Engine](https://www.vaultproject.io/docs/secrets/aws/index.html) * [<i class="fa fa-book" aria-hidden="true"></i> Active Directory Secrets Engine](https://www.vaultproject.io/docs/secrets/aws/index.html) * [<i class="fa fa-book" aria-hidden="true"></i> SSH Secrets Engine](https://www.vaultproject.io/docs/secrets/ssh/index.html) * [<i class="fa fa-book" aria-hidden="true"></i> KV Secrets Engine](https://www.vaultproject.io/docs/secrets/kv/index.html) +--> ## KV ```shell -$ vault kv get secret/test +$ vault kv get cri/test ====== Data ====== Key Value --- ----- password1 secret$ -$ vault kv put secret/test password2=secret! -Success! Data written to: secret/test +$ vault kv put cri/test password2=secret! +Success! Data written to: cri/test -$ vault kv get secret/test +$ vault kv get cri/test ====== Data ====== Key Value --- ----- @@ -67,19 +71,18 @@ password2 secret! ## KV2 ```shell -vault login token=<root-token> vault secrets enable -path=cri kv -vault kv enable-versioning secret/ # kv2 +vault kv enable-versioning cri/ # kv2 ``` * les secrets sont versionés * il est possible d'utiliser PATCH et pas seulement PUT ```shell -$ vault kv patch secret/test password1=secret$ -Success! Data written to: secret/test +$ vault kv patch cri/test password1=secret$ +Success! Data written to: cri/test -$ vault kv get secret/test +$ vault kv get cri/test ====== Data ====== Key Value --- ----- @@ -90,10 +93,23 @@ password2 secret! ## Authentification + + + +## Authentification + +```shell +vault login token=<root-token> +``` + * par token * root * d'application +```shell +$ vault login -method=ldap username=vimazeno +``` + * par ldap * en réalité génère un token dans ~/.vault-token contenant @@ -119,7 +135,7 @@ $ vault write auth/ldap/config \ ## Policy -/etc/vault/cri.hcl +/etc/vault/users/cri.hcl ``` # Write and manage secrets in key-value secret engine @@ -164,17 +180,16 @@ ou ## Workflow ```shell -$ vault login -method=ldap username=vimazeno $ vault secrets list -$ vault list secret/ -$ vault kv get secret/tokens -$ vault kv get secret/tokens # à chaque put on écrase les entrées qu'on ne réécrit pas -$ vault kv get secret/tokens -format=json -$ vault kv get secret/tokens -format=json | jq .data -$ vault kv get secret/tokens -format=json | jq .data.password -$ vault kv put secret/tokens password2=$(date | sha256sum | cut -c -50) -$ vault kv patch secret/tokens password1=$(date | sha256sum | cut -c -50) -$ vault delete secret/tokens +$ vault kv list cri/ +$ vault kv get cri/services/vault/tokens +$ vault kv get cri/services/vault/tokens # à chaque put on écrase les entrées qu'on ne réécrit pas +$ vault kv get -format=json cri/services/vault/tokens +$ vault kv get -format=json cri/services/vault/tokens | jq .data +$ vault kv get -format=json cri/services/vault/tokens | jq .data.data.root +$ vault kv put cri/test password2=$(date | sha256sum | cut -c -50) +$ vault kv patch cri/test password1=$(date | sha256sum | cut -c -50) +$ vault delete cri/test ``` @@ -189,7 +204,7 @@ path "secret/data/cri/apps/my" { ``` ```shell -$ vault policy write vault/apps/my.hcl +$ vault policy write vault/hcl/apps/my.hcl $ vault token create -policy=my ``` @@ -207,7 +222,6 @@ authentification ldap ## bin/setup -<small> ```bash command -v "vault" >/dev/null 2>&1 || { echo >&2 "I require vault to run see stack" @@ -228,12 +242,11 @@ else vault login token=${VAULT_TOKEN} > /dev/null fi ``` -</small> +<!-- .element style="width: 100%;" --> ## bin/configure -<small> ```bash # lecture des clés vault avec python: la sortie est une liste python UTF8 (u'value') KV=$(vault read cri/my -format=json | python -c "import sys, json; print json.load(sys.stdin)['data'].keys()") @@ -251,4 +264,4 @@ do sed -i "s|$i|$(vault read cri/my -format=json | jq -r .data.$i | sed -r "s/\n//g")|g" config.py 2>/dev/null done ``` -</small> +<!-- .element style="width: 100%;" --> diff --git a/content/slides/privacy/md/TLSvsPGP.md b/content/slides/privacy/md/TLSvsPGP.md index 8e4ecaa149bc932854f5616360ac6039923724a8..3e84195d022cad309ff39f40683c9419f5918411 100644 --- a/content/slides/privacy/md/TLSvsPGP.md +++ b/content/slides/privacy/md/TLSvsPGP.md @@ -1,20 +1,19 @@ ## X.509 * Certificat créé par la CA * 1 seule signature : celle de la CA -* Chiffre le tuyau (TLS/SSL) * Confiance centralisée -* Confiance distribuée -* Forêt d’arbres de confiance + * Forêt d’arbres de confiance ## PGP * Certificat créé par l’utilisateur * Plusieurs signatures -* Chiffre les messages -* Graph orienté de confiance +* Confiance distribuée + * Graph orienté de confiance ## X.509 centralise la confiance sur les CA +vs ## PGP distribue la confiance entre utilisateurs diff --git a/content/slides/privacy/md/pgp.md b/content/slides/privacy/md/pgp.md index 8c95ad6c2dcfb298743b91777c89f537e3eedfc3..8584fc7756b7767b57ae57909cbf0877a847e5de 100644 --- a/content/slides/privacy/md/pgp.md +++ b/content/slides/privacy/md/pgp.md @@ -10,7 +10,7 @@ * 1991 * munition / cryptowar * PGP abandonné -* GPG GnuPG sous GPL devient est le standard +* GPG GnuPG sous GPL est devenu le standard # Gérer son envrionnement GPG diff --git a/content/slides/privacy/md/tls.md b/content/slides/privacy/md/tls.md index 8081ebd6b1aeb4d99264e9ba47bd5d2268b1a695..baf60e45d8be25de9e7f3ef5166d041ad3d906e7 100644 --- a/content/slides/privacy/md/tls.md +++ b/content/slides/privacy/md/tls.md @@ -322,7 +322,7 @@ note: Révocation de certificats -* Contient une liste de certificats valides à révoquer +* liste de certificats liste des identifiants des certificats qui ont été révoqués ou invalidés * utile en cas de compromission / décommissionnement * informer la ***CA*** * la ***CA*** ajoute le certificat à sa liste de certificats révoqués @@ -558,7 +558,7 @@ Le serveur * Devenu obligatoire le 8 septembre 2017 -* Le 9 septembre 2017, Comodo s’est fait pincer pour ne pas le respecter : +* Le 9 septembre 2017, Comodo s’est fait pincé pour ne pas le respecter : [Comodo Caught Breaking New CAA Standard One Day After It Went Into Effect](https://www.bleepingcomputer.com/news/security/comodo-caught-breaking-new-caa-standard-one-day-after-it-went-into-effect/) Note: