webssh2 icon indicating copy to clipboard operation
webssh2 copied to clipboard

feat: consistent logs

Open billchurch opened this issue 2 years ago • 5 comments

logging is somewhat inconsistent throughout the code, working to make things more consistent

billchurch avatar May 18 '22 19:05 billchurch

log messages to be prefixed with:

WebSSH2 (<express session id>/<socket.io session id>) (<type>): <message>

Example:

WebSSH2 (48C6PpHh4efNC2nK9S8BhM8xA8tGLTq8/ZN5nZc2gsZEBQTVFAAAF) AUDIT: LOGIN user=root from=127.0.0.1 host=192.168.0.1:22

billchurch avatar May 18 '22 19:05 billchurch

Debug messages planned to follow similar format

  WebSSH2 (DUN2aRdg2k7zLWMrQfPR3iWs3sNOVWZI/dAnsjbLTgOakVC2UAAAB) SOCKET DISCONNECTING: server namespace disconnect +0ms
  WebSSH2 (DUN2aRdg2k7zLWMrQfPR3iWs3sNOVWZI/dAnsjbLTgOakVC2UAAAB) CONN END BY HOST +0ms
  WebSSH2 (DUN2aRdg2k7zLWMrQfPR3iWs3sNOVWZI/dAnsjbLTgOakVC2UAAAB) CONN CLOSE +0ms

billchurch avatar May 18 '22 20:05 billchurch

reworked client js to generate reauth control message to signify termination in order to support a "LOGOUT" log event.

Client: https://github.com/billchurch/webssh2/blob/50cfcb97788cbd3409b4605adceef3d47e370e38/app/client/src/js/index.ts#L63-L68

Server: https://github.com/billchurch/webssh2/blob/50cfcb97788cbd3409b4605adceef3d47e370e38/app/server/socket.js#L172-L184

billchurch avatar May 19 '22 01:05 billchurch

Addition of login variable to track the state of the users login. Mostly to prevent multiple LOGOUT log entries as a "logout" can come from different events depending on how the session is terminated.

https://github.com/billchurch/webssh2/blob/78dafebb2b1ba8b7a15ed57d615ef635384e2cf3/app/server/socket.js#L77

https://github.com/billchurch/webssh2/blob/78dafebb2b1ba8b7a15ed57d615ef635384e2cf3/app/server/socket.js#L84-L92

https://github.com/billchurch/webssh2/blob/78dafebb2b1ba8b7a15ed57d615ef635384e2cf3/app/server/socket.js#L116-L125

https://github.com/billchurch/webssh2/blob/78dafebb2b1ba8b7a15ed57d615ef635384e2cf3/app/server/socket.js#L169-L177

https://github.com/billchurch/webssh2/blob/78dafebb2b1ba8b7a15ed57d615ef635384e2cf3/app/server/socket.js#L190-L203

billchurch avatar May 19 '22 01:05 billchurch

While, I have the logging "consistent" for the messages that are output. It's maybe not industry standard of any sort.

Feedback welcome for the format... For reference: https://www.graylog.org/post/log-formats-a-complete-guide

billchurch avatar May 20 '22 16:05 billchurch