re-worked documentation and raised issues in TODO about end user authentication.
[monkeysphere.git] / doc / TODO
index bf51ae0c8cdba2b40f09464e6ea68ce41d6c38f5..5cd9be9cb8784521e652237e484e53fe7376a399 100644 (file)
--- a/doc/TODO
+++ b/doc/TODO
@@ -3,20 +3,65 @@ Next-Steps Monkeysphere Projects:
 
 Detail advantages of monkeysphere: detail the race conditions in ssh,
    and how the monkeysphere can help you reduce these threat vectors:
-   threat model reduction diagrams 
+   threat model reduction diagrams.
 
 Determine how openssh handles multiple processes writing to
-   known_hosts file (atomic appends?)
+   known_hosts/authorized_keys files (lockfile, atomic appends?)
 
-Handle unknown hosts in such a way that they're not always removed
-   from known_hosts file.  Ask user to lsign the host key?
+Handle unverified monkeysphere hosts in such a way that they're not
+   always removed from known_hosts file.  Ask user to lsign the host
+   key?
 
-Handle multiple multiple hostnames (multiple user IDs?) when
-   generating host keys with gen-key.
+Handle multiple hostnames (multiple user IDs?) when generating host
+   keys with gen-key.
 
-Make sure alternate ports are handled for known_hosts.
+Work out the details (and describe a full use case) for assigning a
+   REVOKER during monkeysphere-server gen_key -- how is this set?  How
+   do we export it so it's available when a second-party revocation is
+   needed?
 
-Add environment variables sections to man pages.
+Actually enable server hostkey publication.
+
+Streamline host key generation, publication, verification.  See
+   doc/george/host-key-publication for what dkg went through on
+   2008-06-19
+
+Streamline authorized_user_ids setup (including question of where
+   authorized_user_ids files should go).  See
+   doc/george/user-id-configuration for what dkg went through on
+   2008-06-19
+
+Ensure that authorized_user_ids are under as tight control as ssh
+   expects from authorized_keys: we don't want monkeysphere to be a
+   weak link in the filesystem.
+
+What happens when there are no entries in the authorized_user_ids file
+   for a user?  /var/cache/monkeysphere/authorized_keys/$USER.tmp
+   seems like it gets created and then left there.
+
+What happens when a user account has no corresponding
+   /etc/monkeysphere/authorized_user_ids/$USER file?  What gets placed
+   in /var/cache/monkeysphere/authorized_keys/$USER?  It looks
+   currently untouched, which could mean bad things for such a user.
+
+Consider the default permissions for
+   /var/cache/monkeysphere/authorized_keys/* (and indeed the whole
+   directory path leading up to that)
+
+What should happen when an admin does 
+   "monkeysphere-server update-users not_an_existent_user"?
+   currently, it adds
+   /etc/monkeysphere/authorized_user_ids/not_an_existent_user, which
+   seems rather wrong.
+
+is /var/cache/monkeysphere/authorized_keys/$USER.tmp guaranteed to
+   avoid collisions?  Why not use a real mktemp file?
+
+As an administrator, how do i reverse the effect of a
+   "monkeysphere-server trust-keys" that i later decide i should not
+   have run?
+
+Make sure alternate ports are handled for known_hosts.
 
 Script to import private key into ssh agent.
 
@@ -56,3 +101,24 @@ Make it easier to do domain-relative ssh host trust signatures with
    "tsign" in gpg(1).
 
 Fix the order of questions when user does a tsign in gpg or gpg2.
+
+File bug against ssh-keygen about how "-R" option removes comments
+   from known_hosts file.
+
+File bug against ssh-keygen to see if we can get it to write to hash a
+   known_hosts file to/from stdout/stdin.
+
+Add environment variables sections to man pages.
+
+Environment variable scoping.
+
+Move environment variable precedence before conf file.
+
+When using ssh-proxycommand, if only host keys found are expired or
+   revoked, then output loud warning with prompt, or fail hard.
+
+Update monkeysphere-ssh-proxycommand man page with new keyserver
+   checking policy info.
+
+Update monkeysphere-ssh-proxycommand man page with info about
+   no-connect option.