[DGD] Big brother
Josh Dady
jpd at indecisive.com
Fri Oct 5 16:54:36 CEST 2007
I think my thoughts on security are that complex systems tend to be
harder to secure (and therefore easier to break) than simple ones.
Keeping the logs external to the MUD and using a standard logrotate-
type tool to expire them seems like it would work, but you'll have to
deal with a few interesting issues there:
- I wouldn't want to assume that the watchdog that keeps the process
on the other end of the named pipe works. What happens if there's
no one reading from the fifo when you write to it? Does DGD wedge?
(I've never tested this) If it doesn't, what do you do then?
- How is the data ultimately stored? One way or another, you'd have
to separate it by user and possibly log-level (i.e., the full text
on the user's connection would be a higher level than just their
commands, and would theoretically be harder to justify getting
access to) -- that means you need some sort of protocol (or N+1
fifos, where N is the number of log streams that exist).
- Physical security. Sure, breaking into the host account is
often a lot harder than breaking the in-game security controls,
but it happens. The more data you store, the more is available
to steal when someone gets in (or your trust in someone is proven
wrong by their actions).
Determining whether I made things more complex or less complex when I
added an additional password hash in the user's data file so that a
modified mod_auth_digest can verify creator passwords is left as an
exercise for the reader. ;) (It's also used as a flag -- if someone
doesn't have the second password hash, which is the default state,
they haven't enabled access to that feature for their account.)
--
Joshua P. Dady
More information about the DGD
mailing list