Taille: 2510
Commentaire:
|
Taille: 2753
Commentaire:
|
Texte supprimé. | Texte ajouté. |
Ligne 13: | Ligne 13: |
Installer fcgiwrap, php5, php5-fpm, nginx, et mettre ce genre de config (dans {{{/etc/nginx/sites-available/zerobin}}}) : | Mettre les groupe {{{php}}} et {{{nginx}}} sur bcfg2 à la machine sur laquel vous souhaitez déployer !ZeroBin puis mettre ce genre de config (dans {{{/etc/nginx/sites-available/zerobin}}}) : |
Ligne 19: | Ligne 19: |
server_name zero.crans.org; | server_name zero.crans.org pastebin.crans.org; access_log /var/log/nginx/zerobin.log combined; error_log /var/log/nginx/zerobin.log; return 301 https://zero.crans.org$request_uri; } server { listen 443; listen [::]:443; server_name zero.crans.org pastebin.crans.org; ssl on; ssl_certificate /etc/ssl/certs/nginx/zero_server.pem; ssl_certificate_key /etc/ssl/private/nginx/zero_privatekey.pem; if ($host != "zero.crans.org") { return 301 https://zero.crans.org$request_uri; } |
Ligne 22: | Ligne 41: |
location /robots.txt { alias /var/www/robots.txt; } | |
Ligne 27: | Ligne 46: |
location ~ .php$ { include /etc/nginx/fastcgi_params; try_files $uri =404; fastcgi_index index.php; fastcgi_split_path_info ^(.+.php)(/.+)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass unix:/var/run/php5-fpm.sock; } |
include "snippets/php.conf"; |
Ligne 38: | Ligne 50: |
Ligne 43: | Ligne 56: |
TODO: à mettre dans bcfg2, notamment php-fpm, qui possède au crans un mécanisme de monitoring (heartbeat etc). |
Où ?
Quelle machine ?
kenobi.crans.org (par son alias zero)
Config ?
Cloner la bête dans /opt
Mettre les groupe php et nginx sur bcfg2 à la machine sur laquel vous souhaitez déployer ZeroBin puis mettre ce genre de config (dans /etc/nginx/sites-available/zerobin) :
server { listen 80; listen [::]:80; server_name zero.crans.org pastebin.crans.org; access_log /var/log/nginx/zerobin.log combined; error_log /var/log/nginx/zerobin.log; return 301 https://zero.crans.org$request_uri; } server { listen 443; listen [::]:443; server_name zero.crans.org pastebin.crans.org; ssl on; ssl_certificate /etc/ssl/certs/nginx/zero_server.pem; ssl_certificate_key /etc/ssl/private/nginx/zero_privatekey.pem; if ($host != "zero.crans.org") { return 301 https://zero.crans.org$request_uri; } root /opt/ZeroBin; location /robots.txt { alias /var/www/robots.txt; } location /{ index index.php index.html; allow all; } include "snippets/php.conf"; access_log /var/log/nginx/zerobin.log combined; error_log /var/log/nginx/zerobin.log; }
Penser à faire le lien symbolique vers ce fichier dans /etc/nginx/sites-enabled, et à reloader nginx.
C'est à peu près tout.
HTTPS ?
Le contenu est transféré chiffré au serveur, qui est donc totalement agnostique de celui-ci. Le HTTPS sert donc seulement pour authentifier le serveur et être sûr que le javascript (qui chiffre le texte coté client avant de le renvoyer au server) n'est pas modifié en route par un attaquant avant d'arriver sur le client.
[2014-05-26 14:02:04] <olasd> 14:00:12 PEB | euh, quand tu valides le formulaire, c'est en clair [2014-05-26 14:02:06] <olasd> non [2014-05-26 14:02:37] <b2moo> quel formulaire ? [2014-05-26 14:02:45] <olasd> le formulaire de zerobin [2014-05-26 14:03:00] <olasd> je viens de poster "foo bar" [2014-05-26 14:03:02] <b2moo> celui pour soumettre un texte ? O_o [2014-05-26 14:03:07] <olasd> et dans le POST j'ai "{"iv":"06bKD07gz3hQbYjNUKddDw==","v":1,"iter":1000,"ks":128,"ts":64,"mode":"ccm","adata":"","cipher":"aes","salt":"bPHuRZSd6DQ=","ct":"lsoNLyAEprb65Tv0kXEhDEQJglA="}" [2014-05-26 14:03:16] <olasd> b2moo: ben oui [2014-05-26 14:03:27] <olasd> le but c'est que le serveur n'ait jamais connaissance du texte en clair [2014-05-26 14:03:36] <b2moo> hmm [2014-05-26 14:03:49] <b2moo> ah ok, je savais pas que ça faisait des trucs kikoo du genre [2014-05-26 14:03:57] <b2moo> marrant [2014-05-26 14:04:04] <olasd> c'est le seul intérêt de zerobin hein...