nauphone / ServerAccess

A tool to provide easy and seamless access to multiple servers via SSH
GNU General Public License v2.0
18 stars 3 forks source link

Logging to the external syslog #33

Open gvfnix opened 11 years ago

gvfnix commented 11 years ago

There is a security issue: we cannot see, who used the access data. So we need to log each case of accounts usage to some external syslog to determine the person who made this or that action on the server.

ahitrin commented 11 years ago

Currently, logging is being performed using standard Log4J library. All logs are stored locally, on the user's machine.

On the one hand, Log4J allows to use Syslog directly, via Syslog Appender class. All you need to start logging is just to setup log4j.appender.file property in log4j.property file (well, maybe you also need some additional configuration on the syslog's side). And since that syslog can deliver logging info somewhere you need. But, on the other hand, a malicious user can easily change appenders setup, so you can not know about his connection actions.

Also, Windows users have no syslog, AFAIK. Hence, I suggest that "log4j -> syslog" solution is neither cross-platform, nor really secure.

Maybe, you want to have some built-in "spy" module that can deliver messages directly to some listening server? Such solution can be cross-platform and, possibly, more reliable (in terms of message delivery) than the first one. But I'm afraid it is not suitable for persons (including myself) who use standalone installations of ServerAccess (no server, just local config).

TL; DR

I cannot imagine yet how to implement such feature. Do you have any ideas?

ahitrin commented 11 years ago

We can extend accounts file that users take from the server. And define remote logging options there.