From 26f289aba710c5dbd3264f54abb37e9ef4f204da Mon Sep 17 00:00:00 2001 From: Ylian Saint-Hilaire Date: Fri, 4 Jun 2021 12:46:41 -0700 Subject: [PATCH] Tools not allowed to connect when account twas notools site rights, #2726 --- agents/MeshCentralRouter.exe | Bin 3329176 -> 3329688 bytes webserver.js | 66 +++++++++++++++++++++++++++-------- 2 files changed, 51 insertions(+), 15 deletions(-) diff --git a/agents/MeshCentralRouter.exe b/agents/MeshCentralRouter.exe index 9ee18d0b029a8503fb84318fc81e9ec0dd51964c..0f1de28894151689be51c9f0ad9c38e2f1c9f66f 100644 GIT binary patch delta 80626 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ᴨ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 MlOV delta 80287 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 diff --git a/webserver.js b/webserver.js index cc1672ec..0462e9de 100644 --- a/webserver.js +++ b/webserver.js @@ -86,22 +86,42 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) { obj.renderLanguages = []; // Mesh Rights - const MESHRIGHT_EDITMESH = 1; - const MESHRIGHT_MANAGEUSERS = 2; - const MESHRIGHT_MANAGECOMPUTERS = 4; - const MESHRIGHT_REMOTECONTROL = 8; - const MESHRIGHT_AGENTCONSOLE = 16; - const MESHRIGHT_SERVERFILES = 32; - const MESHRIGHT_WAKEDEVICE = 64; - const MESHRIGHT_SETNOTES = 128; + const MESHRIGHT_EDITMESH = 0x00000001; + const MESHRIGHT_MANAGEUSERS = 0x00000002; + const MESHRIGHT_MANAGECOMPUTERS = 0x00000004; + const MESHRIGHT_REMOTECONTROL = 0x00000008; + const MESHRIGHT_AGENTCONSOLE = 0x00000010; + const MESHRIGHT_SERVERFILES = 0x00000020; + const MESHRIGHT_WAKEDEVICE = 0x00000040; + const MESHRIGHT_SETNOTES = 0x00000080; + const MESHRIGHT_REMOTEVIEWONLY = 0x00000100; + const MESHRIGHT_NOTERMINAL = 0x00000200; + const MESHRIGHT_NOFILES = 0x00000400; + const MESHRIGHT_NOAMT = 0x00000800; + const MESHRIGHT_DESKLIMITEDINPUT = 0x00001000; + const MESHRIGHT_LIMITEVENTS = 0x00002000; + const MESHRIGHT_CHATNOTIFY = 0x00004000; + const MESHRIGHT_UNINSTALL = 0x00008000; + const MESHRIGHT_NODESKTOP = 0x00010000; + const MESHRIGHT_REMOTECOMMAND = 0x00020000; + const MESHRIGHT_RESETOFF = 0x00040000; + const MESHRIGHT_GUESTSHARING = 0x00080000; + const MESHRIGHT_ADMIN = 0xFFFFFFFF; - // Site rights - const SITERIGHT_SERVERBACKUP = 1; - const SITERIGHT_MANAGEUSERS = 2; - const SITERIGHT_SERVERRESTORE = 4; - const SITERIGHT_FILEACCESS = 8; - const SITERIGHT_SERVERUPDATE = 16; - const SITERIGHT_LOCKED = 32; + // Site rights + const SITERIGHT_SERVERBACKUP = 0x00000001; + const SITERIGHT_MANAGEUSERS = 0x00000002; + const SITERIGHT_SERVERRESTORE = 0x00000004; + const SITERIGHT_FILEACCESS = 0x00000008; + const SITERIGHT_SERVERUPDATE = 0x00000010; + const SITERIGHT_LOCKED = 0x00000020; + const SITERIGHT_NONEWGROUPS = 0x00000040; + const SITERIGHT_NOMESHCMD = 0x00000080; + const SITERIGHT_USERGROUPS = 0x00000100; + const SITERIGHT_RECORDINGS = 0x00000200; + const SITERIGHT_LOCKSETTINGS = 0x00000400; + const SITERIGHT_ALLEVENTS = 0x00000800; + const SITERIGHT_ADMIN = 0xFFFFFFFF; // Setup SSPI authentication if needed if ((obj.parent.platform == 'win32') && (obj.args.nousers != true) && (obj.parent.config != null) && (obj.parent.config.domains != null)) { @@ -6233,6 +6253,14 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) { // A user/pass is provided in URL arguments obj.authenticate(req.query.user, req.query.pass, domain, function (err, userid, passhint, loginOptions) { + // Check if user as the "notools" site right. If so, deny this connection as tools are not allowed to connect. + if ((user.siteadmin != 0xFFFFFFFF) && (user.siteadmin & SITERIGHT_NOMESHCMD)) { + // No tools allowed, close the websocket connection + parent.debug('web', 'ERR: Websocket no tools allowed'); + try { ws.send(JSON.stringify({ action: 'close', cause: 'notools', msg: 'notools' })); ws.close(); } catch (e) { } + return; + } + // See if we support two-factor trusted cookies var twoFactorCookieDays = 30; if (typeof domain.twofactorcookiedurationdays == 'number') { twoFactorCookieDays = domain.twofactorcookiedurationdays; } @@ -6349,6 +6377,14 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) { obj.authenticate(s[0], s[1], domain, function (err, userid, passhint, loginOptions) { var user = obj.users[userid]; if ((err == null) && (user)) { + // Check if user as the "notools" site right. If so, deny this connection as tools are not allowed to connect. + if ((user.siteadmin != 0xFFFFFFFF) && (user.siteadmin & SITERIGHT_NOMESHCMD)) { + // No tools allowed, close the websocket connection + parent.debug('web', 'ERR: Websocket no tools allowed'); + try { ws.send(JSON.stringify({ action: 'close', cause: 'notools', msg: 'notools' })); ws.close(); } catch (e) { } + return; + } + // Check if a 2nd factor is needed if (checkUserOneTimePasswordRequired(domain, user, req, loginOptions) == true) {