summaryrefslogtreecommitdiff
path: root/doc/TODO
blob: e1e90f0ec84994a02ff060e4fe81250f6ec43a43 (plain)
  1. Next-Steps Monkeysphere Projects:
  2. ---------------------------------
  3. Detail advantages of monkeysphere: detail the race conditions in ssh,
  4. and how the monkeysphere can help you reduce these threat vectors:
  5. threat model reduction diagrams.
  6. Determine how openssh handles multiple processes writing to
  7. known_hosts/authorized_keys files (lockfile, atomic appends?)
  8. Handle unverified monkeysphere hosts in such a way that they're not
  9. always removed from known_hosts file. Ask user to lsign the host
  10. key?
  11. Handle multiple hostnames (multiple user IDs?) when generating host
  12. keys with gen-key.
  13. Work out the details (and describe a full use case) for assigning a
  14. REVOKER during monkeysphere-server gen_key -- how is this set? How
  15. do we export it so it's available when a second-party revocation is
  16. needed?
  17. Actually enable server hostkey publication.
  18. Streamline host key generation, publication, verification. See
  19. doc/george/host-key-publication for what dkg went through on
  20. 2008-06-19
  21. Ensure that authorized_user_ids are under as tight control as ssh
  22. expects from authorized_keys: we don't want monkeysphere to be a
  23. weak link in the filesystem.
  24. What happens when a user account has no corresponding
  25. /etc/monkeysphere/authorized_user_ids/$USER file? What gets placed
  26. in /var/cache/monkeysphere/authorized_keys/$USER? It looks
  27. currently untouched, which could mean bad things for such a user.
  28. - if authorized_user_ids is empty, then the user's authorized_keys
  29. file will be also, unless the user-controlled authorized_keys file
  30. is added. I believe this is expected, correct behavior.
  31. Consider the default permissions for
  32. /var/cache/monkeysphere/authorized_keys/* (and indeed the whole
  33. directory path leading up to that)
  34. As an administrator, how do i reverse the effect of a
  35. "monkeysphere-server trust-keys" that i later decide i should not
  36. have run?
  37. Make sure alternate ports are handled for known_hosts.
  38. Script to import private key into ssh agent.
  39. Provide a friendly interactive UI for marginal or failing client-side
  40. hostkey verifications. Handle the common cases smoothly, and
  41. provide good debugging info for the unusual cases.
  42. Make sure onak properly escapes user IDs with colons in them.
  43. Build a decent, presentable web site for documentation, evangelism,
  44. etc. Include a mention of how to report trouble or concerns.
  45. Create ssh2openpgp or convert to full-fledged keytrans.
  46. Resolve the bugs listed in openpgp2ssh(1):BUGS.
  47. Understand and document alternate trustdb models.
  48. Understand and document the output of gpg --check-trustdb:
  49. gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
  50. gpg: depth: 0 valid: 2 signed: 20 trust: 0-, 0q, 0n, 0m, 0f, 2u
  51. gpg: depth: 1 valid: 20 signed: 67 trust: 15-, 0q, 1n, 3m, 1f, 0u
  52. gpg: next trustdb check due at 2008-10-09
  53. Understand and document the numeric values between sig! and the keyid
  54. in "gpg --check-sigs $KEYID" . Compare with the details found from
  55. "gpg --with-colons --check-sigs $KEYID". This has to do with trust
  56. signatures.
  57. Fix gpg's documentation to clarify the difference between validity and
  58. ownertrust. Include better documentation for trust signatures.
  59. Make it easier to do domain-relative ssh host trust signatures with
  60. gnupg. (e.g. "i trust Jamie McClelland (keyID 76CC057D) to properly
  61. identify ssh servers in the mayfirst.org domain") See:
  62. http://tools.ietf.org/html/rfc4880#section-5.2.3.21 and grep for
  63. "tsign" in gpg(1).
  64. Fix the order of questions when user does a tsign in gpg or gpg2.
  65. File bug against ssh-keygen about how "-R" option removes comments
  66. from known_hosts file.
  67. File bug against ssh-keygen to see if we can get it to write to hash a
  68. known_hosts file to/from stdout/stdin.
  69. Add environment variables sections to man pages.
  70. Environment variable scoping.
  71. Move environment variable precedence before conf file.
  72. When using ssh-proxycommand, if only host keys found are expired or
  73. revoked, then output loud warning with prompt, or fail hard.
  74. Update monkeysphere-ssh-proxycommand man page with new keyserver
  75. checking policy info.
  76. Update monkeysphere-ssh-proxycommand man page with info about
  77. no-connect option.
  78. File bug against seahorse about how, when creating new primary keys,
  79. it presents option for "RSA (sign only)" but then creates an "esca"
  80. key.
  81. File bug against enigmail about lack of ability to create subkeys.
  82. Privilege separation: monkeysphere user to handle authn keyring and
  83. generate authorized_keys file (which would be moved into place by
  84. root). Host keyring would be owned by root.
  85. Check permissions of authorized_user_ids file to be writable only by
  86. user and root (same as authorized_keys)
  87. Improve function that sets owner trust for keys in server keychain.
  88. Test and document what happens when any filesystem that the
  89. monkeysphere-server relies on and modifies (/tmp, /etc, and /var?)
  90. fills up.
  91. Consider moving monkeysphere-managed files (gpg homedirs? temporary
  92. files?) into /var.
  93. Optimize keyserver access, particularly on monkeysphere-server
  94. update-users -- is there a way to query the keyserver all in a
  95. chunk?