From 22f04b9fac14adc3d3fc98273ba126c3a51792c3 Mon Sep 17 00:00:00 2001 From: Julien Moutinho Date: Sat, 20 Apr 2013 02:57:29 +0200 Subject: [PATCH] Ajout : vm_remote : rule_gpg . --- var/pub/openpgp/gpg.conf | 43 ++++++ var/pub/openpgp/julm.key | 245 --------------------------------- var/pub/openpgp/lchevalier.key | 109 --------------- var/pub/openpgp/pubring.gpg | Bin 0 -> 18689 bytes var/pub/openpgp/pubring.gpg~ | Bin 0 -> 18689 bytes var/pub/openpgp/random_seed | 1 + var/pub/openpgp/secring.gpg | 1 + var/pub/openpgp/trustdb.gpg | Bin 0 -> 1320 bytes vm_hosted | 66 +++++++-- vm_remote | 64 ++++++++- 10 files changed, 160 insertions(+), 369 deletions(-) create mode 100644 var/pub/openpgp/gpg.conf delete mode 100644 var/pub/openpgp/julm.key delete mode 100644 var/pub/openpgp/lchevalier.key create mode 100644 var/pub/openpgp/pubring.gpg create mode 100644 var/pub/openpgp/pubring.gpg~ create mode 120000 var/pub/openpgp/random_seed create mode 120000 var/pub/openpgp/secring.gpg create mode 100644 var/pub/openpgp/trustdb.gpg diff --git a/var/pub/openpgp/gpg.conf b/var/pub/openpgp/gpg.conf new file mode 100644 index 0000000..d4f89c4 --- /dev/null +++ b/var/pub/openpgp/gpg.conf @@ -0,0 +1,43 @@ +# vim: ft=gpg + +ask-cert-expire +ask-cert-level +#auto-key-locate cert pka keyserver +bzip2-compress-level 8 +cert-digest-algo SHA512 +#cert-policy-url +completes-needed 1 +compress-level 8 +default-cert-expire 1y +default-cert-level 0 +default-preference-list BZIP2 ZLIB ZIP NONE SHA512 SHA256 SHA1 TWOFISH AES256 +default-sig-expire 0 +digest-algo SHA512 +fixed-list-mode +force-mdc +keyserver-options no-auto-key-retrieve no-honor-keyserver-url no-honor-pka-record verbose verbose +list-options show-keyserver-urls show-notations show-uid-validity show-keyring +marginals-needed 5 +max-cert-depth 1 +min-cert-level 1 +no-default-keyring +no-greeting +no-options +#no-random-seed-file +no-use-embedded-filename +passphrase-repeat 1 +personal-cipher-preferences TWOFISH AES256 +personal-compress-preferences BZIP2 ZLIB ZIP NONE +personal-digest-preferences SHA512 SHA256 SHA1 +preserve-permissions +require-cross-certification +require-secmem +s2k-cipher-algo CAST5 +s2k-count 65536 +s2k-digest-algo SHA512 +s2k-mode 3 +#sig-keyserver-url +#sig-policy-url +trust-model pgp +use-agent +verify-options show-keyserver-urls show-notations show-uid-validity show-policy-urls no-pka-lookups no-pka-trust-increase diff --git a/var/pub/openpgp/julm.key b/var/pub/openpgp/julm.key deleted file mode 100644 index 3de477b..0000000 --- a/var/pub/openpgp/julm.key +++ /dev/null @@ -1,245 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v1.4.12 (GNU/Linux) - -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 -OzRIGbQeSnVsaWVuIE1vdXRpbmhvIDxqdWxtQGxpcDYuZnI+iQKRBBMBCgB7AhsD -Ah4BAheAAwsKCQYVCgkICwIFFgMCAQAwFIAAAAAAFQAScGthLWFkZHJlc3NAZ251 -cGcub3JnanVsbUBhdXRvZ2VyZWUubmV0IxhodHRwOi8vYXV0b2dlcmVlLm5ldC9+ -anVsbS9wdWIuZ3BnBQJOV2IlBQkF6CxRAAoJENFa9/Rn6CmbXRAP/RXMI1LzU8tR -G5UVm7FYKx0BBEgLg50JBRJ0HbqyYqp5wy5aqIyQyYkq2Dc0Oxqmxppfje7UXr9m -cP7euhiIdBlxmvJYFakCi4ox+wIE1pygE/SeN5Ob21Gw4r/7ilqjuzgLYwYpqxlJ -o6Q67qAGitIWbUMfY6wMg8ejV9QgZkBxJ8X79E+zIPHecVHSPgTgE/qfScCD2Sq8 -CYClfFiesT5iGLGvk4fhY/lC9aVuk+KHVwywMa8qraisR5iH8zQRKyUzmKJZnldE -whaQaU6yKPUCtzr4T9NKNoOt5jY8zoqbeODWWs5e6Al87/dcl2Tavlz/iGwoOfwg -s8PZz2eYaK3rryT0GU/6Bv1BfpVG3T6miRvSYEsFY/OMMm1WwW5PiQ7Vx/yMzaXe -3087it3X+LEtfLl+4DTdEaFl39xl0fC3incVgUQ24EEM1mQm+Ng2srZRlz0nb2/2 -8Kl8wvEGdWXj3CvvUD7DBrDk+StQlCrygvdr07flpIA8hQAj/vp6LcNW8BYXBm2i -8zwkfCE/O3FTfEE/fIaea6/SMIR7JaDkfIBMGVU7cnTq03Ij093F4yrN2nFbI0iu -Wyksk1uUNgy83Het6WPWrWSa1z0NxGdSiR3CsbWZX2w/yz2rDQ6RXh+hGHH0Jjgc -ImfjWvL33N+OZcU2x0c4w/5SIl/xXfvjtCBKdWxpZW4gTW91dGluaG8gPGp1bG1A -cG9vbHAub3JnPokCkQQTAQoAewIbAwIeAQIXgAMLCgkGFQoJCAsCBRYDAgEAMBSA -AAAAABUAEnBrYS1hZGRyZXNzQGdudXBnLm9yZ2p1bG1AYXV0b2dlcmVlLm5ldCMY -aHR0cDovL2F1dG9nZXJlZS5uZXQvfmp1bG0vcHViLmdwZwUCTldiJgUJBegsUQAK -CRDRWvf0Z+gpm41aEACAJ2a7Dfk8FOabL50ntxBkd7F6Rk5kuYU2JwtUWlvZ0e9w -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 -MPW60kuSKRmx07BXUXV44LRO1th2fY+krMg9IzqAlLlZXqa/fsv+VgVWxKWVBKLE -zIxlpBgW8rQuSnVsaWVuIE1vdXRpbmhvIDxqdWxtQHNhdmluZXMuYWxwZXMuZnIu -ZXUub3JnPokCmwQTAQoAhQIbAwIeAQIXgDoUgAAAAAAVABxwa2EtYWRkcmVzc0Bn -bnVwZy5vcmdqdWxtQHNhdmluZXMuYWxwZXMuZnIuZXUub3JnAwsKCQYVCgkICwIF -FgMCAQAjGGh0dHA6Ly9hdXRvZ2VyZWUubmV0L35qdWxtL3B1Yi5ncGcFAk5XYiUF -CQXoLFEACgkQ0Vr39GfoKZubAxAAtg6UK6qULT2mUxbPfdSzzC7MZtf4JqR80FOm -6/5IX+syZNltBw0K7+L7lr/h31LEtNyj5XkXyZZzZvuit/YBNBrLLtO7Seknl/fq -UGswrH/+cmvO7+GXtc2HwRY+RU9HJu9r/m2mjjeucUIzr3ngEpDDSLgEjJji8/6A -jYJ6/eEkvsn9l8Sy9OHVuDcI1p9eUBe55M1cM6uAWPL9XMHNzVclL9jajHMQwcLg -7CxdcIU5NGVi0/yET2w4c877sRCezkzuJw3HFRdXvxPjvVcQJZrvtLGpy1KDaxdY -4AbseGO8nwSj0Yg8mKhk9cD5bRg5PAW+0cDiZ2eH9BLzc2YLVB2lXwnt2WePVzud -9zPwxnGsaV56lI3cDfMYuJZOR3wrc9WKfJb4hFNgxu/6bnWJIfP+wSxWBaPGmOKh -hmd7ZZvDxBm51SYtRQwsbyq5wXN99E8n59AkLwng1BtF8kMh4qxAldpobveQzreC -izGqlkzyAU2Ou9Mlb1aS5N6neSwcgTznMQEVQyfcc8BQrneVAsVnLZwhyxXVCV7b -VaSVbARWXfoHWnPtWkc6XQpOCVIYx5lHMMkFDjmvK5YHx9PqGBMm6Y6gis9JHbY2 -g+UrLVpBn1maW7HesqfjjHUub1jVsTX03JjyRFuiyOhX+iqftaIHwyYTTmtA0MmJ -MQMK7+S0L0p1bGllbiBNb3V0aW5obyA8anVsbUBpbnRlcm5ldC5hbHBlcy5mci5l -dS5vcmc+iQJIBDABCgAyBQJQTNMCKx0gaW50ZXJuZXQuYWxwZXMuZnIuZXUub3Jn -IC0+IGF1dG9nZXJlZS5uZXQACgkQ0Vr39GfoKZt9zA//blGui+A6+4bx3WixRMi/ -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 -+JOXylIEam3Nybo/mSRCHxYjz499KHM= -=RsTM ------END PGP PUBLIC KEY BLOCK----- diff --git a/var/pub/openpgp/lchevalier.key b/var/pub/openpgp/lchevalier.key deleted file mode 100644 index d4ed581..0000000 --- a/var/pub/openpgp/lchevalier.key +++ /dev/null @@ -1,109 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v1.4.12 (GNU/Linux) - -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 -m3ke -=Cmeq ------END PGP PUBLIC KEY BLOCK----- diff --git a/var/pub/openpgp/pubring.gpg b/var/pub/openpgp/pubring.gpg new file mode 100644 index 0000000000000000000000000000000000000000..1183b3aeffead5be401e72cd4bc964208140a494 GIT binary patch literal 18689 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 op?!{MO_w^XaPK^r2^*NeTO6_rY>_N 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 literal 0 HcmV?d00001 diff --git a/vm_hosted b/vm_hosted index 4ae7223..4cf4b9d 100755 --- a/vm_hosted +++ b/vm_hosted @@ -305,6 +305,39 @@ rule_boot_configure () { # et davantage sécurisant. EOF } +rule_duplicity_configure () { + rule apt_get_install duplicity + home="/home/backup" + rule adduser backup \ + --disabled-password \ + --group \ + --home "$home" \ + --shell /bin/bash \ + --system + sudo usermod --home "$home" backup + sudo install -d -m 750 -o backup -g backup \ + "$home" \ + "$home"/etc \ + "$home"/etc/gpg \ + "$home"/etc/ssh + sudo install -d -m 770 -o backup -g backup \ + "$home"/mysql \ + "$home"/postgres + getent group sudo backup | + while IFS=: read -r group x x users + do while test -n "$users" && IFS=, read -r user users <<-EOF + $users + EOF + do eval local home\; home="~$user" + sudo cat "$home"/etc/ssh/authorized_keys + done + done | + sudo install -m 640 -o backup -g backup /dev/stdin \ + "$home"/etc/ssh/authorized_keys + sudo ln -fns etc/gpg "$home"/.gnupg + #sudo adduser backup mysql-data + #sudo adduser backup postgres-data + } rule_etckeeper_configure () { sudo install -m 644 -o root -g root /dev/stdin /etc/etckeeper/etckeeper.conf <<-EOF VCS=git @@ -726,10 +759,12 @@ rule_user_add () { # SYNTAX: $user sudo install -m 640 -o "$user" -g "$user" \ "$tool"/var/pub/ssh/"$user".key \ "$home"/etc/ssh/authorized_keys - local key; local -; set +f - for key in "$tool"/var/pub/openpgp/*.key - do sudo -u "$user" gpg --import - <"$key" - done + gpg \ + --homedir "$tool"/var/pub/openpgp/ \ + --no-default-keyring \ + --secret-keyring /dev/null \ + --export | + sudo -u "$user" gpg --import - } rule_user_configure () { rule apt_get_install bash-completion @@ -799,10 +834,12 @@ rule_user_admin_add () { # SYNTAX: $user sudo install -m 640 -o root -g root \ "$tool"/var/pub/ssh/"$user".key \ "$home"/etc/ssh/authorized_keys - local key; local -; set +f - for key in "$tool"/var/pub/openpgp/*.key - do sudo -u "$user" gpg --import - <"$key" - done + gpg \ + --homedir "$tool"/var/pub/openpgp/ \ + --no-default-keyring \ + --secret-keyring /dev/null \ + --export | + sudo -u "$user" gpg --import - rule user_admin_configure } rule_user_admin_configure () { @@ -825,11 +862,14 @@ rule_user_root_configure () { sudo cat "$home"/etc/ssh/authorized_keys done done | - sudo install -m 640 -o root -g root /dev/stdin /root/etc/ssh/authorized_keys - local key; local -; set +f - for key in "$tool"/var/pub/openpgp/*.key - do sudo gpg --import "$key" - done + sudo install -m 640 -o root -g root /dev/stdin \ + /root/etc/ssh/authorized_keys + gpg \ + --homedir "$tool"/var/pub/openpgp/ \ + --no-default-keyring \ + --secret-keyring /dev/null \ + --export | + sudo gpg --import - } rule__www_configure () { rule adduser www \ diff --git a/vm_remote b/vm_remote index f735ba9..64e5353 100755 --- a/vm_remote +++ b/vm_remote @@ -3,6 +3,7 @@ set -e -f ${DRY_RUN:+-n} -u tool=$(readlink -e "${0%/*}") . "$tool"/lib/rule.sh . "$tool"/etc/vm.sh +TRACE=1 rule_help () { # SYNTAX: [--hidden] local hidden; [ ${1:+set} ] || hidden=set @@ -135,10 +136,69 @@ rule__runit_sv_configure () { # SYNTAX: $sv $configure_options . "$tool"/etc/sv/"$sv"/remote.sh || return 1 ) } + + +rule_duplicity_configure () { + subkey_caps="e s" \ + rule gpg_gen_key "backup+$vm_hostname@$vm_domainname" <<-EOF + Name-Real: $vm_fqdn + Name-Email: backup+$vm_hostname@$vm_domainname + Name-Comment: (duplicity) + Expire-Date: 0 + EOF + } +rule_duplicity_key_send () { + gpg --export-options export-reset-subkey-passwd \ + --export-secret-subkeys "backup+$vm_hostname@$vm_domainname" | + rule ssh gpg --import - + } +rule_gpg () { # SYNTAX: $gpg_options + LANG=C gpg --no-permission-warning --homedir "$tool"/var/pub/openpgp "$@" + } +rule_gpg_gen_key () { # SYNTAX: $uid ENV: $gpg_options + local uid="$1" + install -d -m 700 \ + var/pub/openpgp + install -d -m 700 \ + var/sec \ + var/sec/openpgp + if test ! -e "$tool"/var/sec/openpgp/"$uid".pass.gpg + then gpg --encrypt $gpg_options -o "$tool"/var/sec/openpgp/"$uid".pass.gpg <<-EOF + $(stdbuf --output 0 tr -d -c '[:alnum:][:punct:]' <"${random:-/dev/urandom}" | head -c 42) + EOF + fi + if ! rule gpg --list-keys -- "$uid" >/dev/null + then + rule gpg --batch --gen-key + # DOC: http://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=blob_plain;f=doc/DETAILS;hb=refs/heads/STABLE-BRANCH-1-4 + Key-Type: RSA + Key-Length: 4096 + Key-Usage: sign + Passphrase:$(gpg --decrypt ${gpg_options-} "$tool"/var/sec/openpgp/"$uid".pass.gpg) + Preferences: TWOFISH AES256 CAST5 BLOWFISH CAMELLIA256 3DES SHA512 SHA384 SHA256 SHA224 SHA1 BZIP2 ZLIB ZIP NONE MDC NO-KS-MODIFY + $(cat -) + %commit + EOF + fi + caps=$( + rule gpg --with-colons --fixed-list-mode --with-fingerprint --list-secret-keys \ + -- "$uid" | + sed -e 's/^ssb\(:[^:]*\)\{11\}.*/\1/;t;d' + ) + for cap in ${subkey_caps:-} + do + test ! "$caps" = "$(printf %s "$caps" | sed -e 's/'"$cap"'//g')" || + printf '%s\n' 8 s e $cap q 4096 ${expire:-0} save | + rule gpg --keyid-format "long" --with-colons --fixed-list-mode --expert \ + --passphrase-fd 3 --command-fd 0 --edit-key "$uid" addkey 3<<-EOF + $(gpg --decrypt ${gpg_options-} "$tool"/var/sec/openpgp/"$uid".pass.gpg) + EOF + done + } rule_mysql_backup () { mkdir -p "$tool"/var/backup/mysql - rule ssh -l root ' - for db in $(sudo -u mysql mysql -u mysql --skip-column-names <<-EOF + rule ssh -l backup ' + for db in $(sudo -u backup mysql -u backup --skip-column-names <<-EOF SELECT schema_name FROM information_schema.schemata WHERE schema_name NOT IN ("information_schema", "performance_schema"); -- 2.20.1